Adversaries may modify host software binaries to establish persistent access to systems. Software binaries/executables provide a wide range of system commands or services, programs, and libraries. Common software binaries are SSH clients, FTP clients, email clients, web browsers, and many other user or server applications.
Adversaries may establish persistence though modifications to host software binaries. For example, an adversary may replace or otherwise infect a legitimate application binary (or support files) with a backdoor. Since these binaries may be routinely executed by applications or the user, the adversary can leverage this for persistent access to the host. An adversary may also modify a software binary such as an SSH client in order to persistently collect credentials during logins (i.e., Modify Authentication Process).(Citation: Google Cloud Mandiant UNC3886 2024)
An adversary may also modify an existing binary by patching in malicious functionality (e.g., IAT Hooking/Entry point patching)(Citation: Unit42 Banking Trojans Hooking 2022) prior to the binary’s legitimate execution. For example, an adversary may modify the entry point of a binary to point to malicious code patched in by the adversary before resuming normal execution flow.(Citation: ESET FontOnLake Analysis 2021)
After modifying a binary, an adversary may attempt to impair defenses by preventing it from updating (e.g., via the yum-versionlock command or versionlock.list file in Linux systems that use the yum package manager).(Citation: Google Cloud Mandiant UNC3886 2024)
T1554は「Compromise Client Software Binary(クライアントソフトウェアバイナリの侵害)」として定義されている、非常に悪質かつ検知が困難な「永続化(Persistence)」および「防御回避(Defense Evasion)」のテクニックです。
ターゲットの端末にすでにインストールされている正規のアプリケーション(例: Webブラウザ、SSHクライアント、FTPソフトなど)の実行ファイル(バイナリ)そのものを改造・上書きし、マルウェア(悪意あるコード)を埋め込む手法です。
この手法で攻撃者は、「完全に信頼された『本物のアプリ』の内部に寄生し、ユーザーのあらゆる操作や機密情報を無制限に監視・奪取すること」を実現します。
認証情報や通信データのリアルタイム窃取:
ユーザーが毎日使うWebブラウザ(Chromeなど)やSSHクライアント(PuTTYなど)のバイナリが改造されるため、ユーザーが入力した生のパスワード、認証トークン、暗号化される前の通信データを、入力されたその瞬間に100%確実に盗み出すことができます。
究極の防御回避(ホワイトリストの突破):
実行されているのは、デジタル署名を持った(あるいは過去に信頼された)本物の正規アプリケーション(例:chrome.exe)です。そのため、特定の安全なアプリしか起動を許さない「アプリケーションホワイトリスト(AppLockerなど)」や、不審なファイルを弾くアンチウイルスソフトの監視を完全に騙すことができます。
ユーザーの行動に紐づく永続化:
ユーザーが業務のためにそのアプリ(ブラウザなど)を起動するたびに、裏で自動的に攻撃者のコードも動き出すため、スタートアップ設定などを汚さずに強固な潜伏(永続化)が可能になります。
この手法は、ディスク上の保護されたプログラムファイルを書き換える必要があるため、通常は管理者権限(WindowsのAdministrator、Linuxのroot)を事前に確保した上で実行されます。
初期侵入と権限昇格:
フィッシングや脆弱性を突いて端末に侵入し、システム内のファイルを自由に書き換えられる特権(管理者権限)を奪取します。
ターゲットアプリの選定:
ユーザーが日常的に起動し、かつ機密情報を扱うアプリ(例: PuTTY.exe、WinSCP.exe、あるいは各種Webブラウザ、開発者が使う git コマンドなど)を標定します。
バイナリの改造(パッチ当て):
攻撃者は対象の実行ファイル(バイナリ)をバイナリエディタや自動スクリプト(リバースエンジニアリングツール)で解析し、プログラムの隙間に自身の悪意あるコード(シェルコード)を埋め込む、または一部の関数を書き換えます。
ファイルの上書き:
改造した不正なバイナリを、元の正規のインストールフォルダ(例: C:\Program Files\...)に上書き保存します。
実行と情報窃取(トリガー):
ユーザーがいつも通り「仕事をはじめよう」と、そのアプリのアイコンをダブルクリックします。アプリは正常に起動して画面が表示されますが、裏では埋め込まれたマルウェアコードが同時に走り、入力されたパスワードや機密データをC2サーバーへ転送し始めます。
ファイルそのものが改造されるため、従来の挙動監視だけでなく「ファイルの同一性(整合性)」を厳格にチェックすることが不可欠です。
ファイル整合性監視(FIM / 最重要):
C:\Program Files\ や /usr/bin/ などのシステム/アプリケーションディレクトリ内にある重要な実行ファイル(.exe、バイナリ)のハッシュ値を常時監視します。アプリの正規アップデート(Windows Updateや公式インストーラー)以外で、これらのファイルが書き換わった場合は、即座に重大なインシデントとして隔離・アラート化します。
デジタル署名の検証(Code Signing Verification):
EDRやエンドポイントセキュリティ製品を活用し、実行されるプロセス(特に外部と通信を行うアプリ)のデジタル署名が有効であるか(改ざんによってMicrosoftやGoogleなどの正規署名が破綻していないか)をプロセス起動時に厳格にチェックします。
管理者権限の厳格な制限:
一般ユーザーのアカウントからローカル管理者権限を剥奪します。これにより、万が一初期侵入を許しても、Program Files などの保護された領域にあるバイナリを攻撃者が上書きすることを構造的に防ぎます。
トロイの木馬との違い:
最初から偽物として作られたアプリ(トロイの木馬)をダウンロードさせる手法(T1553.002)とは異なり、本手法は「元々は本物として正しくインストールされていたアプリを、後からハッカーが改造する」というアプローチをとります。そのため、事前の検知が極めて難しいのが特徴です。
ユーザーが気づきにくい:
改造されたアプリは、通常通りログインでき、通常通り通信が行えるため、ユーザー自身が「自分のブラウザがハッキングされている」と気づくことはまずありません。
CWE-284: Improper Access Control(不適切なアクセス制御)
重要なアプリケーションバイナリが保存されているフォルダやファイルに対する書き込み権限の管理が不十分で、不正な上書きや改ざん(パッチ当て)を許してしまう問題。
CWE-353: Missing Support for Integrity Check(整合性チェックのサポート欠如)
アプリケーションやOSの起動時において、実行するバイナリファイルが改ざんされていないかをハッシュ値や署名でセルフチェック(整合性検証)する仕組みが不足している問題。
T1554(Compromise Client Software Binary)は、侵入後のハッカーによる「手作業の改ざん(ポストエクスプロイト)」の仕様であるため、特定のCVEバグそのものを指すわけではありません。しかし、標的型攻撃(APT)において、「特定の開発者や管理者の端末を狙い撃ちし、バイナリを書き換える」ために以下のような脆弱性が初期の権限奪取に悪用されます。
CVE-2022-26925 (Windows LSAの脆弱性):
Windowsのドメインコントローラーや重要なサーバーで悪用された、未認証で特権昇格やなりすましが可能になる深刻な脆弱性です。実際のサイバースパイ活動において、この脆弱性等でネットワーク内の管理者端末(踏み台)を掌握したハッカーが、その端末にインストールされていたシステム管理用のリモートアクセスソフトやSSHクライアントのバイナリを改ざん(T1554)し、さらに深い社内ネットワークの認証情報を芋づる式に盗み出すインシデントが発生しています。
SolarWindsサプライチェーン攻撃(CVE-2020-10148等に関連):
手法としては一歩手前の製造工程での混入(T1195サプライチェーン侵害)に近いですが、ハッカー集団(APT29など)は企業の構築環境に侵入した後、コンパイルを行う正規ツールのバイナリ(コンパイラ等)を一時的に書き換えて(T1554)、ビルド時に自動的にバックドアが仕込まれるように細工しました。このように「既存の信頼されたツールを改造する」というT1554の思想は、最先端の国家系サイバー攻撃の核心として使われています。
フォレンジック調査において、「不審な通信を行っているプロセスの名前が chrome.exe や putty.exe であるが、親プロセスや引数にも怪しい点が一切見当たらない」という、一見すると正規の通信にしか見えない事例に遭遇した場合は、本手法(T1554)を疑う必要があります。
そのファイルのハッシュ値を VirusTotal で検索するか、別のクリーンな端末にある同じバージョンの同ファイルとハッシュ値を比較し、「1バイトでもズレていないか(改ざんされていないか)」を検証することが、この極めて狡猾な隠蔽工作を暴く唯一の手段となります。