This post is also available in: English (英語)
概要
2015年7月16日、パロアルトネットワークスのUnit42脅威インテリジェンスチームは、著名な航空宇宙会社のウェブサイトが、同社の顧客を標的とした水飲み場型攻撃を行う目的で侵害されているのを発見しました。これは、イタリア企業「Hacking Team」の情報漏えいで新たに開示されたAdobe Flashの脆弱性「CVE-2015-5122」を突くエクスプロイトをホストしていました。
いくつかの標的型攻撃で、この脆弱性を利用したマルウェアが採用されていました。また、被害者のマシンとネットワークを攻撃するための足がかりを与えていました。
エクスプロイトファイル、movie.swfは、ZWS圧縮されておりアンチウイルスプログラムを回避します。一度解凍すると、バイナリは、Flashファイル内に埋め込まれることが発見されました。さらに分析すると、このファイルは一般的にIsSpaceと呼ばれるトロイの木馬と同様の動作を含んでいることが分かりました。
そのコードベースと行動パターンに基づいて、IsSpaceはおそらくこれまで敵対グループDragonOKとMoafeeによるNFlogのバックドアの進化系であると考えられます。両グループは、東南アジアから外部に向け攻撃をしていると考えられており、特にMoafeeは、米国の防衛産業基盤への攻撃にも関与しています。
エクスプロイト詳細
CVE-2015-5122エクスプロイトは、Flashファイル内で見つかったHacking Team社の情報漏えいによって公開された概念実証(POC)の原型とほぼ同じです。トレンドマイクロによる分析は詳細にPOCをカバーしています。トレンドマイクロの報告書に記載されたPOCとは異なり、この特定の悪意のあるファイルは、兵器化し、CALC.EXEをローディングする代わりに、はるかに悪質なファイルをロードしました。図1に見られるように、埋め込まれたシェルコードは整数指数数値としてバイトを表すのと同じ技術を使用して難読化されています。しかし、変数名「カルク」と変更がされていないことから、多くのPOCを変更しなかったことがわかります。
これらの値は、単純なPythonスクリプトを使用して、バイト表現に変換することができます。ここではわかり易くするために以下を切り捨てています。
さらに詳細にシェルコードを見ると、かなり単純な命令セットが使われています。
関数は、動的にロードされており、ファイルは、WinExec Windows APIコールを使用して実行する前に%TEMP%\ Rdws.exeにドロップされます
Flashの脆弱性に戻りますが、われわれは、ドロップされたファイルがByteArrayのようなFlashファイル自体に埋め込まれていることを発見しました。
このバイナリデータは、事前にメモリの新しく割り当てられたセクションに格納され、ロードされ、ZLIBで解凍されます。このバイナリデータのアドレスは実行前にシェルコードに格納されます。
実行が成功すれば、次の属性を持つバイナリが、被害者のマシン上で実行されます。
MD5 | 319500B2C792AEE6CD8EF8EE87D9DC1E |
SHA1 | 723DB4F13E98364098D76B925EA197F9ECD5309B |
SHA256 | 27439ADAA07F5AD16EB8039C16ECEB4E71F6358E7FC13AC645E8878DA8C3E77E |
サイズ | 59904 Bytes |
ファイルタイプ | PE32 executable (GUI) Intel 80386, for MS Windows |
コンパイルのタイムスタンプ | 2014-11-14 04:35:13 UTC |
マルウェアの詳細
コンパイルのタイムスタンプによって示されているように、このマルウェアのサンプルは最新のものではありません。タイムスタンプによれば、コンパイルは、2014年11月14日となっており、これは、この特定のサンプルで使用された基盤が比較的長い時間そのまま残っていることを示しています。マルウェアの分析では、このサンプルはNFlogツールと同様の振る舞いをするトロイの木馬ツールIsSpaceである可能性が高いことを示しています。
NFlogとIsSpaceを比較して幾つかの変更点に気がつきました。初期起動すると、マルウェアは、C:\はProgramData\ log.txtにログメッセージを書き込もうとしますが、この変数はMicrosoft Windows 7またはそれ以降で動作することを意図していたことを示しています。しかし、それはまだ必要な場合は、MicrosoftのWindows7より前のオペレーティングシステムで実行する能力を維持しています。
IsSpaceは、マルウェアが単一インスタンスのみが感染したホスト上の任意の時点で実行を確認するために、'MdQ0784kd'という名前のイベントを作成します。
実行の流れを決定するために、IsSpaceは、ユーザーの管理者権限、オペレーティングシステムのバージョン、およびCPUアーキテクチャなど感染したホストに関するさまざまなデータを収集します。
IsSpaceは、32ビットプラットフォームでのMicrosoft Windows7のシステムで管理者として実行されていると判断した場合、サイドローディング技術を使用して自身を実行しようとします。
マルウェアは、以下の場所にキャビネットファイルとバッチスクリプトをドロップします。
- %TEMP%\FASAP.DAT
- %TEMP%\FASAPI.bat
バッチスクリプトには以下の物が含まれています:
【CWD】はマルウェアが実行されているディレクトリであり、[%TEMP%]は%TEMP%ディレクトリのフルパスです。
バッチスクリプトは、最初にSysprepディレクトリにキャビネットファイルを抽出します。抽出されたファイルは、「CryptBase.dll」という32ビットDLLです。
バッチスクリプトは、約5秒後からSysprep.exeを実行し続けて、自動的にCryptBase.dllファイルをロードして、ドロップします。このDLLは、子プロセスで提供される引数を実行します。この新しく作られたプロセスはSysprep.exeによって起動され特権を持ちます。
同様のプロセスが64ビットシステムのために得られます。しかし、バッチスクリプトをドロップする代わりに、CryptBase.dllの64ビット版を含むキャビネットファイルと一緒に、64ビットの実行可能ファイルではなく、次のパスにドロップされます。
- %TEMP%\FASAPI.bin
- %TEMP%\FASAP.DAT
この実行ファイルは、新しいプロセスで実行されています。これは、キャビネットファイルを展開し、sysprep.exeの新しいインスタンスを産出するためです。
マルウェアは、それがWindows XPのホスト上で実行されていることを検出した場合には、http://www.microsoft.comへのHTTP要求を行うことにより、インターネット接続をチェックしようとします。これは、NFlogバックドアで観察された特性に類似しています。この活動はIsSpaceがWindows XP環境で実行している場合にのみ起こります。
IsSpaceは172.246.109.27へのHTTP要求を行います。これは、プライマリのコマンド&コントロール(C2)サーバのように見え、最初のHTTPリクエストは「//STTip.asp」向けに行われます。先頭の余分な”/”に注目してください。これはおそらく、マルウェアがURIのパスのサブディレクトリを期待していたものと思われます。
このサンプルでは、余分な”/”を1つを指定しなかったため、余分なスラッシュが見られます。リクエストのサンプルは、以下の通りです。
最初の誘導のあと、IsSpaceは、「//SNews.asp?HostID=xx-xx-xx-xx-xx-xx」宛のHTTP リクエストを生成することで、ホストIDに含まれている被害者のMACアドレス情報を盗みだそうとします。このリクエストで送信されたPOSTデータは、'\ X35\ X8E\ x9D\ X7A'の同じ4バイトのXORキーを使用して暗号化され、NFlogツールで使用されています。
復号化された情報は、次のようなデータが含まれています。
念を押すと、抜け出ていったデータがNFlogによって使用されているものと非常に類似しています。しかしIsSpaceには、被害者のユーザー特権レベルも含まれており、加えて「IsSpace」か「IsGoogle」の変数も含まれています。この特定の変数については、Unit 42によってまだ調査中です。
さらに、われわれは「303_20140401」のキャンペーンコードについても調査中です。
チェックインと初期脱出に成功後、IsSpaceは、次のコマンドを受け付けます:
コマンド | ディスクリプション | Response URI |
CMD | Executes command | //STravel.asp |
Browse | List specified directory | //SJobs.asp |
UploadFile | Upload file | //SSports.asp |
DownLoad | Download file | //SWeather.asp |
DelFile | Delete file | N/A |
IsSpaceは、被害者のマシン/またはネットワークへの足がかりを攻撃者に提供します。マルウェア自体は、制限された機能を持ちますが、それは攻撃者が最小限の偵察を行い、のちにデバイスにさらなるにマルウェアを送り込むためです。
インフラストラクチャ
IsSpaceサンプルでは、IPアドレス 172.246.109.27がハードコーディングされており、プライマリC2サーバである可能性が高いです。プライマリ C2 IP アドレスはDNSデータの受信に使われており 、7つのドメイン名と2つのIPアドレスがこの攻撃に関連していることを突き止めています。3つのドメインでは、第3レベルドメインに‘ssl’ または、‘dns’というプレフィックスが使われていました。
ドメインの帰属性を明らかにするためにWHOISデータを調べました。具体的には、WHOISデータでは、start-vedioing[.]netの登録は日本に登録されています。
- Registry Registrant ID:
- Registrant Name: Alta Rohde
- Registrant Organization:
- Registrant Street: tokoy
- Registrant Street: tokoy
- Registrant City: tokoy
- Registrant State/Province: Aomori
- Registrant Postal Code: 236521
- Registrant Country: Japan
- Registrant Phone: +81.21244215
- Registrant Phone Ext:
- Registrant Fax:
- Registrant Fax Ext:
- Registrant Email: alta.rohde@inbox.com
anywhere-staring[.]com の登録は、中国になっています。
- Registry Registrant ID:
- Registrant Name: lan fei
- Registrant Organization:
- Registrant Street: tian jing lu 244
- Registrant City: bei da
- Registrant State/Province: qing nao
- Registrant Postal Code: 888000
- Registrant Country: China
- Registrant Phone: +86.13877554411
- Registrant Phone Ext:
- Registrant Fax:
- Registrant Fax Ext:
- Registrant Email: csolyc110@163.com
WHOISデータが示す地理的領域により、このマルウェアに起因する攻撃者が東南アジアから操作している可能性が高いことや以前のNFlogに関連した活動と一致していることがわかります。IsSpaceはNFlogマルウェアファミリーの新しい変種であり、その行動とコードベースに多くの類似点が含まれています。それは歴史的にNFlogを使用していた敵のグループが今IsSpaceを使用している可能性が高い事を示しています。
結論
攻撃者は、有効性が高いことから、簡単にアクセスできる脆弱性の悪用、エクスプロイトコードやペイロードの再利用をします。Hacking Team社の情報漏えいによって開示された複数の脆弱性により、今後もこのような行動や活動は継続すると予想されています。
他の多くの以前に開示された高度な攻撃と同様に、 IOCが不明な場合、検出ベースにセキュリティモデルでは効果がありません。自動的に防御をする事ができないからです、パロアルトネットワークス のWildFire やTrapsのような動作ベースの予防対策による、未知の攻撃のリスク低減が不可欠です。
パロアルトネットワークスの顧客は、WildFireによってこの活動から保護されています。さらに、IPSシグニチャ14365は、ネットワーク内のIsSpaceコマンドと制御トラフィックを検出します。
ファイル情報
Name | Rdws.exe |
MD5 | 319500B2C792AEE6CD8EF8EE87D9DC1E |
SHA1 | 723DB4F13E98364098D76B925EA197F9ECD5309B |
SHA256 | 27439ADAA07F5AD16EB8039C16ECEB4E71F6358E7FC13AC645E8878DA8C3E77E |
Size | 59904 Bytes |
File Type | PE32 executable (GUI) Intel 80386, for MS Windows |
Compile Timestamp | 2014-11-14 04:35:13 UTC |
C2 IP Address | 172.246.109.27 |
Name | FASAPI.bin |
MD5 | 10DBFB65836773567B466918250D7EF4 |
SHA1 | 4330F5AD25980E0EBB0165F6B49727152735EF4A |
SHA256 | 25BA7D0399DDA177A2F35F2F5804BA54A272E43C192649339E5CBF8BD4EFA0E0 |
Size | 9216 Bytes |
File Type | PE32+ executable (console) x86-64, for MS Windows |
Compile Timestamp | 2014-05-06 13:23:38 UTC |
Name | FASAP.DAT (64-bit) |
MD5 | 7F1779F37F257006576B2D41919441EC |
SHA1 | 4AC396084E932733BB887B51FA5A5E489D9CB0EC |
SHA256 | 53EDFF51E0E52B2D1E8526FEA144E9EA923183C2CFECE8A87DDA92B8390651AF |
Size | 4065 Bytes |
File Type | Microsoft Cabinet archive data, 4065 bytes, 1 file |
Name | CryptBase.dll (64-bit) |
MD5 | 1F132F365E60CD43FFF75CD3CA464463 |
SHA1 | 4DF97974B36ADADFDFDA44172484019AD2EDD649 |
SHA256 | BDBD4974F872A6B62528F4F03C64D6CD9CF5E9352582F5AE242DC7F843A6FE55 |
Size | 9216 Bytes |
File Type | PE32+ executable (DLL) (GUI) x86-64, for MS Windows |
Compile Timestamp | 2014-04-21 13:08:07 UTC |
Name | FASAP.DAT |
MD5 | D0D267D8CBBB7DBC59CFC68742FD0559 |
SHA1 | 4586685CC724DEDFFB9C41F65B2DFFC7017F2970 |
SHA256 | 05ACABAC8BCA04AC36FBD8B7DFBE21BDE720EBE82A6B642721114E7FBDA01BEA |
Size | 3870 Bytes |
File Type | Microsoft Cabinet archive data, 3870 bytes, 1 file |
Name | CryptBase.dll (64-bit) |
MD5 | BCDEC2A79EADF1DA2166BBB705A25AAE |
SHA1 | FD2CE90293CBB7CD28B42CE8FFB2CE5D95ED3260 |
SHA256 | 052AAD8133E1FFC2863581DB33D366BA4180DFCF2E01ED7ACBEA4D53C355AB59 |
Size | 7680 Bytes |
File Type | PE32 executable (DLL) (GUI) Intel 80386, for MS Windows |
Compile Timestamp | 2014-04-20 12:19:57 UTC |