今年の8~9月に攻撃を食らいサーバーに仕込まれたウイルスを研究中。なんとなくですが仕組みを理解してる最中です。(こういう分野は詳しくないので、雑文に近いです)
このページを書くきっかけ
言うまでもなく、ウイルス感染がきっかけ。
「もう二度とウイルス感染しないようにしよう」というか、「転んでもタダじゃ起きないぞ」精神と云うか、純粋に興味が沸いてきた、と云うか・・・動機は一杯ある。
せっかく「Web上に仕込まれた状態のウイルス」を生の状態で捕獲でてきたので、ソイツを自分の分かる範囲で解析して、今後のセキュリティに役立てようと色々お勉強。
調べてみて驚愕。
サーバーに仕掛けられたウイルスのphpコードを読んでみてビックリ。
プログラミングの事をよく分かっていないドシロウトに侵入されちゃってたみたい。
(configファイルがデフォルトのまま。URL踏んでも脆弱性は攻撃されるが、感染しない。)
こーゆー低レベルな人間でもハッキングできちゃうような情報が、アングラな世界では飛び交っているんでしょうなあ。・・・恐ろしい事です('Α`)
捕獲したウイルス
10月にメインPCに感染したウイルスではなく、
8 月にサーバーに侵入を許してしまった際に仕掛けられたウイルスが研究対象。
▲仕掛けられたウイルス(トロイ)こんな感じ。
バックドアを通じてWebサイト内に仕掛けられたモノ。
幸か不幸か、野生のウイルスGET。
危険性の少ないウイルスを、普通アクセスできないような深い階層に仕込まれたのは「不幸中の幸い」でした。あと、以下で書いていますが、感染の危険性はゼロでした。
感染の危険性がゼロだったとは云え、バックドアが開いていると、こんなファイルをガバっとWebサイト上にアップロードされちゃいます。攻撃者の悪意やスキル次第で、凶悪なウイルスを仕込まれる可能性があります。。。orz
分かる範囲で中身を読み解いています
入手したファイル群は、[index.php]とか[load_module.php]とか[config.php]とか[include/browser.php]とか、ファイル名が「身が体をなしている形」なので中身を理解しやすいです。
phpもビックリする位キレイなソースで書かれていて、結構読み取れます。
ウイルスをPCに感染させる基本部分はphpでプログラミングされ、JAVAやFlashのバージョンを取得し、条件分岐で不正コードを選択し、PCの脆弱性を突くように仕組まれていました。(その後、不正なURLへアクセスする為のiframeが差し込まれるようになっています。)
余談だけど私は今まで、Javascriptでクロスサイトスクリプティングする方法が解らなかった。でもこのコードのお陰でヒントが見えてきた。
ウイルスには[config.php]という設定ファイルも存在
つまりウイルス作動の基本設定を行えるファイル。
▲クリックで拡大
設定ファイルの一部(というか全部?)が、初期値のまま手が加えられていなかった。
つまり、このままじゃウイルス発動しない。侵入者アホだ。素人だ。
・・・いや、こういうアホでもサーバーの脆弱性を突破し、ウイルスを仕込む事が出来ちゃうのだ。アホは私だ('Α`)
そして、アホでもウイルスを仕込む事が出来る情報が、ネット上の何処かに存在しているという事になるのだろう・・・。恐ろしい。
ザクっと読み取った結果
大した知識も無いので、phpもjsも1~2割しか意味を理解出来ないのが悲しいですが、実際にこういうファイルを入手できると、ウイルスがPCに感染する仕組みが分かり興味深いです。今後のローカルPC、およびサーバーのセキュリティ対策、両方のお勉強になります。
ウイルスをサイトに設置する場合、
[セキュリティの脆弱性を攻撃する部分]
[脆弱性を突いて出来た穴を通り抜ける部分]
[セキュリティーホールを通じてウイルスを送り込む部分]
[実際に感染するファイル本体]
[送り込んだファイルを実行する部分]
に分かれている。
ブラウザで閲覧すると
1. 最初にjava/Flash/Acrobatの脆弱性を探す。
(以下Javaに脆弱性があった場合)
2. 特権昇格で感染PCの管理者権限を奪い
3. javaアプレットが書き換えられ
4. Java経由でウィルスファイルが自動的にダウンロード・実行される
という順序で感染する。
ネット上の以下の情報の意味が分かるようになった
これらのファイルの理解を深める為に、以下二つの情報がすごく役に立った
トレンドマイクロの記事は2008年12月のモノだけど、当時からクラウド化を目指している話が出ていたり、ページ後半では、今回私が食らったウィルスと全く同じの挙動をするタイプのウイルスのお話が解説されていたり、非常に面白い。
上記リンク内で話題に上がる「エクスプロイト」「ドロッパー」「ペイロード」「配信エンジン」、これらの仕組みなどがなんとなくわかった。
今までは「*.exe叩いて感染しちゃうウイルスは別として、それ以外のウイルスってどうやって侵入してくるの?」と不思議だった部分が、色々と分かってきました。
自分にもっと知識があれば、このブログに新カテゴリを作ってもっと詳しく掘り下げて行きたい。けれど・・・今の私には荷が重い・・・。
IT情報系の学校とか通ってたら、こういうの教えて貰えるんだろうか。
最近日本にも出来たっていうハッカー学校とかでは、教えてもらえるんだろうか。
理解できる部分だけ(ほんの少しだけど)解読してても、なかなか興味深いです。
サイト内関連ページ
メインPCがウイルスに感染
1・・・こんな風になりました
2・・・感染直後からのPCの状況を時系列で紹介
3・・・TROJ FAKEAV系に感染した場合の対処方法
4・・・(追記)しばらく経ってから発見したチェックポイントなど
5・・・【反省会】ウイルス感染を未然に防ぐ方法の考察
6・・・偽ツール系のウイルスはアフィリエイトだった・・・('Α`)
7・・・ウイルスの仕組みを理解してみる(やや雑文) (このページ)
8・・・重要: Windowsがウイルス感染した後の手動&目視チェック項目まとめ