最終更新時刻:2009年11月24日(火) 8時31分
403

「ブラッディ・マンデイ」を考察する

公開日時:
2008/10/12 12:51
著者:
isidai

追記(10/13 16:52) 

 すみません。色々反響があったので追記しておきます。羅列ってことで。 

 この記事の内容はほぼネタバレですのでこれから読まれる方はご注意下さい。HP2133はVistaですね。HP2133はどんなにカスタムしてもそこら辺のサーバーと「比べ物にならないくらい」高いってわけでは無いと思います。中高生のみなさん,Pythonを勉強してもクラックするには別途知識が必要です。 Pythonスクリプトの中身は実質無意味な動きばかりでしたが,たまにポートの指定やオーバーフローを起こす為の計算式が登場しました。日景先生のPCをリモート操作する時のvncviewerを実行したとき時間が表示されましたが結構朝方でした。たしか3時か4時くらい。時計がズレている・時差がある・JST+09:00のタイムゾーンに設定されていないなど色々あるかもです。いや実際は単に画面の撮影を朝方にやってしまっただけだと思いますが。あとLinuxでls打ったのにWindowsのdirのような結果が表示されるのはpyshの中で行った操作なので正常な表示です。変ではありません。

 (また,本記事を無断転載されたブログが存在しますが本記事及びisidaiとは一切関係ありません。 )

 技術アドバイザーは市川さんという方みたいです。詳細はコチラ  技術監修はサイバーディフェンス研究所のようです。 (10/15 1:07追記)

 それでは以下記事となります。 

 みなさんこんにちは。昨夜から放送が開始されたTBSドラマ「ブラッディ・マンデイ」をご覧になられた方も多いかと思います。同番組は見た目はごく普通の高校生が実は天才ハッカーで,警視庁の秘密部隊と協力しながら事件の全容を暴いていくという粗筋です。今回は番組中に登場するコマンドクラックシーンを考察してみようかと思います。

日景潔が実行したjpegファイル

 実に卑猥で変態な生物教師に「先生,お願いします。」という件名のメールが届いた。メールには写真を添付した旨が書かれており,添付ファイルには「お願いします。.jpg」(165KB)のファイルがありました。

  日景先生はこのファイルをニヤつきながら開きましたが,展開された画像は「バカが見る」という画像。しかしこのとき同時にVNCというリモート操作をするためのプログラムがバックグラウンドで動作を始めます。画面が変わり藤丸のターミナル画面が映し出されます。

 3つのウィンドウが確認でき,「Terminal」ウィンドウでは「falcon@ws2 [~] # dumpcap -i tap0 -w vnc.pcap」のコマンドを実行しています。二つ目のウィンドウでは「trojan1.asm + (~/Code) -VI」で実際に展開しているファイルは「mailto.py + trojan1.asm」1行目には「use32」の記述が見えます。この「mailto.py」は後にも登場するPythonスクリプトかと思います。

 そして,一番上にあるアクティブウィンドウには「falcon@ws2 # vncviewer 192.168.8.1」

 IPアドレス変だな〜と思ったらやはり後に「192.168.8.130」に入力し直しました。 学内ネットにVPNとかで入れるんでしょうか。きっと。

 VNCでは通常リモート操作されている場合でも操作ができなくなるということは無いと思うのですが,日景先生は操作が利かなくなったらしく慌ててキーボードを操作したり,液晶ディスプレイを叩いたりしています。ディスプレイ叩いても治らないと思うのですが…汗

 その後日景先生は放送で呼び出され席を立ちます。その直後藤丸の操作なく日景先生のコンピュータが動き出し,藤丸も「きたぁ」と発言。ここではVNCによる操作ではなくウィルスによるバックドアを開ける自動的な動作のようです。(ウィルスがコマンドプロンプトでipconfigする意味はよく分かりません…笑) 

 ちなみに少し後に出る澤北のTerminal画面は機密ファイルへのアクセスログのようですが,そこに記録されているIPアドレスも偶然なのか「192.168.8.130」です。 

