Hancitor (別名 Chanitor) は、複数の攻撃アプローチを使用して観察されました

Email with a malicious document attached news

多くの脅威アクターは、複数の攻撃ベクトルを使用して成功を収めています。 Hancitor マルウェア (別名 Chanitor) を使用している個人も例外ではなく、最終的に被害者からデータを盗むためにマルウェアを配信するために 3 つのアプローチをとっています。これらの手法には、まれな API の悪用や PowerShell メソッドが含まれます。

最近、FireEye Exploit Guard の一部の顧客に対する Hancitor 攻撃を確認しました。 Hancitor 実行可能ファイルの配信に使用された悪意のあるドキュメントは、電子メール スパムの添付ファイルとして配布されていることが確認されました。ダウンロードして実行すると、Pony DLL と Vawtrak 実行可能ファイルをさらにダウンロードする中間ペイロードを投下し、データを盗んでコマンド アンド コントロール (C2) サーバーに接続します。

ステージ 1: メール配信

図 1 に示すように、請求書を参照するフィッシング メールが多数確認されました。これらのメールの添付ファイルは、悪意のあるマクロを含む武器化された Microsoft Office ドキュメントであり、有効にすると、Hancitor のダウンロードにつながります。

Email with a malicious document attached
図 1: 悪意のあるドキュメントが添付された電子メール
ステージ 2: マクロとルアー メカニズム

図 2 に示すように、添付ファイルを開くと、被害者にマクロを有効にするように指示する典型的なおびき寄せメカニズムが使用されます。FireEye は、このキャンペーンの背後にいる攻撃者が 3 つの異なるアプローチを使用していることを確認しています。

被害者をおびき寄せてマクロを有効にする
図 2: 被害者をおびき寄せてマクロを有効にする
最初のアプローチ

他の悪意のあるマクロとは異なり、このマクロは API を直接使用してペイロードを実行していません。マクロは API を直接呼び出すことができますが、通常はシェルコードを実行することは想定されていません。図 3 に示すように、Hancitor を配信するために使用されるマクロは、シェルコードの解釈と実行に使用できるネイティブ Windows API である「CallWindowProc」を呼び出します。

CallWindowProc API を使用してシェルコードを実行するマクロ内のコード
図 3: CallWindowProc API を使用してシェルコードを実行するマクロ内のコード
第二のアプローチ

最近、FireEye Exploit Guard は、新しい API コールバック関数を利用する Hancitor サンプルをキャプチャしました。 「CallWindowProc」に加えて、Hancitor サンプルは関数 EnumResourceTypesA を使用してシェルコードを解釈および実行する場合があります (図 4 参照)。

EnumResourceTypesA API 宣言
図 4: EnumResourceTypesA API 宣言
第三のアプローチ

また、悪意のあるドキュメント ファイルが Hancitor を配信するために使用する 3 番目のアプローチも確認しました。脅威アクターとコマンド アンド コントロール サーバーは 2 番目の Hancitor 配信アプローチと似ていますが、これは別の戦術を使用してデータの盗難という目標を達成します。

このアプローチにより、図 2 に示す魅力的なメッセージは別の目的を果たします。被害者をおびき寄せてマクロを有効にするだけでなく、代替テキスト「fkwarning」も割り当てられます (図 5 参照)。マクロには、この属性をチェックして、おびき寄せるメッセージ シェイプ オブジェクトが存在することを確認するコードが含まれています。このオブジェクトが見つからない場合、マクロは追加のペイロードをダウンロードせずに終了します。

おびき寄せるメッセージが無傷であり、悪意のあるドキュメントが初めて実行されることを確認するためのコード
図 5: おびき寄せるメッセージが無傷であり、悪意のあるドキュメントが初めて実行されることを確認するためのコード

おびき寄せるメッセージが見つかった場合でも、図 6 に示すように、マクロを 1 回実行し、形状を削除して、マクロが二度と実行されないようにします。

ルアー メッセージを含む形状を削除するコード
図 6: ルアー メッセージを含む形状を削除するコード

悪意のあるマクロは、図 7 に示すように、削除された画像を「ネットワーク エラー」というテキストを表示する別の画像に置き換えて、ユーザーの疑念を軽減します。テキストは常に悪意のあるマクロに存在することに注意してください。初めて実行されます。

マクロが初めて実行されたときに表示される非表示のテキスト
図 7: マクロが初めて実行されると表示される非表示のテキスト

次に、マクロはコードの断片を組み合わせて PowerShell コマンドを作成します。ただし、他のアプローチとは異なり、悪意のあるコードはコード、フォーム、またはメタデータに隠されません。図 8 に示すように、マルウェアが埋め込み画像の section_header 内から悪意のあるコード フラグメントを抽出し、それらをその場で PowerShell コマンドに結合することを確認しました。この手法は、マクロ マクロ フォームに適用されるいくつかの基本的な静的検出方法を回避します。

