
RTAは、ブルーチームが悪意のあるトレードクラフトに対する検出能力をテストできるように設計されたスクリプトのフレームワークを提供します。これはMITRE ATT&CKをモデルにしています。
RTAは、50以上の異なるATT&CK戦術の証拠を生成するPythonスクリプトと、必要に応じてファイルのタイムストッピング、プロセスインジェクション、ビーコンシミュレーションなどのアクティビティを実行するコンパイル済みバイナリアプリケーションで構成されています。
可能な場合、RTAは説明されている実際の悪意のあるアクティビティを実行しようとします。それ以外の場合、RTAはアクティビティの全部または一部をエミュレートします。例えば、一部の横方向移動はデフォルトでローカルホストをターゲットにします(ただし、パラメータを使用することで通常はマルチホストテストが可能です)。また、cmd.exeやpython.exeなどの実行ファイルがリネームされ、Windowsバイナリが非標準のアクティビティを行っているように見せかける場合もあります。
一部のRTAは正常に実行するためにサードパーティのツールが必要です。追加のツールなしで多くのRTAを実行できますが、フルスイートを利用するには追加のダウンロードが必要なものもあります。
以下の表は依存関係の情報を提供します:
| 依存関係 | RTAs | ソース |
|---|---|---|
| Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | Microsoft |
| MsXsl | msxsl_network.py | Microsoft |
Windows Defender や他のアンチウイルス製品は、RTAの実行中にブロックしたり妨害したりする可能性があります。テストの目標に基づいて、RTAを実行する前にテストホスト上のセキュリティ製品の設定方法を検討してください。
common.py を変更することで、RTAスクリプトが環境でどのように動作するかをカスタマイズできます。まったく新しい関数を作成して、1つ以上の新しいRTAで使用することも可能です。
powershell_args.py RTAを実行するには、次のように実行します:
python powershell_args.py
RTAのディレクトリ全体を実行する最も簡単な方法は、提供されているスクリプトランナー "run_rta.py" を使用することです。このスクリプトランナーは、"red_ttp" サブディレクトリ内のすべてのスクリプトを実行でき、デフォルトでそれを実行します:
すべてのオペレーティングシステム:
python run_rta.py
または、ループを使用することもできます:
Windows:
for %f in (*.py) do python %f
Linux/Mac:
for i in (*.py); do python $i; done
どのルールも引数を必要としませんが、一部はテクニックのさらなるカスタマイズのためにオプションで引数を取ることができます。
よくある問題を解決するために、以下のよくある質問を参照してください:
これは、Python 2.7の代わりにPython 3.xがインストールされている場合に発生する可能性があります。前提条件では2.7を指定していますが、長期的には3.xを使用することを検討しています。
依存関係の欠落に関するエラーを解決するには、Sysinternalsスイートなどのサードパーティ製ユーティリティをダウンロードし、これらの実行ファイルを "bin" サブディレクトリに抽出したことを確認してください。
環境にホストベースのファイアウォールがあり、横方向移動を妨げている可能性があります。これは素晴らしいことであり、本番環境では無効にしないでください!代わりに、失敗した試行を検出できるかどうかを確認してください。
Windows Defenderや他のAV製品が悪意のあるアクティビティを検出すると、ファイルをロックしてこのエラーが発生することがあります。AVログを確認して、それがエラーの原因かどうかを確認してください。
Endgameは今後数週間から数ヶ月にわたって、さまざまなMITRE ATT&CKテクニックに対応するスクリプトをリリースし続けます。すでにスクリプトを作成している場合は、プルリクエストを受け付けており、追加を喜んでレビューしてマージします!このリポジトリに貢献することは、コミュニティ全体のためにRTAを拡張する素晴らしい方法です。