休み時間の藤丸のクラック 

 休み時間にクラック用スクリプトを書いてクラックするみたいです。

 直後に実際に攻撃スクリプトを実行します。 この番組,相当Pythonが好きなようです(笑)藤丸のターミナルには「falcon@ws2 # nasm sc3.asm」と「falcon@ws2 # python -i atk3.py web25.boucka.ru 2323 -f sc3」で既存の脆弱性を狙いリモートアタック。見事にroot権限を取得し攻撃先に侵入しました。多分オーバーフローさせて参照先アドレスを攻撃者の任意のものに書き換えて,書き換えた参照先に攻撃者の任意のスクリプトを置いておけば成功する脆弱性なのかなーっと思います。

 ちなみに藤丸は侵入直後の「/var/www」ディレクトリで「ls -al」コマンドを発行しています。表示されるファイルは「.htpasswd」と「index.html」…。.htpasswdを公開ディレクトリに置いてあるし,.htaccessは無いし…よくわからないですね(笑)何の意図でしょうか。

 rootなのでシャドーパスワードを走査できますね。「brute_des」でパスワードを探している様子が伺えます。 

 内部からポートスキャンしたのが監視システムにバレたらしく,藤丸は焦って自分の実行させているコマンドをkillしようとします。ターミナルには

 「kill -9 $$」や「>>>connkill() Stopping...」のような画面が見えます。 killが成功したようですが,ログの改ざんなどはしっかりやったのでしょうか…汗

自宅での藤丸のクラック

 自宅でクラックを決行する藤丸。「ぽっかり穴が空いている」というそのポートは「31337」番ポート。31337番は他人のWindowsを乗っ取る「BackOrifice」というクラックツールがデフォルトで使うUDPポートですね。…ということは攻撃したいのはWindowsというわけですね。

 ここで登場する藤丸のターミナルには「sv281.boucka.ru port 25 ... Open. SMTP」や「sv281.boucka.ru port 80... Open. IIS」などが見えます。

 藤丸は次に「python」コマンドをうち,そのターミナル上で即席攻撃ツールを書いていきます。ちなみにPythonのバージョンは2.5.2で使っているOSはDebian(4.2.4-1)と表記されています。Debianだったことに個人的に感動(笑)

  [../Code]から「test_code」をimportしてクラックを行っています。多分休み時間に行った攻撃をスクリプトにしておいたのでしょう。あっという間にWindowsコンソールに入りました。流石Back Orificeですね。攻撃先はWindows2000です。個人的にWindows2000はカナリ好きです(笑)番組制作の技術スタッフと趣味合うかも…爆

 ここで藤丸がアクセスしたのは「C:\Documents and Settings\Sergei」と思いきや「cd \winnt」に行ったので結局「C:\WINNT\」に戻ってきました。 WINNTディレクトリをdirして藤丸は「やったぜ,あった!」と云います。いや,一番最初に見てもよさそうなのですが…(笑)気付くのちょっと遅い感じ。

  で,ロシア語のファイルを \inetpub\wwwroot\dataに移して,藤丸は別ターミナル画面からwgetでHTTPとしてファイルをダウンロードしています。1.93M/s程度の速度でダウンロードしていますね。ちなみに攻撃先の「sv281.boucka.ru」というサーバーですが実在しています。(Address: 208.67.216.132)

 番組中でアクセスした「sv281.boucka.ru」のIPアドレスとは異なっています。セッションの終了も予め書いておいたpythonスクリプトをimportして実行させた感じですね。 

 藤丸は翌朝までバイナリエディタで暗号化方式を探っていたようです……(笑) うまく画面が見えないのですが多分vim+xxdかと。

学校でのクラック 

  折原先生の部屋に呼び出された藤丸はその場でクラックをする…? 人の前でクラックするのはバカかと思いました。しかし折原先生の「私のプレゼントしたのじゃダメ?」に対して藤丸は「あー無線LANだと盗聴されてる恐れがある」と返します。確かに確かに(笑)WEPなんて使っていたら使っていないのと同然ですよね。

 ちなみにこの時点で藤丸は「暗号化キーで変換されている」と,鍵方式なことに気付いています。で,そのハッシュ値計算を分散コンピューティングで行っています。どうやって分散コンピューティングのネットワークを数時間の内に構築したかは不明ですがやり方としては適当かと(笑)

 その場で見事鍵を見つけデコードして動画ファイルを見てしまいます。揚げ句学校のネットからTHIRD-i本部に動画を送信しています。まーVPNとかscpとかSSHでフォワードするとか色々策はありますけどね…。 

