2009年12月アーカイブ

みなさま、こんにちは。本日は大掃除をしている訳です。このところスクリプトがらみをさぼっていますが、けしてネタが無いと言う訳ではありませんよw
といいつつ、今年最後のエントリとなる今回もiKeeがらみの情報です。新年は早い段階でQRコード関連を書こうと思うのですが資料が膨大で整理が行き届きません。暫くお待ち下さいね。本日はアシュリー君のコードをベースにした亜種についてリポートがあったので少し紹介してみようと思うんだ。これは11月25日に発見されたiKee.Bと呼ばれるバージョンの物のリポートなんだね。ヨーロッパの幾つかの国をターゲットにリトアニアのサーバを介してbotnetを形成しているようだね。リバースエンジニアリングで解析されているみたいだけど、元ネタはやはりアシュリー君の件のコードが基となっているらしいんだ。
ここへ来てサーバベースのbotnetが形成され始めているという事みたいだね。

さて、俗にいうiKee wormがリリースされてから1ヵ月半ほど経過しました。googleコード掲載後、すぐににコードが削除されて皆さん血眼になって探していたものですが、最近、かなりのサイトでコードを確認出来るようになって来た訳です。
それにつれて日本でもSoftBankのIPレンジをスキャンするwormが広がっているみたいだね。
まあ、わたし自身もタウンズ君が実証コードって言っているコードの断片は確認していた訳ですが、肝心な所をチェックしたのはついこの間のな訳です。
先のインタビューの流れを念頭にコードを見ていくと彼の言動に納得出来るかなって思ってしまう部分も無いではないですが、彼自身はその後、結構酷い目にあってしまっているようですwww
よくよくコード自体をチェックしてみるとミスタイプと思われる部分も数カ所見受けられるので、彼がJDに渡したコードはファイナルリリースではないのかもしれないね。
わたしがチェックしたのはおそらくバージョンCのブツだと思われるのですが、コード自体は単純です。おそらく悪意は無かったというのも本当のことなんでしょう。今の彼の状況を思うとちょいと可哀想な気もしますが、コード云々よりもこの抜け穴を世に広めてしまったのが彼の罪なのかもしれないね。
コード自体は脆弱性をつくというよりは、ざる並のセキュリティの個体を探して感染するということなので対処は比較的簡単なのですが、わたしならこのコードにブルートフォースや辞書攻撃を組み込むね。
ブルートフォースとかってコード的には単純な力技な訳で、こういった定番的な攻撃が存在するので本当はsshのrootログインを許しちゃいけないんだよね。更に言うと短いパスワードは簡単に破られたりするから注意が必要なんだ。本当はsshd稼働させるのなら公開鍵方式の認証を利用したい所なんだけどね。もしくはIDCでillegalなパケットをたたき落せる仕組みとかあれば良いんだけどね。てな感じで色々足していくと常駐デーモンが山ほど増えてしまいそうだねwww
と、書きなぐっているのだけど今回は全コードの掲載はありませんよ。モノがモノだけにねw手元にも残しては無いですから。12月頭頃はコード探している方々が良くいらっしゃいましたけど、実際にもう少し捻った検索ワードで簡単に見つかったりします。
単純所持も含まれる不正指令電磁的記録作成等の法案は成立してませんが、ソースをコンパイルして放流もしくは流出させた場合、電子計算機損壊等業務妨害罪等の適用も考えられます。この場合、5年以下の懲役又は100万以下の罰金に処せられる事も。コードをお探しの方々はそういったリスクの存在にもご注意下さいね。
まあ、影響の無さそうな部分だけでも見てみましょうかね。

  ・
  ・
  ・
    //char ipRange[256] = "120.16.0.0-120.23.255.255";
    char *locRanges = getAddrRange();
    char *lanRanges = "192.168.0.0-192.168.255.255"; // #172.16.0.0-172.31.255.255 Ehh who uses it
    char *vodRanges1 = "202.81.64.0-202.81.79.255";
    char *vodRanges2 = "23.98.128.0-123.98.143.255";
  ・
  ・
  ・

