航空宇宙会社のサイトに水飲み場型攻撃CVE-2015-5122をエクスプロイト、IsSpaceバックドアをインストール

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を変更しなかったことがわかります。

図1: 悪質なシェルコードが埋め込まれたFlash ファイル
図1: 悪質なシェルコードが埋め込まれたFlash ファイル

これらの値は、単純なPythonスクリプトを使用して、バイト表現に変換することができます。ここではわかり易くするために以下を切り捨てています。

さらに詳細にシェルコードを見ると、かなり単純な命令セットが使われています。

関数は、動的にロードされており、ファイルは、WinExec Windows APIコールを使用して実行する前に%TEMP%\ Rdws.exeにドロップされます

Flashの脆弱性に戻りますが、われわれは、ドロップされたファイルがByteArrayのようなFlashファイル自体に埋め込まれていることを発見しました。

このバイナリデータは、事前にメモリの新しく割り当てられたセクションに格納され、ロードされ、ZLIBで解凍されます。このバイナリデータのアドレスは実行前にシェルコードに格納されます。

図2: エクスプロイトのバイナリのローディングとシェルコードの起動
図2: エクスプロイトのバイナリのローディングとシェルコードの起動

実行が成功すれば、次の属性を持つバイナリが、被害者のマシン上で実行されます。

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つを指定しなかったため、余分なスラッシュが見られます。リクエストのサンプルは、以下の通りです。

図3: IsSpace の最初の誘導
図3: IsSpace の最初の誘導

最初の誘導のあと、IsSpaceは、「//SNews.asp?HostID=xx-xx-xx-xx-xx-xx」宛のHTTP リクエストを生成することで、ホストIDに含まれている被害者のMACアドレス情報を盗みだそうとします。このリクエストで送信されたPOSTデータは、'\ X35\ X8E\ x9D\ X7A'の同じ4バイトのXORキーを使用して暗号化され、NFlogツールで使用されています。

図4: IsSpace disseminating victim information and accepting command
図4: 被害者の情報を送信しコマンドを受け取るIsSpace

復号化された情報は、次のようなデータが含まれています。

念を押すと、抜け出ていったデータが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は、被害者のマシン/またはネットワークへの足がかりを攻撃者に提供します。マルウェア自体は、制限された機能を持ちますが、それは攻撃者が最小限の偵察を行い、のちにデバイスにさらなるにマルウェアを送り込むためです。

インフラストラクチャ

図5: コマンドと制御IPアドレスの関係
図5: コマンドと制御IPアドレスの関係

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