電力会社へのクラック 

 藤丸はpythonスクリプトでポートチェックから始めました。 結局ここでも以前使ったmailto.pyスクリプトでウィルス付きメールを送信します。多分OEのファイルを開いてしまうバグを利用したものかと思います。ただ,何故メールは電力会社の営業部や広報部ではなく制御センターに直接届くのか,電力会社の制御センターなのにメールのゲートウェイにウィルス対策システムは導入されていないのかなど疑問が残りますね。それ以前に制御系のネットワークは外部と隔離され制御システムとしかつながっていないのが普通だと思います。実際にはありえない設定ですね。

 で,簡単にバックドアをアップロードして実行させ,管理者パスワードを盗み出します。Windowsのパスワードハッシュは簡単に破れますからね。汗汗 

 しかし制御系システムの管理者パスワードと制御室のWindowsのパスワードは同一だったのでしょうか…。 

 その後藤丸は「システムの周りにJailを組んでおいた」と発言します。Jailは元々BSD系だなーとか思いつつ。どういうJailになっているのかは不明ですが 一瞬出るコンソールには「/home/falcon/jail/lib」などが見えます。犯人がログインすると自動的にJailとして入って「/home/falcon/jail/ -> /」になるはずなので実システムにはアクセスできないという事ですねー。きっと。rootならjailやchrootを抜けられそうな気がしますが,そこはきっとセキュアOS機構が有効だったとか強制アクセスコントロールがあったとか言い訳が付きそうです。

豊洲フロンティアのカメラへのアクセス 

 最初にnmapでポートチェックしています。今回はpythonスクリプトじゃないですね。でも普通こんなに早く結果は出力されないのですが,結構一瞬でポートスキャンが終了します。httpが空いてるのに気付いたのは良いのですが,その次に「cadaver」コマンドでWebDAVにアクセスしていますね。カメラの映像データが何故一般のLANから直でWebDAV公開されているのか謎です。 

まとめ 

 ここまで書くのに結構疲れましたね…。ドラマなのでやはりあり得ない設定が多いのですが,使用環境は結構好きでした。今回のクラックの仕方は普通のドラマよりもレベルの高いものだったかと思います。実際のクラックに近い部分もありましたし。でもそれは脆弱性あっての話です。重要施設などは最新バージョンにしているとかもっとレベルの高いセキュリティなはず。もしかしたらオープンソースは使わず自社開発ってことも多いですよね・・・。でもこういう考察も楽しみながらやらせていただきました。それではっ。 

おまけ 

写真は僕の部屋のコンピュータ周りです。ちょうどTBSのマスコットキャラクターのぬいぐるみが部屋に居たので一緒に撮影。

 

 

 

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

15

記事を読ませていただきました。
僕はあまりソフトにもハードにも詳しくないのですが、今から少しずつ勉強しようと思っています。
そこで、もしよろしければ、バイソンの勉強に役立つような本などオススメがあったら教えていただきたいのですが・・・
よろしくお願いします。

  crow00secret on 2009/02/08

14

→grid_x5さん
grid_x5さんはセキュリティキャンプには参加できない年齢ですが,勉強は年齢やキャンプ参加に関係なくできるものですからお互い頑張っていけるといいですねっ。またコメントいただければと思います^^

  isidai on 2008/10/19

13

→chiffon-2さん
コメントありがとうございます。高校2年ですか^^ 是非セキュリティキャンプに参加してください!世界が広がりますよ〜。
メディアは視聴率を考えるとどうしても藤丸を正当化してカッコよく見せてしまうんですよね。ほら,アンパンマンだって正義を語って暴力行為をしてるじゃないですか〜っていうのと同じレベルですね。
なにか僕にセキュリティ系でお手伝いできることがあればいつでも連絡してくださいね^^

  isidai on 2008/10/19

12

ご回答ありがとうございます。
VMWare Playerなんかを使用して、ホストOS:vista、ゲストOS:Debianですね。
もともと興味はあったのですが、もっとセキュリティ分野を勉強
していきたいと思います。
isidaiさんより10歳くらい上ですが、勉強させて頂きました。
また遊びに来ます。いや、学習にw
ブログも頑張ってください。2話以降も期待していますw

  grid_x5 on 2008/10/18

11

