概要:
Batloaderは、このシリーズにおける新しいマルウェアではなく、新興のマルウェアです。以前のブログでは、Batloaderがスティーラーやランサムウェアなど、さまざまな種類のマルウェアを展開する仕組みについて説明しました。また、初期アクセス獲得者としての役割についても詳しく解説し、高度な回避能力と、時間の経過とともに継続的にアップグレードする能力についても強調しました。
マルウェアをユーザーのシステムに送り込むには、様々な手法が用いられます。フィッシングメール、なりすまし文書、クラックされたソフトウェアのダウンロードなどがその例です。これらのうち、クラックされたソフトウェアのダウンロードは、一般ユーザーにとっては無害に見えるかもしれません。 マルウェア 多くの場合、本物のファイル名を利用し、悪意のある活動のほとんどをバックグラウンドで実行したり、クリーンなファイルに悪意のあるコードを挿入したりします。
このブログでは、Batloader がペイロード (この場合は、スティーラー) をロードする方法を分析します。
テクニカル分析:

図1: 感染チェーン
キャビネット ファイルには、一時的な場所にドロップされ、実行された後、削除される bat ファイルが含まれています。

図2: キャビネットファイル

図3: 抽出されたbatファイル
難読化されたbatファイルの先頭コメントは、base64エンコードされAES暗号化されたgZipストリームです。これは後にdotnetファイルに復号され、一時ディレクトリに配置されます。

図4: 難読化されたBATファイル

図5: 難読化されたBATファイル
難読化解除されたbatファイルには、正規のpowershell.exeを現在のフォルダにコピーして実行するPowerShellスクリプトが含まれています。 PowerShellの スクリプトは、batファイル内の開始コメントを取得して以下のアクションを実行します。
- 特定のキーワードを削除します。
- Base64 エンコードから変換します。
- CBC モードによる AES 復号化。
- 3から受信したGZipStreamを解凍しましたrd
- EntryPoint からアセンブリを読み込みます。

図6: PowerShellスクリプト
PowerShell スクリプトは、Asyncrant マルウェアの dotnet exe を temp フォルダーの下にドロップし、その実行を開始します。
ステージ3: AsyncRat
ドロップされたファイルは保護されておらず、難読化も解除されています。

図7: ドロップされた実行ファイル
asyncrant の実行は、base64 エンコードを使用して CBC モードで AES 暗号化された値を復号化して構成を初期化することから始まります。

図8: 構成の初期化

図9: AES復号化
アンチ分析モジュール
デバッガ、サンドボックス、その他のインジケーターの存在を確認し、サンプルが分析中かどうか環境を検査します。インジケーターが検出された場合は、実行を終了します。

図10: 解析防止モジュール
実行中に Taskmgr、ProcessHacker、ProcExp などのプロセスのリストのいずれかが検出されると、プロセスが終了します。

図11: 終了プロセス
AMSIとイベントトレースバイパス
AMSI/イベント トレースをバイパスするには、対応する関数が呼び出されるシステム アーキテクチャに基づいてシステム アーキテクチャを識別します。

図12: バイパス
AMSI は、アプリケーションとサービスをマルウェア対策製品と統合できるようにする Windows マルウェア対策スキャン インターフェイスです。
AMSI と統合されるコンポーネントは次のとおりです。
- ユーザーアクセス制御
- PowerShell
- Windowsスクリプトホスト
- JavaScript と VBScript
- Office VBAマクロ
これを回避するには、amsi.dll の amsiscanbuffer() 関数にパッチを適用します。

図13: AMSIバイパス
これを達成するために
- まず、対応する関数のアドレスを取得します – amsiscanbuffer
- 次に、NtProtectVirtualMemory() を使用して、新しい命令を書き込むページのメモリ保護を変更します。
- さらに、対応する新しいバイトでメモリをパッチします。
- x86_am_si_patch = 0xB8、0x57、0x00、0x07、0x80、0xc2、0x18、0x00;
- x64_am_si_patch = 0xB8、0x57、0x00、0x07、0x80、0xc3;

図14: メモリのパッチ適用
イベント トレースは、ユーザーレベルおよびカーネルレベルのアプリケーション/ドライバーをトレースするために使用されるメカニズムであり、Windows オペレーティング システムの一部です。これは、セキュリティ ベンダーが実行中のアプリケーションの異常な動作を特定するのに役立つ重要な機能です。
回避策として、ntdllのEtwEventWrite()関数にパッチを適用します。この手順は、前述のamsiバイパスの場合と同じです。新たに書き込まれるバイトは以下のとおりです。
- x64_etw_patch = 0x48、0x33、0xc0、0xc3;
- x86_etw_patch = 0x33、0xc0、0xc2、0x14、0x00;

図15: イベントトレースバイパス
固執
管理者権限がある場合は実行エントリを作成します。権限がない場合は、タイムリーに実行するためのスケジュールされたタスクを作成します。

図16: レジストリエントリ

図17: タスクのスケジュール
一時的な bat ファイルを作成して、自身を %temp% の場所にコピーし、その後、bat ファイルを削除して、ドロップされたファイルの実行を開始します。

図18: インストール
次に、Pastebinの詳細を確認し、それがnullに設定されている場合は「jzx100.myddns.me」というURLで接続を試みます。その後、接続に成功するまでループして接続を試行し続けます。

図19: CnC接続
接続が成功すると、画像に示すように、ユーザー名、OS、カメラ、インストールされているウイルス対策ソフトなどの以下の情報が送信されます。

図20: CnCへの情報送信
分析時点では、このURLはアクティブではありませんでした。コード解析の結果、CnCから以下のコマンドを受信し、それに従って動作し、パケットで受信したプラグインを呼び出して接続を維持するようです。

図21: CnCコマンド
まとめ:
ユーザーは、クラックされたソフトウェアのダウンロードを避けるべきです。クラックされたソフトウェアは、ユーザーの知らないうちにさらなる被害をもたらす可能性があります。機密データをC&Cに送信するスティーラーは、攻撃計画や利益獲得のために悪用される可能性があります。さらに、これらのスティーラーには、より多くのペイロードをダウンロードする機能があり、ランサムウェアがシステムに侵入する可能性もあります。
IOCの:
96B07F8951F4BDEB95856D9477071865
1528F443777A42B09AE19D7E6F5F508A
著者:
ルマナ・シディキ



