Gen Threat Labsは、ClearFakeキャンペーンでAmatera Stealerを配布するために使われる新型マルウェアローダー「WordlistLoader」を発見しました。
このキャンペーンは、侵害した正規のウェブサイトを悪用して偽のCAPTCHA認証を表示します。被害者は自分が人間であることを証明するよう求められますが、実際にはこのプロセスによって悪意あるコマンドをコピーして実行するよう誘導されます。
この偽のCAPTCHAはClickFixという手口を用いています。被害者がチェックボックスをクリックすると、コピーしたテキストをWindowsの「ファイル名を指定して実行」ダイアログに貼り付けるよう指示されます。
このコマンドは隠しプロセスを起動し、リモートのWebDAV共有に接続して悪意あるDLLをダウンロードした上で、rundll32を通じてそのエクスポート関数「Run」を実行します。
研究者らによると、この配布経路は最近報告されたWebDAVとClickFixを使うAmateraキャンペーンとよく似ているといいます。ただし、攻撃者はこれまで使っていたPythonベースのローダーを、WordlistLoaderに置き換えたとみられます。
WordlistLoaderは、Amateraが読み込まれる前の中間段階として機能します。まず名前付きイベントを使って、デバイス上で自身のコピーが1つだけ動作するようにします。その後、読み込まれているWindowsモジュールからフックを除去することで、エンドポイントの防御機能を弱めようとします。
このローダーは読み込まれているモジュールを走査し、メモリ上のエクスポート関数の命令を、ディスクから読み込んだクリーンなコピーと比較します。
セキュリティ製品のフックによく使われるジャンプ命令を検知すると、元のバイト列を復元します。これにより、マルウェアはアンチウイルスやEDR(エンドポイント検知・対応)ツールによる監視を回避できる可能性があります。
WordlistLoaderはさらに、Windowsのイベントトレース機能(ETW)も回避します。NtTraceEventにハードウェアブレークポイントを設置し、ベクトル化例外ハンドラーを登録します。
Windowsがイベントを記録しようとすると、このハンドラーが処理をリダイレクトし、イベントを処理せずに成功を示す結果を返すコードへと実行を移します。この結果、ログ記録が無効化されていても、呼び出し元のプログラムにはエラーが表示されません。
最も特異な点は、次段階のシェルコードを隠す手法です。シェルコードをそのままバイナリデータとして保存するのではなく、各バイトを平易な英単語として符号化しています。
ビルドごとに異なる単語リストには256個の単語が含まれ、各単語が1つのバイト値に対応付けられています。ローダーは、リスト内で各単語の位置を特定し、その位置をバイトとして書き出すことでシェルコードを再構築します。
研究者らは、単語の代わりにUUID文字列を使う亜種も発見しています。このバージョンは各UUIDを16バイトのシェルコードに変換するため、静的検知がより困難になります。
復号されたシェルコードには、エミュレーターや自動化されたサンドボックスを妨害するために設計された、長時間の遅延処理が含まれています。
次のペイロードを復号する前に、自身のコードへのパッチ処理を繰り返し行います。復号された段階では、メモリ保護属性を変更した上でリフレクティブローダーを起動し、Amateraを展開するとgendigitalは述べています。
注記: IPアドレスおよびドメインは、誤って解決されたりリンク化されたりするのを防ぐため、意図的に無効化表記(defang、例: [.])にしています。再有効化(re-fang)は、MISP、VirusTotal、あるいは自社のSIEMなど、管理された脅威インテリジェンス基盤内でのみ行ってください。
ANY.RUNのブラウザ内データ検査で検知・調査・対応をより迅速に-> ANY.RUNでSOCを強化
翻訳元: https://cyberpress.org/wordlistloader-conceals-amatera-shellcode-2/