IPレンジのコーディング部分の抜粋なのだけど、同一ローカルアドレスのレンジをまずスキャンするようになっているんだ。パブリックなAPとかはWifi経由での感染もあると言う訳だね。
インタビューではIPレンジは20と言っていた訳だけど、わたしが確認したコードでは10個だったからこのリビジョンは最新のものではないのか、バージョンDのみ20になっているのかもしれないね。
vodRanges2のIPレンジは「123.98.128.0-123.98.143.255」が正しいので、恐らくミスだね。この部分がこのままコード化されると膨大なレンジをスキャンするので、実際にコンパイルしたソースは訂正されていると思われるんだ。
次は infectHostルーチンの後半にあるコメントアウト部分。ikeeが言っていたように続く作業の為に端末の再起動とかの処理を模索していた部分がそのまま残されているんだね。

           //printf("¥n¥r - Program set to startup on boot");
            //prunCommand("reboot", host)
            //printf("¥n¥r - Rebooting phone!");
            //CopyFile("ngtgyu.m4r", "/var/mobile/ngtgyu.m4r", host);
            //printf("¥n¥r - Ringtone set (ngtgyu.m4r).");

コードについてはこれ位にするのだけど、コード自体は結構荒削りな感じがするね。現在出回っているヤツはこれをベースにしているらしいけどね。
ともあれ、JailBreakerの方々はこんな状態ですのでsshdがらみの対応はしっかりとやって下さい。worm自体は主に3G回線から紛れ込むのでJailBreak作業中は機内モードにしておいた方が良いかも知れませんね。
iPhoneの場合、Web閲覧でIPとUAとかも記録されるので、ほいほい用サーバ用意してそこからクラッキングかけるって手法も考えられるんだよね。レンジスキャンよりよほど効率は良いだろうね。
それから、wormとは別にpublic APでセキュリティ対応の無いJailBreakしたiPhoneを検索するツールも出回っていますのでね。
いろいろと書き連ねましたが、セキュリティは過剰な位で丁度良い...って感じだとおもうんだ。

なかなか新しいネタに入れずに日々の仕事を右往左往しながらこなしている状態です。
話は全く関係ないのですが、たまに入って来るTexのデータに振り回されてあっぷあっぷしているのです。どうにかならないものだろうか?まあ、数式並べると奇麗ではあるのだけど、自身でコーディングしたソースは自ら訂正して頂ければ幸いなのですが...てか、環境合わせるのに一苦労と言うよりは苦痛ですね。今時は仮想環境とか使えるから、かなりましにはなったのだけど、先生によっては10年ほど前に流行ってた?パッケージとか使っているので合わせると言うよりは後発の新しいパッケージに合わせてソースの改変が必要だったりするケースもちらほらと。まあ、古いパッケージが入手できれば問題ない話ではあるのだけどね。こんな時はお客様と相談なのだけど、面倒臭がるお客様が多くってねぇ、PDFに合わせてくれたら良いからまかせるよってw
Texって派生品が多いし、パッケージも結構色々配られているので中々合わせるの大変です。
まあ、ここには関係ない話はこれ位にして、本題に戻りますね。このExtendScriptっていうのもなかなか使えるようでいて、かゆい所に手が届かない状態の部分も多い訳です。そういう貴兄のためにAdobeさんはExternalObjectという仕組みを用意してくれている訳なんだね。そう、文句を垂れるのなら自ずから機能拡張しやがれって言う事ですね。
しかし、このExternalObjectってびっくりする位情報が無いんだ。まあ、わたしも役に立つものは作ってはいないのだけどね。検索かけてもヒットしないって言うのも寂しいものなのでExtendScriptで使える外部ライブラリについてちょろっとやってみようと思うんだ。

え〜以前ちらっと書いたのだけど、このところ添付ファイルの処理についてこちょこちょやっているわけです。mailにデータを添付するには必須のbase64エンコーディングなのだけど、内容的にはすごくシンプルで、3キャラクタ分の8byteコードを並べて24bitにして、それを6bitづつに切り分けた上で特定のキャラクタに当てはめてしまえば良いわけだね。
これ自体は何の問題もないのだけど、実際にコードを走らせてみると...パフォーマンスが全然でない。色々とコードを書き換えてテストするのだけど、いまいち芳しくない訳です。と言う訳で今回はこの辺の考察をやってみたいと思うんだ。

このアーカイブについて

このページには、2009年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年11月です。

次のアーカイブは2010年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 5.12

    follow? twitter...     
    available on exchange