前置き

5/14にDionaeaに未知のバイナリが1つ届いていた。 それなりのサイズ(探索する甲斐がありそう)でPEファイル(Windowsの各種解析ツールが使えそう)だったので追ってみる事にした。

$ ls -la
total 92
drwxr-xr-x 2 root root  4096 May 15 22:40 .
drwxr-xr-x 3 root root  4096 May 12 15:13 ..
-rwxrw-r-- 1 tpot tpot 82947 May 14 13:50 dd5106079211dd2edd35dc2aab0573c4
$ file dd5106079211dd2edd35dc2aab0573c4
dd5106079211dd2edd35dc2aab0573c4: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows

第一段階

DLLなので単体で動かしてみて通信やメモリを確認することは出来ない。 バイナリをそのまま読むスキルはまだ無いのでファイルに含まれる文字列を探る。 今回はWindows環境でよく使っているPestudioを利用する。

malware1

いきなり第二段階への手がかりが見つかった。 yz.exeをダウンロードして実行するためのDLLだと予想出来る。 2018年1月にコンパイルされたファイルなのにVirusTotalに情報が無い理由は、 このDLLが別の実行ファイルからダウンロードされて読み込まれるからかもしれない。 マルウェアとして配布されるのはそっちの実行ファイルなのかも。 もちろん日付はただのフェイクの可能性もある。

第二段階

DLLが参照していたファイルのダウンロードを試みた。 ファイルは存在しなかったがサーバは生きている。 テキストを読むとファイルサーバらしくトップページに移動できそうだったので試してみる。

malware2

ユーザー登録制でファイルをアップロードできるようだ。 このサイトも上がっているファイルもあからさまに怪しい。 名前は違う(yz.exeとsvz.exe)けれど二つのファイルには関連性があると仮定しても良い気がする。

malware3

svz.exeのセクション情報を見ると、エントリポイントがある.pmjにWritable属性が付いている。 自身のセクションにデータを展開しつつ実行するという事なので 何らかのパッキングが行われていると想像できる。

malware4

文字列を探ってみるとWinRAR\SFX(自己解凍形式)の記述を見つけた。 実行すると自身のセクションにデータを展開するという推測を裏付けている。

malware5

svz.exeの拡張子をrarに変更して解凍したらファイル群が現れた。 config.jsonの更新日が5/12なのでこのファイルに作者の意図が強く出てそうだ。

malware6

第三段階

config.jsonから抜粋した情報を見る限りマイニングしたかったようだ。 このuserは4/22のTotalHashにも報告されている既知のもの。

"url": "xmr[.]crypto-pool[.]fr:443",
"user": "45KGejq1HDHXB618E3aeWHFyoLh1kM5syRG8FHDiQ4pZXZF1pieqW7DM5HHe3Y2oc1YwoEc7ofjgtbeEqV3UrkS9SVygJPT",

srvany.vbsはユーザー定義サービスを作成するためのものでr.batから呼び出されている。 r.batには同梱されているseriese.exeを引数としてsiveise.exeをサービスとして設定する処理が書かれていた。

# srvany.vbs
'
' Usage:
'    WScript.exe srvany.vbs -name   [ServiceName]
'                           -srvany [SrvAnyFileName]
'                           -file   [ExeFileName]
'                           -dir    [ExeFileDirectory]
'                           -params [ExeFileParameters]
'
' For more information please visit http://wangye.org
'
# r.bat
WScript srvany.vbs -name SystemEsenisBreker -srvany "C:\Windows\addins\siveise.exe" -file "C:\Windows\addins\seriese.exe"

siveise.exeはVirusTotalで白黒判定が拮抗しているけれど#FlyStudioというコメントがある。 FlyStudioは中国でよく利用されているスクリプトで、これを使って書かれたダウンローダが確認された実績があるみたい。 渡されるseriese.exeはCoinminerとして判定されてる。 config.jsonも考慮するとやはり作者はマイニングさせるために一連のファイルを用意したと見て問題無さそうだ。

まとめ

Dionaeaを通じて送り込まれたバイナリはマイニングマルウェアを広めるための踏み台だった可能性がある。 FTPサーバやファイルサーバを外部に公開している人は見覚えのないファイルが存在していないか確認したほうが良い。

IOC

  • 確認されたドメインとIP
    • 181[.]215[.]242[.]240:65
    • xmr[.]crypto-pool[.]fr:443
  • 確認されたバイナリファイル
    • DLL: dd5106079211dd2edd35dc2aab0573c4
    • svz.exe: 2C0F809D8F8C887C03149B7206313DD4
    • siveise.exe: 4635935FC972C582632BF45C26BFCB0E
    • seriese.exe: 4FAC68E1338C2D12CC302B224AA240C2
  • 確認されたマイニングユーザー
    • 45KGejq1HDHXB618E3aeWHFyoLh1kM5syRG8FHDiQ4pZXZF1pieqW7DM5HHe3Y2oc1YwoEc7ofjgtbeEqV3UrkS9SVygJPT