実際の難読化: 標的型攻撃者が回避技術をリード

FIN8 environment variable commands extracted from “COMPLAINT Homer Glynn.doc” macros news

2017 年を通じて、さまざまな標的型攻撃者によるコマンド ラインの回避と難読化の使用が著しく増加していることを確認しました。サイバー スパイ グループや金融脅威アクターは、最新のアプリケーション ホワイトリスト バイパス技術を引き続き採用し、フィッシングのルアーに革新的な難読化を導入しています。これらの手法は、多くの場合、静的および動的な分析方法をバイパスし、シグネチャ ベースの検出だけでは常に、創造的な攻撃者よりも少なくとも 1 歩遅れをとっている理由を浮き彫りにします。

2017 年の初めに、FIN8 は環境変数を PowerShell の StdIn (標準入力) 経由でコマンドを受信する機能と組み合わせて使用し、プロセス コマンド ライン引数に基づく検出を回避し始めました。 2017 年 2 月のフィッシング ドキュメント「COMPLAINT Homer Glynn.doc」(MD5: cc89ddac1afe69069eb18bac58c6a9e4) のファイルには、PowerShell コマンドを 1 つの環境変数 (_MICROSOFT_UPDATE_CATALOG) に設定し、次に文字列「powershell -」を別の環境変数 (MICROSOFT_UPDATE_SERVICE) に設定するマクロが含まれています。 )。 PowerShell コマンドがダッシュで終わると、PowerShell は StdIn 経由で受け取ったコマンドを実行し、このダッシュのみが powershell.exe のコマンド ライン引数に表示されます。図 1 は、Mandiant のコンサルタントである Nick Carr のFIN8 マクロ デコーダーを使用して抽出されたコマンドを示しています。

FIN8 environment variable commands extracted from “COMPLAINT Homer Glynn.doc” macros
図 1: 「COMPLAINT Homer Glynn.doc」マクロから抽出された FIN8 環境変数コマンド

親子プロセスの関係に基づいて多くの検出を回避するために、FIN8 は WMI を使用して cmd.exe の実行を開始するようにこのマクロを作成しました。したがって、WinWord.exe は子プロセスを作成しませんが、プロセス ツリーは wmiprvse.exe > cmd.exe > powershell.exe のようになります。 FIN8 は定期的に難読化と WMI を使用して、PUNCHTRACK POS スクレイピング マルウェアをリモートで起動しており、2017 年の活動は、侵害の初期段階でこれらの回避技術を実装したものです。

新しいアプリケーション ホワイトリスト バイパス技術が表面化したため、標的型攻撃者は、多くの防御者の一歩先を行くために追加の難読化レイヤーを使用して、これらをキャンペーンにすばやく採用しました。多くのグループが regsvr32.exe アプリケーションのホワイトリスト バイパスを利用しており、その中には 2017 年の法律事務所に対するキャンペーンでの APT19 も含まれます。サイバー スパイ グループのAPT32 はバックドアとスクリプトを大幅に難読化しており、Mandiant のコンサルタントは、2017 年 4 月に APT32 が追加のコマンド引数の難読化を実装していることを確認しました。この引数の署名ベースの検出を中断しようとします。 FireEye では、ルアーに /i:^h^t^t^p と /i:h”t”t”p の両方が含まれているのを見てきました。図 2 は、APT32 アクティビティに対する Mandiant インシデント対応エンゲージメントの 1 つにおいて、リアルタイムの攻撃者アクティビティをキャプチャする Host Investigative Platform (HIP) の編集済みスクリーンショットを示しています。

regsvr32.exe アプリケーションのホワイトリストをバイパスするための APT32 コマンドの難読化
図 2: APT32 コマンドの難読化による regsvr32.exe アプリケーションのホワイトリスト バイパス

一方、 FIN7は 2017 年もレストラン、ホスピタリティ、金融サービスの分野で大混乱を引き起こし続けました。彼らの武器が陳腐化しないようにするため、2017 年 4 月に FIN7 は wscript.exe を使用して JavaScript ペイロードを実行するように移行し、追加のペイロードが隠されています。 Word.Application COM オブジェクトを使用して、フィッシング ドキュメントで。

今週、FireEye は、JavaScript と cmd.exe の両方のレベルで追加の難読化技術を導入している FIN7 を特定しました。これらの方法は、感染を開始するために DOCX および RTF フィッシング ドキュメントにショートカット ファイル (LNK ファイル) を隠すという FIN7 の推奨方法に依存しています。このブログの時点で、この手法を実装するファイルは 0 個のウイルス対策エンジンによって検出されました。 JavaScript の場合、COM オブジェクトのインスタンス化に「Word.Application」を指定する代わりに、FIN7 は文字列を「Wor」+「d.Application」に連結し始めました。さらに、JavaScript の疑わしい「eval」文字列が「this[String.fromCharCode(101)+’va’+’l’]」に変換されました。最後に、cmd.exe でサポートされているあまり知られていない文字置換機能を使用しました。 wscript.exe コマンドは、プロセス レベルの環境変数「x」に設定されていますが、「@」文字で難読化されています。 「x」変数がスクリプトの最後でエコーされると、「@」文字は構文「%x:@=%」によって削除されます。図 3 は、新しい FIN7 フィッシング ドキュメントに埋め込まれた LNK ファイルから抽出されたこのコマンドを示しています。

LNK ファイル フィッシング ドキュメントからの FIN7 コマンド難読化
図 3: LNK ファイル フィッシング ドキュメントからの FIN7 コマンドの難読化

この例では、FIN7 は StdIn を介して FIN8 のコマンドの受け渡しを実装しています (今回は powershell.exe ではなく cmd.exe に渡します) が、回避効果は同じです。この例では、最初の cmd.exe のコマンド実行でこれらの引数を公開しますが、この環境変数が LNK またはマクロ内で設定され、VBA から StdIn を介して cmd.exe にプッシュされた場合、コマンド ラインには何も表示されません。

FireEye iSIGHT インテリジェンスの MySIGHT ポータルには、これらの攻撃者と、当社が追跡しているすべての金融およびサイバー スパイ グループに関する詳細な情報が含まれています。

標的型攻撃者が、新しいバイパス手法を採用し、マクロとコマンド ラインの両方のレベルで革新的な難読化を追加するというこのパターンを継続することは十分に予想されます。次に目にする可能性のあるものについては、ネットワークの監視が新しい攻撃者のトリックを初めて目にしないように、DOS コマンド ラインのトリックを読むことをお勧めします。ネットワーク防御担当者は、難読化の可能性を理解し、エンドポイントとネットワークの可視性を評価する必要があります。最も重要なことは、これらの攻撃を検出するために単一の方法に依存しないことです。

参照: https://www.mandiant.com/resources/blog/obfuscation-wild-targeted-attackers-lead-way-evasion-techniques

Comments

タイトルとURLをコピーしました