Attack.m.exeとは、下のサイトから入手したマルウェアで、このマルウェアの解析をしていこうと思う。
シリアの内戦で使われたマルウェアらしい。
基本的な情報
・Windows7で動く
・ハッシュ
MD5
4141842e30edaf429309ea6bc2374ef5
SHA-256
85dd1f03eaf0bc5cc5505a4338615bcb67ae438166e05ed83656e2cb36ce8a33
SHA1
6eacbfd34a8ca27da54ba7b82910d0dfd11b1c9d
ダウンロードリンク
https://syrianmalware[.]com/samples/4141842e30edaf429309ea6bc2374ef5.zip
このzipファイルは、パスワード付きであり、当該パスワードはinfectedである。
静的解析
zipinfo実行結果
zipファイルの解凍
7z x 4141842e30edaf429309ea6bc2374ef5.zip
パスワードを求められるので、infectedと入力
解凍
unzipコマンドではヘッダーが足りないので解凍ができませんでした。
以降は、解凍後のファイルに行った処理結果とします。
fileコマンドの実行結果
PE32(32ビットの実行ファイル)である。
同様に、16進数を見ると先頭の2バイトが、
4D 5A MZ
であることから、windowsの実行ファイルだとわかります。
このファイルのハッシュ値
MD5
4141842e30edaf429309ea6bc2374ef5
SHA-256
85dd1f03eaf0bc5cc5505a4338615bcb67ae438166e05ed83656e2cb36ce8a33
SHA1
6eacbfd34a8ca27da54ba7b82910d0dfd11b1c9d
得られたハッシュ値をもとに既知のマルウェアデータベースで検索をする。
検索した結果、このファイルは過去に分析されたことがあり、各社のアンチウイルスソフトも大半がこのファイルがウイルスであると認定していました。
stringsコマンドの実行結果
このstringsコマンド・flossから分かることしては、このファイルは分析を防ぐ難読化が行われていないことがわかります。
stringsコマンドの実行結果で、特にこのウイルスの特徴が現れた点
Microsoft.VisualBasic
Ya_Houssen
get_Computer
get_Application
get_User
get_WebServices
get_GetInstance
get_Default
get_Settings
get_Network
GetHashCode
GetType
port
user32.dll
avicap32.dll
kernel32.dll
mscoree.dll
GetWindowText
TcpClient
DownloadFile
31.9.48.7
ping
Close
ビットのプログラムを動かすのに必要
軽く分類すると、
<このマルウェアを実行した環境の情報を取得>
get_Computer
get_Application
get_User
get_WebServices
get_GetInstance
get_Default
get_Network
<サーバーと通信しようとしている>
31.9.48.7
port
DownloadFile
TcpClient
Close
<このマルウェアの直接的な動作>
WindwsAPI機能を使うために必要
user32.dll
avicap32.dll
32ビットのプログラムを動かすのに必要
kernel32.dll
下で詳しく説明
mscoree.dll
このファイルの元の名前?
Ya Houssen.exe
言葉に起こすと
・ファイルバージョンは1.0.0.0。
・このファイルの元の名前はYa Houssen.exe
・2014年に作られた。
・作ったパソコンの名前はYa Houssen
・このプログラムはVisual Basicで作られた。言語はc#
・このマルウェアは次の攻撃の足がかりとするための’ダウンローダー’であると推定される。
・mscoree.dllがこのファイルによってインポートされ、エキスポートはされない。
・インターネットエクスプローラーによって他のマルウェアをダウンロードすると推定される
・31.9.48.7に接続しようとしている
という4つのことがわかりました。
<マルウェアの分類>
ファジーハッシュによる分類
ssdeepコマンド実行結果
384:BweSa82wbKffUGeuTLffAnYE2R46q+LRFBTf71F8lucSEV:Ke63b2UAHXNll6lum
おなじファジーハッシュを持つマルウェアの存在は確認できませんでした。
インポートハッシュによる分類
imphash:"f34d5f2d4577ed6d9ceec516c1f5a744"
同じインポートハッシュを含むマルウェアは多く発見できましたが、
これは「該当マルウェアが、VisualBasicで作られた」・「Windows 7を攻撃対象としている」という点で一致するのだと推定されるため
同じ攻撃グループでつくられたとは考えにくいという結論に至りました。
動的解析
wiresharkとINETsimをつかって、このマルウェアの挙動を調べた結果
DNSサーバにクエリはありませんでした。
しかし、31.9.48.7と1550番(TCPで接続をしようとしていました。
このサーバーについての考察はここにまとめることにしました。
公開鍵暗号方式の通信を行おうとしていて、
PublicKeyToken=b77a5c561934e089
となっていました。
mscoree.dllがインポートされていました。
mscoree.dllはエクスポート関数_CorExeMain関数で構成されていて、
そしてこのmscoree.dllは,「Microsoft .NET Runtime Execution Engine」という名称を持っています。
結論を言えば,今回のサンプル・プログラムは,OSにより直接実行されるのではなく,.NETランタイム実行エンジンにより実行される「.NET対応Cプログラム」といえます。
Cプログラムを無理やり、.NETに落とし込んだ感じだと言えます。
次のアセンブリと逆アセンブリで、ここのプログラムを調べていきたいと思います。
_CorExeMain関数の詳細↓
サンドボックス環境で実際に動かしてみた
やはりダウンローダーだった。
WireSharkはこんな感じで、
その通信後のなんとか読めるHTTPプロトコルの中身
(QUICプロトコルとは、2015年にGoogleがつくった
GET /c/msdownload/update/software/secu/2016/01/windows6.1-kb3115858-x86-express_412c556b94af12aaab9b7805e3829ccff553ab28.cab HTTP/1.1
Connection: Keep-Alive
Accept: */*
Accept-Encoding: identity
If-Unmodified-Since: Wed, 20 Jan 2016 22:49:10 GMT
User-Agent: Microsoft BITS/7.5
Host: au.download.windowsupdate.com
HTTP/1.1 200 OK
Cache-Control: public,max-age=172800
Content-Type: application/vnd.ms-cab-compressed
Last-Modified: Wed, 20 Jan 2016 22:49:10 GMT
Accept-Ranges: bytes
ETag: "0b790c6d453d11:0"
X-Powered-By: ASP.NET
Content-Length: 91069
Date: Wed, 11 Aug 2021 07:09:40 GMT
Connection: keep-alive
X-CCC: JP
X-CID: 2
ちょっと待てよ。
msdownload/../sec?
これってセキュリティ更新プログラムだよねと思い、検索してみると
(↑押すと、ダウンロードされてしまうので無効化してあります。)
更新プログラムでした。
たぶんこのサイトを作っている人たちがリンクをそこだけ書き換えたのだと思います。
実際の挙動としては「ダウンローダー」であっていると確信しています。
実際にダウンロードされるのは...
ちょっとがっかりな感じでしたが、
調べてみると、実際にダウンロードされるのは、
md5:a9e6f5d4c5996ff1a067d4c5f9ade821
です。ここに詳しく書いています。(追記qwertytan.hatenablog.jp
まとめ
今回、Attack.m.exeに対して分かったことをざっくりまとめると
・シリアのサーバーとTCP通信を試みている。
です。
31.9.48.7は他のマルウェアでも使用されていたので、ここに詳しくまとめています。