
AcrStealer(洗練された情報窃取型マルウェア)のリバースエンジニアリング分析。カスタムプロトコル、ブラウザ認証情報の窃取、ペイロード抽出を使用します。Task.Protocol、BrowserQueryEnabledDomains、WriteProcessMemory、完全なAPIリストを含みます。
Process Hackerのメモリ分析により、AcrStealerはC2サーバーとの安全な通信にSSL/TLSを使用してネットワーク接続を確立することが明らかになりました。
SslClientCert – 認証にクライアント証明書を使用(検出を回避)。EnabledProtocols – サポートされているTLSプロトコルを指定(例:TLS 1.2、1.3)。EnabledRevertToSelfClientCertificate – 自己署名証明書へのフォールバックを許可。Connection / DataChunks – アクティブなデータ転送を示します。Available – 送信準備が整ったデータバッファ。DataChunksは、大量の盗難データが送信されていることを示唆します。
SSL/TLS設定(SslClientCert、EnabledProtocols)とネットワークアクティビティを示すProcess Hackerビュー。
抽出された.binファイルのBinary Ninja分析により、AcrStealerがC2通信に、Task.Protocol構造を中心に構築されたカスタムネットワークプロトコルを使用していることが明らかになりました。
Task.Protocol.SendData – C2サーバーにデータを送信します。Task.Protocol.ReceiveData – C2サーバーからデータを受信します。Task.Protocol.Configuration – プロトコル設定を保存します。Task.Protocol.CancelHandle – 進行中の操作をキャンセルします。CreateProtocolHandle – 通信用のプロトコルハンドルを作成します。CloseProtocolHandle – プロトコルハンドルを閉じます。CONNECT – 接続を確立します。SEND – データを送信します(外部送信)。RECEIVE – コマンドを受信します。CLOSE – 接続を閉じます。GLOBAL – グローバル設定。CONFIGURATION – プロトコル設定。SENDコマンドは盗難データの外部送信に使用されます。
Task.Protocol構造とプロトコルキーワード(CONNECT、SEND、RECEIVE)を示すBinary Ninjaビュー。
Process Hackerのメモリ分析により、AcrStealerがブラウザデータとネットワーク資格情報を窃取の対象としていることが明らかになりました。
BrowserQueryEnabledDomains – ブラウザで有効なドメインを照会します。BrowserQueryOtherDomains – 他のドメインを照会します(クッキー窃取の可能性が高い)。BrowserResetStatistics – ブラウザの統計情報をリセットします(回避)。BrowserRefresh – ブラウザデータを更新します(新しい資格情報を取得するため)。NetworkAddress – ネットワークアダプター情報を取得します。NetChannelSet – ネットワークチャネルを管理します。NetDNSHostName – DNSホスト名を取得します。NTGetLogonControl – ログオン制御を照会します(資格情報の窃取)。
ブラウザおよびネットワーク資格情報の窃取文字列を示すProcess Hackerビュー。
抽出された.binファイルのBinary Ninja分析により、ブラウザおよびネットワーク資格情報を窃取する実際のコードが明らかになりました。
BrowserQueryEnabledDomains – 有効なブラウザドメインを照会します。BrowserQueryOtherDomains – 他のドメインを照会します(クッキー窃取)。BrowserResetStatistics – ブラウザの統計情報をリセットします(回避)。NetworkAddress – ネットワークアダプター情報を取得します。NetDNSHostName – DNSホスト名を取得します。NTGetLogonControl – ログオン制御を照会します(資格情報の窃取)。
ブラウザおよびネットワーク資格情報の窃取関数を示すBinary Ninjaビュー。
抽出された.binファイルのBinary Ninja分析により、Windows APIの包括的なリストが明らかになり、AcrStealerがプロセスインジェクションとファイル操作を実行できることが確認されました。
VirtualAllocEx – リモートプロセスにメモリを割り当てます(インジェクション)。WriteFile – ファイルにデータを書き込みます(外部送信またはロギング)。WaitForSingleObject – スレッドを同期します(インジェクションの調整)。VirtualProtectEx – メモリ保護を変更します(インジェクション用)。WaitForDebugEvent – デバッグ操作(回避)。VirtualAllocExとVirtualProtectExはインジェクションに使用されます。WriteFileは盗まれたデータをディスクまたはC2に書き込みます。WaitForDebugEventはデバッグを回避するのに役立ちます。
プロセスインジェクションおよびファイル操作APIを示すBinary Ninjaビュー。
この分析により、高度なネットワーク通信、カスタムプロトコル、ブラウザ資格情報の窃取、プロセスインジェクションを組み合わせた巧妙な情報窃取型マルウェア AcrStealer が明らかになりました。
SslClientCertを使用したSSL/TLSとカスタムプロトコル(Task.Protocol)を使用。BrowserQueryEnabledDomains)とネットワーク設定(NetDNSHostName)を標的とします。VirtualAllocExとVirtualProtectExをインジェクションに使用。WriteFileを使用して盗まれたデータを保存。WaitForDebugEventとBrowserResetStatisticsを使用して検出を回避。VirtualAllocExおよびVirtualProtectExの呼び出しを監視します。BrowserQueryEnabledDomainsとNetDNSHostNameを検出します。WriteFile操作を監視します。分析されたAcrStealerサンプルは、独自の分析を行いたい方のためにMalwareBazaarで公開されています:
🔗 MalwareBazaar 上の AcrStealer サンプル
使用ツール: Process Hacker, Binary Ninja, x64dbg