>>Linuxでls打ったのにWindowsのdirのような結果が表示されるのは
pyshの中で行った操作なので正常な表示です
何だこりゃとか思ってた自分がはずかしい。・・Pythonとかはまったく経験ないので。

ishidaiさん、自分も高校二年でセキュリティ系をめざそう、
ファルコン君を倒す側の人間になるつもりです。セキュリティキャンプ行きたいです。
そんな坊主としては、今回のドラマに出てきた"発電所のパス"なるものを本気で探し求めるような
スクリプトキディが増えないか少し心配ですが、それよりも
これを期にセキュリティに目覚める人がより増えることも期待していたりします。もっと格好良くクラックしてくれよファルコン。
ただその為には、hpのロゴをいちいち映さずに、サイバーディフェンス研究所のCMを放映するべきかと(笑)

ひとつ思うのはこういうのをみる度に、ハッカーってカッコイイ的な
描写が多くて、その違法性に触れるのが皆無なことです。
ハッカーだろうとドロボーはドロボー。許可がなけりゃただの不正侵入犯なのだ。
メディアによってそこら辺の認識が甘くさせられている気がします

  chiffon-2 on 2008/10/18

10

→numbfaceさん
コメントありがとうございます。自分の部屋は自分で設計したので(笑)Macユーザーです。しばらくWindowsは使っていません。このMacはPowerBookG4(PowerPC系)です。
ちなみに僕はいたって"普通の高校生"ですよ!頭悪いですけどね。汗

  isidai on 2008/10/18

9

→grid_x5さん
コメントありがとうございます。色々考えたのですが最有力として考えられるのは,VMWare(Workstation6.5 or Player2.5以降)に搭載されたユニティ表示でDebianを仮想マシン上で動かしているのかと思います。ファイル/ディレクトリをVMWareで共有に設定しておけばダウンロードファイルがすぐにデスクトップに表示される理由もつきますし,Pythonを起動したときにDebianの表示があった説明も付きます。よって「WindowsVistaの中で仮想マシンとしてDebian(Gnome/Clearlooksスキン)が動いていた」ということです。

  isidai on 2008/10/18

8

なかなかいい環境ですねえ。
右のラップトップはmacbook proに見えますが。
マックも好きなんですか?

しかしプロフィール見ましたがあなたはどう考えても"普通の高校生"ではありませんよ(笑)

  numbface on 2008/10/18

7

はじめまして。ブラッディ・マンデイを検索していてお邪魔
しました。海外ドラマの24を見ているようで好きなドラマです。
高校生でこんなハッカーはあり得ないとか思ってましたが
自分が間違ってました。(汗
isidaiさんは、素晴らしい考察と知識だと思いました。
ひとつ質問なのですが、可能な範囲でお願い致します。
藤丸はvistaを使っていましたが、コマンドを実行している
のは標準のツールではないですよね?学校の先生のパソコンでも
同じツールを使っていました。このコマンドを実行しているのは
なんて名前か知りたいので、ご存知でしたら教えて頂けると幸い
です。

  grid_x5 on 2008/10/18

6

→☆龍星☆さん
え?え?(笑)クラッキング技術はそう簡単に教えられるものじゃないですよね…。というより最早モラルの問題だと思います。

  isidai on 2008/10/17

5

はじめまして。
あの・・・・もし良ければ、私にブラッティマンディの
やり方教えてくれませんか??

neko_aya93@yahoo.co.jp

までお返事お願いします。
待ってます。

  ☆龍星☆ on 2008/10/17

4

→kamijyunさん
情報ありがとうございます!追記させていただきます。

  isidai on 2008/10/15

3

技術アドバイザは市川さんですが、実際の技術監修はサイバーディフェンス研究所ですよ。クレジットをよくみてください。市川さんは用語集のみ。

  kamijyun on 2008/10/15

2

→きむこうさん
コメントありがとうございます。なんかこの記事が番宣とかネタバレ記事みたいになってしまってますが,興味を持っていただけて嬉しい限りです。次回の考察記事を書けるかわかりませんが時間があったら書かせていただくつもりです^^

  isidai on 2008/10/13

1

おもしろそうですね。次回から見てみようと思います。

  きむこう on 2008/10/13

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

CNET_ID

メンバー限定サービスをご利用いただく場合、このページの上部からログイン、またはCNET_ID登録(無料)をしてください。