フォント サイズを大きくした後にヘッダーで PowerShell コマンドが確認される
図 8: フォント サイズを大きくした後にヘッダーに表示される PowerShell コマンド

マルウェアの作成者は、PowerShell コマンド テキストをわかりにくくするために、非常に単純ですが興味深いアプローチを採用しています。図 9 に示すように、フォント サイズは微視的なレベル 1 に設定されています。

ヘッダーのコンテンツを隠すための最小限のフォント サイズ
図 9: ヘッダーのコンテンツを隠すための最小限のフォント サイズ

「DownloadFile」メソッドを使用して、PowerShell は攻撃者が制御する Web サイトからペイロードを ZIP アーカイブ形式で取得します。 PowerShell は、「copyhere」機能を使用してペイロードを解凍します。図 10 に示すように、「.Item」属性も「16」に設定され、すべての警告が無視されます。

アーカイブされたペイロードをダウンロードして解凍するコード
図 10: アーカイブされたペイロードをダウンロードして解凍するコード

ダウンロードした実行可能ファイルが ZIP アーカイブから抽出されると、マクロ コードは「Kill」機能を使用してアーカイブを削除します (図 11 参照)。

アーカイブを削除するコード
図 11: アーカイブを削除するコード
異なるアプローチ、同じハンシトール

Hancitor を配布する 2 番目と 3 番目のアプローチには違いがありますが、どちらのアプローチでも同じコマンド アンド コントロール サーバーが使用されていることがわかったため、攻撃者の目的は同じです。

ただし、最初の Hancitor アプローチのコマンド アンド コントロール サーバーと比較すると、2 番目の Hancitor アプローチのコマンド アンド コントロール サーバーには小さな変更が見られます。 12.

以前のおよび新しい Hancitor ゲート
図 12: 以前の Hancitor ゲートと新しい Hancitor ゲート
ステージ 3: 第 1 ステージのペイロード

このファイルは自身を「%system32%」にコピーし、永続化のためにレジストリ実行キー エントリを作成します。実行されると、攻撃者が管理する Web サイトと通信して、Pony マルウェアの亜種である「pm.dll」と標準の Vawtrak トロイの木馬をダウンロードします。

ステージ 4: 第 2 ステージのペイロード Pony のデータ抽出機能

第 2 段階の Pony 亜種には、次のような多数のデータ盗難機能が確認されました。

1) 図 13 に示すように、ユーザーのパスワードを含む可能性があるオートコンプリート Intelliforms データを盗みます。

Intelliforms レジストリ キーの内容を盗む
図 13: Intelliforms レジストリ キーの内容を盗む

2) 図 14 に示す一意の GUID は、資格情報ストアから資格情報を解読するのに役立ちます。このソルト値を使用して資格情報にアクセスする方法については、さまざまなフォーラムに大量のドキュメントがあります。

資格情報の盗用
図 14: 資格情報の盗用

3) 図 15 に示すように、「signons.txt」から Mozilla が保存したパスワードにアクセスします。

Mozilla に保存されたパスワードへのアクセス
図 15: Mozilla に保存されたパスワードへのアクセス

4) 図 16 は、Microsoft OMI メール構成情報へのアクセスによる窃盗に関連するマルウェア コードを示しています。また、Outlook プロファイルの保存に関連するレジストリ エントリも確認できます。これには、アクセスされている電子メールやその他のデータが保存されている場所に関する情報が含まれています。

レジストリ アクセスによる Outlook データ盗難のマルウェア コード
図 16: レジストリ アクセスを介した Outlook データ盗難のマルウェア コード

結論

Hancitor を担当するマルウェアの作成者は、マルウェアのインストールとデータの盗難をサポートする悪意のあるマクロ内にいくつかの機能を開発しました。これらの機能には、一般的でない API の活用や悪意のある PowerShell コマンドの隠蔽など、検出をより困難にする戦術が含まれます。

FireEye Exploit Guard は、これらの回避手法に関係なく、攻撃ライフサイクルの初期段階で悪意のあるシェルコードを検出する機能を組織に提供します。

FireEye では、グループ ポリシーによって、インターネットから発信された Microsoft Office ドキュメント内のマクロをブロックすることを組織に推奨しています。どのような場合でも、ユーザーはマクロを有効にすることに慎重であり、信頼できない送信元からの電子メール メッセージを開くことに注意する必要があります。

参考: https ://www.mandiant.com/resources/blog/hancitor-aka-chanit

Comments

Copied title and URL