コンテンツにスキップ

Atomic Red Team

コマンド説明
git clone https://github.com/redcanaryco/atomic-red-team.gitClone Atomic Red Team リポジトリ
cd atomic-red-teamリポジトリに移動
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUserPowerShellモジュールをインストールする
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -ForcePowerShellモジュールをインポートする
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.001PowerShell の実行
Invoke-AtomicTest T1059.003Windows コマンド シェル
Invoke-AtomicTest T1059.004Unix シェル
Invoke-AtomicTest T1059.006Pythonの実行
Invoke-AtomicTest T1053.005スケジュールされたタスク/ジョブ

基本的な使用方法

コマンド説明
Invoke-AtomicTest T1547.001レジストリ Run キー
Invoke-AtomicTest T1053.005スケジュールタスク
Invoke-AtomicTest T1543.003Windows サービス
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.010Regsvr32
Invoke-AtomicTest T1036なりすまし

実行

コマンド説明
Invoke-AtomicTest T1003.001LSASS メモリダンプ
Invoke-AtomicTest T1003.002セキュリティ アカウント マネージャ
Invoke-AtomicTest T1003.003NTDS.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.002SMB/Windows 管理共有
Invoke-AtomicTest T1021.003分散コンポーネント オブジェクト モデル
Invoke-AtomicTest T1021.006Windows リモート管理
Invoke-AtomicTest T1550.002パス・ザ・ハッシュ
### 防御回避
コマンド説明
Invoke-AtomicTest T1005ローカルシステムからのデータ
Invoke-AtomicTest T1039ネットワーク共有ドライブからのデータ
Invoke-AtomicTest T1113スクリーンキャプチャ
Invoke-AtomicTest T1123オーディオ キャプチャ
Invoke-AtomicTest T1115クリップボードデータ
### 認証情報へのアクセス
コマンド説明
Invoke-AtomicTest T1071.001Webプロトコル
Invoke-AtomicTest T1071.004DNS(ドメイン・ネーム・システム)
Invoke-AtomicTest T1090.003マルチホップ Proxy
Invoke-AtomicTest T1573.002非対称暗号
### 探索
コマンド説明
Invoke-AtomicTest T1041C2チャネルを介した情報流出
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_PATHAtomic 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.shBash ベースのテストを実行する
python3 atomics/T1059.006/src/T1059.006.pyPython ベースのテストを実行する
./atomics/T1083/src/T1083-1.sh特定のテストバリアントを実行

Integration with SIEM

Splunk Integration

コマンド説明
Invoke-AtomicTest T1003.001 -LoggingModule "Splunk"Splunkにログを記録
index=atomic_red_team technique=T1003.001Splunkでテスト結果を検索

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-AtomicCoverageMITRE 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 36001時間ごとにテストを実行

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