T1066 - Indicator Removal from Tools
概要
If a malicious tool is detected and quarantined or otherwise curtailed, an adversary may be able to determine why the malicious tool was detected (the indicator), modify the tool by removing the indicator, and use the updated version that is no longer detected by the target's defensive systems or subsequent targets that may use similar systems.
A good example of this is when malware is detected with a file signature and quarantined by anti-virus software. An adversary who can determine that the malware was quarantined because of its file signature may use Software Packing or otherwise modify the file so it has a different signature, and then re-use the malware.
管理者によるコメント
T1066(Indicator Removal from Tools:ツールからのインジケーター削除)は、攻撃者が使用する「攻撃ツール自体」を加工し、セキュリティ製品(アンチウイルスやEDR)によって「悪意あるもの」と判定される特徴(インジケーター)をあらかじめ排除しておく技術です。
1. 概要
Indicator Removal from Toolsとは、既存の攻撃ツール(オープンソースのツールやカスタムマルウェア)に含まれる、特定のシグネチャ(特徴的な文字列、関数名、メタデータなど)を削除・変更する行為です。
攻撃者が実現できること
- 静的検知の回避: 既知のマルウェアの一部であることを示すバイナリ内の文字列やシグネチャを書き換えることで、ブラックリスト方式の検知をすり抜けます。
- 解析の妨害: ツール内に残された開発者の情報、コンパイル時のパス、特有のエラーメッセージなどを消し去り、攻撃の出所(アトリビューション)を特定しにくくします。
- 「無害なツール」への擬態: 悪意のある機能を保持したまま、中身を書き換えて正規のシステムツールのように見せかけます。
2. 攻撃の流れ
攻撃者は、ツールをターゲットに送り込む前に以下の準備を行います。
- 文字列の削除(Stripping):
- 実行ファイルからシンボル情報(関数名や変数名)を削除します。
- 例:Linuxの
strip コマンドを使用して、デバッグ情報を削除する。
- 文字列の置換:
- バイナリエディタやスクリプトを用いて、検知に引っかかりやすい単語(例:
Mimikatz, ReverseShell, Inject)を、無意味な文字列や一般的な単語に置換します。
- メタデータの改ざん:
- コンパイル日時、作成者名、元のファイル名、リソースセクション内の著作権表記などを書き換え、または削除します。
- コードの再構成:
- ソースコードレベルで関数の順序を入れ替えたり、等価な別の命令に書き換えたりして、特定のバイトパターン(シグネチャ)が残らないようにします。
3. 防御・対策
- 動的解析(振る舞い検知): ツールの中身がどう書き換えられていても、実行時の挙動(不審な通信、メモリへの書き込み)は隠せません。EDRによるプロセスの動きを監視します。
- AI/機械学習による検知: 単純な文字列の一致(シグネチャ)ではなく、ファイルの構造的な特徴や不自然な空白領域の存在から、加工されたファイルを検知します。
- 実行ファイルの整合性チェック: 組織内で許可された正規ツールのハッシュ値リスト(ホワイトリスト)と比較し、未知の(=加工された)ツールの実行をブロックします。
- エントロピー解析: インジケーターを消すために無理な加工をした結果、ファイルのデータ分布が不自然になっている箇所を特定します。
4. 重要ポイント
- 「証拠隠滅」の事前準備: T1027(難読化)が「見えなくする」技術であるのに対し、T1066は「特徴的な証拠を削ぎ落とす」という引き算の技術です。
- オープンソースツールの悪用: 攻撃者は GitHub などにある有名なツールをそのまま使うのではなく、必ずと言っていいほどこの T1066 の加工を施してから攻撃に使用します。
5. 関連する主なCWE
- CWE-912 (Managed Code Access Control Violation): 管理されたコードの制御違反。ツールが改ざんされ、本来のチェックをすり抜ける状態。
- CWE-327 (Use of a Broken or Risky Cryptographic Algorithm): 検知を避けるために独自(または脆弱な)方法で文字列を隠蔽することに関連。
6. 関連する代表的なCVE
T1066は「ツールのメンテナンス」に近い手法であるため、脆弱性を突くものではありませんが、以下のツールの「改造版」が攻撃でよく見られます。
- Mimikatz (改造版): 認証情報窃取ツールの代名詞ですが、攻撃者はバイナリ内の "mimikatz" という文字列をすべて書き換えたカスタム版を頻繁に使用します。
- Cobalt Strike (Beacon): 攻撃フレームワークである Cobalt Strike の Beacon(通信用プログラム)も、設定によってインジケーター(通信ヘッダーなど)を柔軟に変更・削除できるよう設計されています。
- CVE-2021-26855 (Proxylogon): このような重大な脆弱性を突いた後、サーバー上に置かれる「Webシェル」は、検知を避けるためにインジケーターが徹底的に削除されたものが使われます。
分析
この攻撃手法を利用する脅威アクター
この攻撃手法を利用する脅威アクターは登録されていません。
関連する CVE
攻撃手法 – 脅威アクター Graph
← Technique一覧に戻る
← Tactics一覧に戻る