| コマンド | 説明 |
|---|
git clone https://github.com/redcanaryco/atomic-red-team.git | Clone Atomic Red Team リポジトリ |
cd atomic-red-team | リポジトリに移動 |
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser | PowerShellモジュールをインストールする |
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force | PowerShellモジュールをインポートする |
Invoke-AtomicTest T1003.001 -ShowDetails | テスト詳細を表示 |
| コマンド | 説明 |
|---|
Get-AtomicTechnique | 利用可能な技法をすべて一覧表示 |
Get-AtomicTechnique -Path "C:\AtomicRedTeam\atomics" | 特定のパスからテクニックをリスト |
| `Get-AtomicTechnique \ | Where-Object {$_.DisplayName -match “credential”}` |
Get-AtomicTechnique T1003 | 特定の技術の詳細を取得 |
Atomic Red Teamは、セキュリティチームが迅速かつ移植可能、再現性のある方法で環境をテストできるMITRE ATT&CKフレームワークにマッピングされたテストライブラリです。
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1566.001 | スピアフィッシング添付ファイル |
Invoke-AtomicTest T1566.002 | スピアフィッシングリンク |
Invoke-AtomicTest T1190 | 公開されているアプリケーションを悪用する |
Invoke-AtomicTest T1133 | 外部リモートサービス |
Invoke-AtomicTest T1200 | ハードウェアの追加 |
インストールとセットアップ
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1059.001 | PowerShell の実行 |
Invoke-AtomicTest T1059.003 | Windows コマンド シェル |
Invoke-AtomicTest T1059.004 | Unix シェル |
Invoke-AtomicTest T1059.006 | Pythonの実行 |
Invoke-AtomicTest T1053.005 | スケジュールされたタスク/ジョブ |
基本的な使用方法
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1547.001 | レジストリ Run キー |
Invoke-AtomicTest T1053.005 | スケジュールタスク |
Invoke-AtomicTest T1543.003 | Windows サービス |
Invoke-AtomicTest T1136.001 | ローカルアカウントの作成 |
Invoke-AtomicTest T1098 | アカウント操作 |
テストの検出
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1548.002 | ユーザーアカウント制御をバイパス |
Invoke-AtomicTest T1055 | プロセスインジェクション |
Invoke-AtomicTest T1134 | アクセストークン操作 |
Invoke-AtomicTest T1068 | 権限昇格のための悪用 |
初期アクセス
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1027 | 難読化されたファイルまたは情報 |
Invoke-AtomicTest T1070.004 | ファイル削除 |
Invoke-AtomicTest T1562.001 | ツールを無効化または変更 |
Invoke-AtomicTest T1218.010 | Regsvr32 |
Invoke-AtomicTest T1036 | なりすまし |
実行
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001 | LSASS メモリダンプ |
Invoke-AtomicTest T1003.002 | セキュリティ アカウント マネージャ |
Invoke-AtomicTest T1003.003 | NTDS.dit |
Invoke-AtomicTest T1110.001 | パスワードスプレー攻撃 |
Invoke-AtomicTest T1555.003 | ウェブブラウザからの認証情報 |
永続性
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1087.001 | ローカルアカウントの検出 |
Invoke-AtomicTest T1087.002 | ドメインアカウント検出 |
Invoke-AtomicTest T1018 | リモートシステムの検出 |
Invoke-AtomicTest T1083 | ファイルとディレクトリの検出 |
Invoke-AtomicTest T1057 | プロセス・ディスカバリー |
権限昇格
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1021.001 | リモート デスクトップ プロトコル |
Invoke-AtomicTest T1021.002 | SMB/Windows 管理共有 |
Invoke-AtomicTest T1021.003 | 分散コンポーネント オブジェクト モデル |
Invoke-AtomicTest T1021.006 | Windows リモート管理 |
Invoke-AtomicTest T1550.002 | パス・ザ・ハッシュ |
### 防御回避
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1005 | ローカルシステムからのデータ |
Invoke-AtomicTest T1039 | ネットワーク共有ドライブからのデータ |
Invoke-AtomicTest T1113 | スクリーンキャプチャ |
Invoke-AtomicTest T1123 | オーディオ キャプチャ |
Invoke-AtomicTest T1115 | クリップボードデータ |
### 認証情報へのアクセス
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1071.001 | Webプロトコル |
Invoke-AtomicTest T1071.004 | DNS(ドメイン・ネーム・システム) |
Invoke-AtomicTest T1090.003 | マルチホップ Proxy |
Invoke-AtomicTest T1573.002 | 非対称暗号 |
### 探索
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1041 | C2チャネルを介した情報流出 |
Invoke-AtomicTest T1048.003 | 平文/難読化された非C2プロトコル経由の情報漏洩 |
Invoke-AtomicTest T1567.002 | クラウドストレージへの情報流出 |
### 水平移動
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1485 | データ破壊 |
Invoke-AtomicTest T1486 | インパクトのためにデータを暗号化 |
Invoke-AtomicTest T1490 | システム回復を抑制 |
Invoke-AtomicTest T1498 | ネットワークサービス拒否 |
### 収集
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001 -InputArgs @{"output_file"="C:\temp\lsass.dmp"} | カスタムパラメータを渡す |
Invoke-AtomicTest T1087.001 -InputArgs @{"username"="testuser"} | ユーザー名パラメータを指定 |
### コマンドと制御
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001,T1003.002,T1003.003 | 複数のテストを実行 |
| `Get-AtomicTechnique \ | ForEach-Object {Invoke-AtomicTest $_.Technique}` |
### 情報流出
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001 -LoggingModule "Attire-ExecutionLogger" | ロギングを有効にする |
Invoke-AtomicTest T1003.001 -ExecutionLogPath "C:\logs\atomic.log" | ログパスを指定 |
Invoke-AtomicTest T1003.001 -TimeoutSeconds 60 | 実行タイムアウトを設定 |
### 影響
# Atomic Red Team Configuration
atomics_folder: "C:\\AtomicRedTeam\\atomics"
log_folder: "C:\\AtomicRedTeam\\logs"
default_timeout: 120
check_prereqs: true
get_prereqs: false
cleanup: true
Environment Variables
| 変数 | 説明 |
|---|
$env:ATOMIC_RED_TEAM_PATH | Atomic Red Team ディレクトリへのパス |
$env:ATOMIC_LOG_PATH | 実行ログのパス |
$env:ATOMIC_TIMEOUT | テストのデフォルトタイムアウト |
Linux/macOS Usage
Installation
| コマンド | 説明 |
|---|
git clone https://github.com/redcanaryco/atomic-red-team.git | リポジトリをクローン |
cd atomic-red-team | ディレクトリに移動する |
chmod +x atomics/*/src/* | スクリプトを実行可能にする |
Execution
| コマンド | 説明 |
|---|
bash atomics/T1059.004/src/T1059.004.sh | Bash ベースのテストを実行する |
python3 atomics/T1059.006/src/T1059.006.py | Python ベースのテストを実行する |
./atomics/T1083/src/T1083-1.sh | 特定のテストバリアントを実行 |
Integration with SIEM
Splunk Integration
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001 -LoggingModule "Splunk" | Splunkにログを記録 |
index=atomic_red_team technique=T1003.001 | Splunkでテスト結果を検索 |
ELK Stack Integration
| コマンド | 説明 |
|---|
Invoke-AtomicTest T1003.001 -LoggingModule "Elasticsearch" | Elasticsearch にログを記録 |
Custom Test Development
Test Structure
attack_technique: T1003.001
display_name: "LSASS Memory"
atomic_tests:
- name: Dump LSASS.exe Memory using ProcDump
auto_generated_guid: 0be2230c-9ab3-4ac2-8826-3199b9a0ebf8
description: |
The memory of lsass.exe is often dumped for offline credential theft attacks.
supported_platforms:
- windows
input_arguments:
output_file:
description: Path where resulting dump should be placed
type: Path
default: C:\Windows\Temp\lsass_dump.dmp
executor:
command: |
procdump.exe -accepteula -ma lsass.exe #{output_file}
name: command_prompt
Custom Test Execution
| コマンド | 説明 |
|---|
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001 | カスタムテストを実行 |
Reporting and Analysis
| コマンド | 説明 |
|---|
Get-AtomicTestResults | 実行結果を取得 |
Export-AtomicTestResults -Format CSV -Path "results.csv" | CSVにエクスポート |
Get-AtomicCoverage | MITRE ATT&CKカバレッジを表示 |
Show-AtomicTestMatrix | テスト行列を表示 |
Automation and Scheduling
PowerShell Scheduled Jobs
$trigger = New-JobTrigger -Daily -At "2:00 AM"
Register-ScheduledJob -Name "AtomicRedTeam" -Trigger $trigger -ScriptBlock {
Import-Module Invoke-AtomicRedTeam
Invoke-AtomicTest T1003.001 -Cleanup
}
Continuous Testing
| コマンド | 説明 |
|---|
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600 | 1時間ごとにテストを実行 |
Security Considerations
- Run tests in isolated environments only
- Ensure proper cleanup after test execution
- Monitor for false positives in security tools
- Document all test executions for compliance
- Use least privilege principles
- Implement proper access controls
- Regular backup before testing
- Coordinate with security operations center
Best Practices
- Start with low-impact techniques
- Always run prerequisite checks first
- Use cleanup functions after testing
- Document test results and observations
- Coordinate with blue team activities
- Test in non-production environments first
- Implement proper logging and monitoring
- Regular updates to test library
- Validate detection capabilities
- Create custom tests for specific environments
Troubleshooting
| コマンド | 説明 |
|---|
Get-Help Invoke-AtomicTest -Full | 詳細なヘルプを取得 |
Test-AtomicTestInputArgs T1003.001 | 入力引数を検証する |
Get-AtomicTestPrerequisites T1003.001 | 前提条件を確認 |
Repair-AtomicTest T1003.001 | テスト問題の修正を試みる |
Common Issues
- Antivirus interference with test execution
- Missing prerequisites or dependencies
- Insufficient privileges for test execution
- Network connectivity issues for external resources
- Path-related issues on different operating systems