[실전 레드팀 개발 및 운영(Red Team Development & Operations) 가이드] 8강 — 8. 레드팀 모의 공격 실행 방법론 (Get In, Stay In, Act)
[Hackerstory 보안 커리큘럼] 8강. 레드팀 모의 공격 실행 방법론: Get In, Stay In, Act
안녕하세요! Hackerstory 공부방의 IT/보안 튜터, 정다은입니다. 👋
지난 7강에서는 레드팀 모의 공격의 핵심 후방 지원 시스템인 C2(Command and Control) 인프라 구축에 대해 알아보았습니다. 튼튼한 C2 인프라라는 '기지'를 마련했으니, 이제 본격적으로 공격을 실행할 차례입니다!
조직의 방어 체계를 검증하기 위해 실제 위협 주체(Adversary)처럼 행동할 때, 레드팀은 어떤 단계와 흐름으로 공격을 진행할까요? 오늘 다룰 8강에서는 Joe Vest와 James Tubberville의 저서 *《Red Team Development and Operations》*에서 강조하는 핵심 실무 라이프사이클인 "Get In, Stay In, Act" 방법론을 깊이 있게 다뤄보겠습니다.
초보자분들도 이해하기 쉽게 단계별 개념과 실제 도구, 활용 예시까지 알차게 준비했으니 차근차근 따라와 주세요!
1. 'Get In, Stay In, Act' 라이프사이클이란?
MITRE ATT&CK 프레임워크가 공격자의 세부적인 기술(TTP)을 분류한 '백과사전'이라면, Get In, Stay In, Act는 레드팀 연작(Engagement)을 실행할 때 공격자의 사고 흐름을 단순화하고 명확히 해주는 작전 실행 프레임워크입니다.
[1단계: Get In] ───> [2단계: Stay In] ───> [3단계: Act]
(초기 침투 및 거점) (지속성 & 권한 상승) (목표 달성 및 영향력 시연)
- Get In (침투): 경계를 뚫고 대상 네트워크 내부로 진입하여 최초의 거점(Foothold)을 마련합니다.
- Stay In (유지): 시스템이 재부팅되거나 보안 솔루션이 차단하더라도 접속을 유지(Persistence)하고, 내부 이동을 위해 권한을 상승(Privilege Escalation)시킵니다.
- Act (목표 달성): 시나리오상 정의된 최종 목표(데이터 유출, 핵심 시스템 제어 시연 등)를 수행하여 조직에 미치는 실질적인 영향을 입증합니다.
이제 각 단계가 어떻게 동작하는지 자세히 알아보겠습니다.
2. 단계별 실행 기법 및 예시
1️⃣ Get In (초기 침투)
💡 개념 설명
Get In은 조직의 외곽 방어선을 무너뜨리고 내부 컴퓨터나 시스템에서 **최초의 코드 실행(Initial Code Execution)**을 성공시키는 단계입니다. Red Team은 무차별적인 스캔보다는 사전 수집된 정보(OSINT)를 바탕으로 정교하게 타겟팅된 방식을 사용합니다.
주요 기법 및 도구
- 스피어 피싱 (Spear Phishing): 임직원을 대상으로 악성 첨부파일이나 링크가 포함된 메일을 발송합니다. (도구: GoPhish, Evilginx)
- 외부 노출 서비스 공격 (External Exploitation): 패치되지 않은 VPN, 웹 애플리케이션 취약점을 공격합니다.
- 패스워드 Spraying: 흔히 사용되는 비밀번호(예:
Summer2024!)를 다수의 계정에 시도하여 계정을 잠그지 않고 탈취합니다.
📝 실행 예시 scenario
[시나리오: 정교한 LNK 파일 기반 피싱]
- 공격자는 대상 기업의 구매팀 직원에게 "견적서_요청.zip" 파일이 첨부된 스피어 피싱 메일을 발송합니다.
- 압축 파일 내부에는 실제 문서처럼 보이는
견적서_상세.pdf.lnk(바로가기 파일)가 들어있습니다.- 사용자가 이 파일을 클릭하면, 백그라운드에서 난독화된 PowerShell 명령어가 실행되어 사전 구축한 C2 서버로 접속합니다.
- 결과적으로 구매팀 PC에 **Cobalt Strike의 Beacon(에이전트)**이 설치되며 최초 거점(Get In)을 확보합니다.
2️⃣ Stay In (거점 유지 및 권한 상승)
💡 개념 설명
최초 진입에 성공했더라도, 사용자가 PC를 끄거나 보안 팀이 악성 프로세스를 종료하면 연결이 끊깁니다. Stay In 단계에서는 **(1) 지속성(Persistence)**을 확보하여 언제든 다시 접속할 수 있게 만들고, (2) 권한 상승 및 내부 탐색을 통해 내부 네트워크 전체를 제어할 수 있는 자격을 얻습니다.
주요 기법 및 도구
- 지속성 확보 (Persistence):
- 레지스트리 Run Key / 작업 스케줄러(Scheduled Tasks): 부팅 시 또는 특정 시간에 악성 코드가 자동으로 실행되도록 등록합니다.
- DLL Side-Loading: 정상적인 프로그램이 DLL을 로드할 때 악성 DLL을 대신 로드하게 만듭니다.
- 권한 상승 (Privilege Escalation):
- 로컬 권한 상승: OS 취약점, 잘못 설정된 서비스 권한(Unquoted Service Path) 등을 이용해
SYSTEM권한을 획득합니다. (도구: WinPEAS, PrivescCheck) - Active Directory(AD) 권한 상승: Domain Controller를 제어하기 위해 Kerberoasting, AS-REP Roasting 등의 기법으로 고권한 계정 해시를 탈취합니다. (도구: BloodHound, Rubeus, Mimikatz)
- 로컬 권한 상승: OS 취약점, 잘못 설정된 서비스 권한(Unquoted Service Path) 등을 이용해
📝 실행 예시 scenario
[시나리오: AD 환경에서의 권한 상승 및 거점 유지]
- 최초 진입한 PC에서 작업 스케줄러를 등록합니다. 매일 오전 9시마다 난독화된 C2 에이전트가 실행되도록 설정해 Stay In 상태를 만듭니다.
- BloodHound 도구를 실행하여 현재 계정에서 'Domain Admin(도메인 관리자)' 권한까지 도달할 수 있는 공격 경로(Attack Path)를 시각화합니다.
- Rubeus 도구로 Kerberoasting 공격을 수행하여 서비스 계정의 Kerberos 티켓 해시를 추출하고, 이를 오프라인에서 크랙하여 평문 비밀번호를 알아냅니다.
- 확보한 서비스 계정 권한을 바탕으로 도메인 컨트롤러(DC)의 최고 관리자 권한을 획득합니다.
3️⃣ Act (최종 목표 달성)
💡 개념 설명
권한을 얻었다면 이제 교전 수칙(ROE)에 따라 **목표를 달성(Act)**해야 합니다. 주의할 점은 레드팀의 목표가 시스템 파괴가 아니라 **"실제 공격자가 일으킬 수 있는 위협을 안전하게 시연하는 것"**이라는 점입니다.
주요 기법 및 도구
- 측면 이동 (Lateral Movement): 탈취한 자격 증명(Pass-the-Hash, Pass-the-Ticket)을 사용해 내부의 다른 핵심 서버(DB, 핵심 임원 PC 등)로 이동합니다. (도구: Impacket, PsExec, WMI)
- 데이터 수집 및 터널링 (Data Staging & Tunneling): 목표 데이터(기획서, 고객 정보 DB 등)를 압축/암호화한 후, 보안 장비를 우회하여 내부 네트워크 밖으로 빼냅니다. (도구: Chisel, Ligolo-ng, DNS Tunneling)
- 영향력 시연 (Impact Emulation): 랜섬웨어 감염 시뮬레이션(실제 암호화 대신 특정 위치에 텍스트 파일 생성)이나 핵심 시스템 마비 시나리오를 안전하게 검증합니다.
📝 실행 예시 scenario
[시나리오: 핵심 데이터 유출 시연]
- 도메인 관리자 권한을 이용해 고객 정보가 보관된 내부 DB 서버로 Pass-the-Hash 기술을 통해 접근합니다.
- 실제 개인정보 대신 테스팅용 가상 데이터(Dummy Data) 10,000건을 추출하여 ZIP 파일로 압축하고 AES로 암호화합니다.
- DLP(데이터 유출 방지) 솔루션을 우회하기 위해 정상적인 HTTPS 암호화 통신 채널을 통해 레드팀의 외부 수신 서버로 데이터를 유출(Exfiltration)시킵니다.
- "핵심 자산 도난 가능성 입증"이라는 시나리오 최종 목표(Act)를 달성합니다.
3. 핵심 요약 및 정리
오늘 배운 Get In, Stay In, Act 방법론을 한눈에 정리해 볼까요?
| 단계 | 핵심 목표 | 대표 기법 / 기술 | 주요 도구 |
|---|---|---|---|
| 1. Get In | 내부 네트워크 최초 진입 및 거점 마련 | 스피어 피싱, 패스워드 스프레이, 외부 취약점 공격 | GoPhish, Evilginx, Cobalt Strike |
| 2. Stay In | 접속 유지 및 내부 권한 상승 | 작업 스케줄러 등록, Kerberoasting, AD 공격 경로 분석 | BloodHound, Rubeus, Mimikatz, WinPEAS |
| 3. Act | 시나리오상 최종 목표 달성 및 영향력 시연 | 측면 이동(Pass-the-Hash), 데이터 암호화 및 외란 유출 | Impacket, Chisel, Ligolo-ng |
💡 튜터 다은의 한마디! 레드팀 활동에서 가장 중요한 것은 **"얼마나 멋지게 뚫었는가"가 아니라 "이 과정을 통해 우리 조직의 방어팀(Blue Team)이 공격을 어디서 놓쳤는지 식별해 주는가"**입니다. Act 단계에서도 파괴적인 행동이 아닌, 방어 역량을 측정할 수 있는 선에서 안전하게 수행해야 한다는 점을 꼭 기억해 주세요!
🚀 다음 챕터 예고
공격을 멋지게 성공시켰다면, 이제 무슨 작업을 해야 할까요? 그냥 "끝났습니다!" 하고 철수하면 절대 안 됩니다! 😉
다음 9강에서는 **"공격 실행 로깅, 데이터 수집 및 작전 추적/관리"**에 대해 배웁니다. 레드팀이 수행한 모든 공격 명령어, 접속 기록, 타임스탬프를 어떻게 기록(Logging)하고 관리해야 방어팀과의 추후 협업(Purple Teaming) 및 보고서 작성에 활용할 수 있는지 실무 노하우를 공개합니다.
다음 시간에도 열정적인 모습으로 만나요! 수고 많으셨습니다. 정다은 튜터였습니다! ❤️
댓글 0
로그인하면 댓글을 작성할 수 있습니다.