今回は、news.exeについてのレポートを書いていきます。
サイト
ダウンロードリンク
https://syrianmalware[.]com/samples/a8ef5ccebd2e3babdd243a2861673c26.zip
マルウェアなのでダウンロードする際には、万全の注意を払ってください。
一切の責任は取れません。
a8ef5ccebd2e3babdd243a2861673c26
SHA-256
039058cd0f349c8987a4a61a3de12660b78007235126ee75228933fda2343e4f
SHA1
297804c895c0c3b86695ce9bae1ce5dddd1f3f89
zipファイルの解凍ですが、Attack.m.exeと同じのため割愛します。
静的解析
ファイルシグニチャの確認
このようなマルウェアでは、ファイル拡張子が正しいとは限らないためファイルシグニチャを確認します。
ファイルシグニチャをfileコマンドで確認します。
よって、このマルウェアは
windows7で動く32ビットのファイルだと分かりました。
オンラインデータベースでの検索
ログインすると詳細な結果を見ることができます。
https://www.hybrid-analysis.com/sample/039058cd0f349c8987a4a61a3de12660b78007235126ee75228933fda2343e4f/5eb499bd88dd093e086aa07c#00196799-00003232
こちらはログインしなくても詳細な結果を見ることができます。
文字列の抽出
文字列とはファイル内に埋め込まれたASCII・Unicodeで表現可能な文字列のことです。これらを抽出すると、マルウェアの機能などに関する手がかりがつかめます
stringsコマンドは、4文字以上のASCII文字列を抽出します。
また、Flossツールを使用した難読化された文字列のデコードも行いました。
難読化とは、アンチウイルスソフトなどにウイルスと認識されないために行う手順の一つです。実際にパターンマッチング形式を用いたアンチウイルスソフトなどには見つかりにくいです。
これらの実行結果でnews.exeの特徴が見られた興味深い文字列
GetProcAddress
GetServerURL
GetWebRequest
GetProcessesByName
GetDelegateForFunctionPointer
GetCurrentProcess
GetObject
GetBytes
GetTypeFromHandle
GetEnumerator
GetString
GetObjectValue
LateGet
GetProcesses
GetEncoding
GetValue
get_StartupPath
get_FileName
Sleep
VarFileInfo
StringFileInfo
FileDescription
FileVersion
OriginalFilename
set_Compressed
set_PrefixForCompressedString
set_SuffixForCompressedString
set_Passphrase
set_KeySize
set_Position
set_Key
set_IV
set_Url
set_Timeout
set_Expect100Continue
CreateProcessW
CreateEncryptor
CreateDecryptor
CreateProjectError
InternalName
5.exe
Copyright
2005
"Powered by SmartAssembly 6.8.0.121
Name
LoginServiceSoapT
Namespace;
http://www.smartassembly.com/webservices/UploadReportLogin/`Name
ReportingServiceSoapT
Namespace3http://www.smartassembly.com/webservices/Reporting/
Ghttp://www.smartassembly.com/webservices/UploadReportLogin/GetServerURL
http://sawebservice.red-gate.com/
上記コマンドの全ての実行結果がみたい場合
この文字列から分かったこととしては、ファイルは再起動したときにスタートアップとして一緒に起動されようとしている。
デバッガやファイルが削除されようとしたときにスリープしようとしている。
http://sawebservice.red-gate.com/ここからコードを持ってきた?
暗号化してあるファイルの暗号を解こうとしている?
5.exeという名前も持っている。
また、news.exeはこのサイトによって難読化処理が施されているのが
分かりました。こうした正規のプログラム用に作られたソフトウェアがマルウェアの難読化につかわれてしまうのは、とても残念に思います。
動的解析
inetsimを使って擬似的な応答を返しながら、wiresharkで監視していきたいと思います。
このnews.exeはファイルのダウンロードやアップロードは静的解析での読み通り行っていませんでした。
メモリフォレンジック
今回のような、
・特にダウンロードもアップロードも行わない
・マルウェアの容量が他のマルウェアに比べ比較的大きい
・キーロガーなどではなさそう
これを踏まえるとこのマルウェアは「ドロッパー」だと推定されます。
これを踏まえるとこのマルウェアは「ドロッパー」だと推定されます。
ドロッパーとは、追加のマルウェアコンポーネント(部品を内部に埋め込むプログラムのことです。ドロッパーが実行されるとマルウェアコンポーネントを抽出し、ディスクに配置します。しかし、まだ断定できるほどの情報が集まっていません。
そのため、逆アセンブラしてWindowsAPIを読み取ることによって、ドロッパーだろうという推察を確定させていきたいと思います。
ドロッパーは多くの場合、実行ファイルの
指定したファイルのリソースを戻り値とするFindResource関数、
メモリ内の最初のバイトへのポインタを戻り値するLoadResouce関数、
メモリ内の指定されたリソースへのポインタを取得するLockResource関数、
リソースのバイト数を取得するSizeOfResourece関数などが使われます。
今回これらが含まれているか逆アセンブルして調べてみたところ
↓それぞれの関数
それぞれが見つかりました。
そして、キーロガーに使われるGetAsyncKeyState関数・SetWindowsHookEx関数、
C2通信に使われるInternetOpenA関数などの関数は見つからなかったため
このnews.exeは「ドロッパー」であると断定することができました。
結論
このnews.exeについてまとめてみると、
・news.exeは、ウイルスがする挙動をする
「ドロッパー」である。
です。
実は、このマルウェアは、
このように多層構造になっており、上から4つ目までは全てドロッパーと呼ばれるマルウェアです。
そして、一番最後のマルウェアについて軽く解析したところ
netsh firewall add allowedprogram "C:\Users\admin\AppData\Local\Temp\chrome.exe" "chrome.exe" ENABLE
と書いています。
これは、コマンドラインの通りfirewallにchrome.exeを許させるコマンドで
これの他には、GetComputerNameW関数を行って環境を調べていました。