Adversaries may take advantage of trusted developer utilities to proxy execution of malicious payloads. There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering.(Citation: engima0x3 DNX Bypass)(Citation: engima0x3 RCSI Bypass)(Citation: Exploit Monday WinDbg)(Citation: LOLBAS Tracker) These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of malicious code through a trusted process that effectively bypasses application control solutions.
Smart App Control is a feature of Windows that blocks applications it considers potentially malicious from running by verifying unsigned applications against a known safe list from a Microsoft cloud service before executing them.(Citation: Microsoft Smart App Control) However, adversaries may leverage "reputation hijacking" to abuse an operating system’s trust of safe, signed applications that support the execution of arbitrary code. By leveraging Trusted Developer Utilities Proxy Execution to run their malicious code, adversaries may bypass Smart App Control protections.(Citation: Elastic Security Labs)
MITRE ATT&CKにおいて、T1127は「Trusted Developer Utilities(信頼された開発者ユーティリティ)」として定義されている「防御回避(Defense Evasion)」のテクニックです。
.NETやVisual StudioプロジェクトをビルドするためのMicrosoft製正規開発ツール MSBuild.exe(Microsoft Build Engine)を悪用し、「XML形式のプロジェクトファイルに悪意あるC#などのコードを埋め込み、セキュリティ制限を潜り抜けてコンパイル&直接プロキシ実行させる」手法です。
この手法で攻撃者は、「未承認のプログラムの実行を禁止するホワイトリスト制御(AppLocker/WDAC)やアンチウイルスをバイパスし、メモリ上でバックドアを動作させること」を実現します。
アプリケーションホワイトリスト(AppLocker等)の完全バイパス:
組織内で「未承認の .exe ファイル」の実行が制限されていても、Microsoftのデジタル署名がついた正規バイナリである MSBuild.exe は制限対象外となっているケースが多いため、検知されずにコードを実行できます。
ディスクにバイナリ(.exe/.dll)を残さない: ソースコード(XML)からメモリ上で直接コンパイル・実行するため、ディスク上に不審な実行ファイルを生成・保存する必要がなく、ファイルスキャン型のアンチウイルスを回避できます。
MSBuild.exe には、プロジェクトファイル(.csproj や .xml)内に記述されたカスタムタスク(Inline Tasks)をビルド時に自動実行する仕様が存在します。攻撃者はこの機能を悪用します。
初期侵入と足がかり:
マクロや別の攻撃手法を用いてターゲット端末でコマンド実行権限を得ます。
悪意あるXML(プロジェクトファイル)の作成:
XML構造の中に <UsingTask> タグを仕込み、その中にC#などのコード(シェルコードをデコードしてメモリ注入・C2接続する処理など)を直接埋め込んだファイル(例: build.xml)を作成します。
MSBuildによる悪用実行(トリガー):
ターゲット端末で以下のコマンドを実行します。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe C:\Windows\Temp\build.xmlインラインコンパイルとメモリ上での即時実行:
MSBuild.exe はXML内のC#コードをその場でコンパイルし、MSBuild.exe 自体のプロセス内部(メモリ空間)で攻撃コードを直接キックします。
C2接続の確立(目的達成):
セキュリティソフトからは「正規の開発用ビルド処理が行われた」としか見えない状態で、裏でC2サーバーとの暗号化通信が確立されます。
開発ツールが一般端末で意図せず起動する挙動を監視・制限することが不可欠です。
非開発者端末での MSBuild.exe の実行制限(最重要):
WDAC(Windows Defender Application Control)やAppLockerの設定で、ソフトウェア開発を行わない一般ユーザーの端末において MSBuild.exe の起動自体を一律ブロック(WDAC推奨ブロック規則を適用)します。
MSBuildによる外部ネットワーク通信の遮断:
ビルドツールである MSBuild.exe が、直接インターネット上の未知の外部IPへHTTP/HTTPS通信を行うことは原則ありません。EDRやファイアウォールで「MSBuild.exe によるアウトバウンド通信」を検知・自動ブロックします。
不審なXMLファイルや親プロセスの監視:
MSBuild.exe が、Word・ExcelなどのOfficeアプリ(winword.exe等)、cmd.exe、powershell.exe から呼び出されていないか、また引数に \Temp\ や \AppData\ 配下のXMLファイルが指定されていないかをプロセスコマンドラインログ(WindowsイベントID 4688 / Sysmon イベントID 1)で監視します。
「コンパイル機能」そのものの悪用:
通常のプロキシ実行(Regsvr32やInstallUtilなど)はコンパイル済みのDLLやスクリプトを呼び出しますが、MSBuildは「ソースコードの状態からその場でビルドして実行できる」点が極めて脅威です。これにより、シグネチャによる検知が極めて難しくなります。
Lolbins(環境寄生バイナリ)の代表格:
Windows環境に.NET Frameworkとともに標準搭載されているため、攻撃者は別途コンパイラを持ち込む必要がありません。
CWE-88: Improper Neutralization of Argument Delimiters in a Command (Argument Injection)
信頼されたコマンドラインツールに対して外部から引数(悪意あるプロジェクトファイル)を読み込ませることで、プロセスの内部実行フローを攻撃者が外部から制御できてしまう脆弱性。
CWE-284: Improper Access Control(不適切なアクセス制御)
ビルドユーティリティが保持する高い実行権限や信頼を、制限なく一般ユーザー空間の任意のコードコンパイル&実行に流用できてしまうアクセス制御の設計不備。
APT29(Cozy Bear / ロシア背景とされるハッカー集団):
政府機関や外交ルートを標的としたサイバーエスピアナージにおいて、ホワイトリストを回避してメインのペイロード(Cobalt Strike Beacon)を読み込ませるローダーとして、MSBuildプロジェクトファイルにC#コードを埋め込む手法を多用しました。
Dark Pink(APTアクター):
東南アジアの政府機関や宗教団体を狙ったサイバー攻撃において、ドロッパーから生成された不審なMSBuildプロジェクト(.xml)を MSBuild.exe 経由でキックし、セキュリティ製品の監視をすり抜けてメインのStealer(情報窃取マルウェア)をロードさせる複合攻撃を行いました。
実務上のアドバイス:
一般企業の端末(営業や人事、総務などのPC)において MSBuild.exe が動作する理由は基本的に存在しません。
SOCやEDRの監視ルールにおいて、「開発部署以外のPCにおける MSBuild.exe の実行」および「MSBuild.exe を親プロセスとする不審な子プロセス(cmd.exe やネットワーク接続プロセス)の生成」を一律で「高脅威アラート(High/Critical)」として定義・自動隔離する運用が非常に有効です。
この攻撃手法を利用する脅威アクターは登録されていません。
この攻撃手法に関連する CVE は登録されていません。