| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 교체 정책
- cloudgoat
- ADsP책추천
- dreamhack
- AWS
- Simple Crack Me
- 운영체제
- ADsP시험
- randzzz
- OS
- Pacu
- writeup
- user pool
- adsp독학
- id pool
- 26년 1회
- ADsP합격
- OWASP TOP 10
- 라운드로빈
- wargame
- OpenClaw
- 세그먼테이션
- 병행성
- 시나공ADsP
- rev-basic-4
- ADsP
- ADsP교재
- HRRN
- Juice Shop
- rev-basic-3
- Today
- Total
chon
[ CloudGoat ] Pacu 본문
Pacu 란?
Pacu는 AWS 환경에서 취약점을 찾고, 권한을 상승시키고, 데이터를 탈취하는 모든 과정을 자동화해주는 오픈소스 침투 테스트 프레임워크다.
침투 테스터가 AWS 계정의 구성 취약점을 악용할 수 있도록 지원하며, 모듈을 사용하여 기능을 쉽게 확장할 수 있다. 현재 제공되는 모듈은 사용자 권한 상승, IAM 사용자 백도어 설치, 취약한 Lambda 함수 공격 등 다양한 공격을 가능하게 한다.
Github 링크
GitHub - RhinoSecurityLabs/pacu: The AWS exploitation framework, designed for testing the security of Amazon Web Services enviro
The AWS exploitation framework, designed for testing the security of Amazon Web Services environments. - RhinoSecurityLabs/pacu
github.com
설치 및 기본 사용 가이드는 Github에서 확인할 수 있다.
Pacu의 주요 기능
1. 정찰 (Reconnaissance)
정찰 단계는 모든 후속 공격 활동의 기반을 구축한다. Pacu의 열거 모듈은 최적화된 API 사용을 통해 탐지 위험을 최소화하면서 AWS 환경에 대한 포괄적인 가시성을 제공한다.
- iam __enum_permissions : 자격 증명에 연결된 정책을 분석하여 실제 실행 가능한 API 액션 권한을 도출한다.
- iam __ bruteforce_permissions : 정책 문서에 명시되지 않았으나 실제 호출 가능한 API 권한을 전수 조사하여 숨겨진 권한을 파악한다.
- ec2__enum / s3__enum : VPC 네트워크 구조, 보안 그룹 설정 및 S3 버킷의 접근 통제 정책을 스캔하여 인프라 맵을 구축한다.
- aws__enum_account: 조직 단위(OU) 정보 및 계정 세부 설정을 확인하여 공격 범위를 결정한다.
권한 상승 (Privilege Escalation)
현재 보유한 제한적인 권한을 악용하여 상위 권한(Administrator)을 획득하는 단계
iam__privesc_scan 모듈은 IAM 정책의 구성 오류를 찾아내어 이를 공격 경로로 활용한다.
- 권한 상속 기법: 특정 역할(Role)을 신뢰 관계가 설정된 EC2 인스턴스에 할당한 뒤, 메타데이터 서비스를 통해 해당 역할을 탈취하는 메커니즘을 사용한다.
- 정책 버전 조작: 새 정책 버전을 생성하거나 기존 인라인 정책을 수정하여 공격자에게 더 높은 수준의 권한을 부여하는 방식을 자동화한다.
3. 데이터 탈취 (Exfiltration)
식별된 민감 정보를 외부 인프라로 이동시키는 단계
Pacu는 탐지를 피하기 위해 필요한 데이터만 선별적으로 추출하는 기능을 제공합니다.
- 객체 필터링 유출: s3__download_bucket 모듈을 통해 버킷 내 중요 키워드가 포함된 객체만 선별하여 전송한다.
- lambda__download_source: 모든 Lambda 함수의 소스 코드를 로컬로 다운로드하여 내부 로직 및 하드코딩된 기밀 정보를 분석한다.
- ec2__download_userdata: EC2 인스턴스 생성 시 입력된 사용자 데이터를 확인하여 스크립트 내 평문 비밀번호나 설정값을 탈취한다.
- 구성 정보 평문 추출: Secrets Manager 및 Parameter Store를 전수 조사하여 암호화되지 않은 자격 증명과 환경 변수를 수집한다.
- 스냅샷 외부 공유: EBS 또는 RDS의 스냅샷을 생성한 후, 이를 공격자가 통제하는 외부 AWS 계정으로 공유하여 데이터를 원격으로 복제한다.
4. 탐지 회피 및 지속성 유지
공격 성공 후 보안 관제 시스템(SIEM/IDS)의 추적을 따돌리고 재진입 경로를 확보하는 최종 단계
- 로깅 무력화: cloudtrail__stop_logging 을 통해 활동 기록 생성을 중단하거나, 로그 보존 설정을 변경하여 침해 사고 분석을 방해합니다.
- 탐지 예외 설정: GuardDuty 등의 보안 서비스에 특정 IP를 화이트리스트로 등록하여 비정상 행위 탐지 알람을 차단합니다.
- 백도어 구축: 기존 IAM 사용자 계정에 별도의 Access Key를 추가 생성하거나 신뢰 관계를 조작하여, 원래의 자격 증명이 삭제되더라도 접근 권한을 유지하도록 설계합니다.
Pacu 기본 사용법
Pacu는 독자적인 터미널 환경을 가지고 있다. 실행하면 pacu > 라는 프롬프트가 뜬다.
① 세션 생성 및 키 등록
Pacu는 '세션' 단위로 정보를 저장한다. 프로젝트별로 관리하기 편하다.
# 세션 생성
set_session [세션명]
# 공격할 대상의 Access Key 등록
set_keys
② 모듈 탐색 및 선택
Pacu는 '모듈'이라는 단위로 기능을 실행한다.
# 사용 가능한 모든 모듈 리스트 보기
list
# 특정 키워드로 모듈 검색
search [키워드]
#예시
search sns
③ 모듈 실행
모듈을 실행할 때는 run [모듈명]을 사용한다.
run [모듈명]
# 현재 내 유저가 가진 권한을 분석
run iam__enum_permissions
④ 수집된 데이터 확인
Pacu가 수집한 정보는 따로 명령어를 치지 않아도 내부 DB에 저장된다.
# 지금까지 찾은 모든 리소스 요약 보기
data
# 특정 서비스의 데이터 상세 보기
data [서비스명]
'AWS > CloudGoat' 카테고리의 다른 글
| [ CloudGoat | Easy ] beanstalk_secrets 시나리오 실습 (0) | 2026.03.10 |
|---|---|
| [ CloudGoat | Easy ] lambda_privesc 시나리오 실습 (0) | 2026.03.09 |
| [ CloudGoat | Easy ] sns_secrets 시나리오 실습 (0) | 2026.03.09 |
| [ CloudGoat | Easy ] iam_privesc_by_key_rotation 시나리오 실습 (0) | 2026.03.08 |
| [ CloudGoat | Easy ] iam_privesc_by_rollback 시나리오 실습 (0) | 2026.03.07 |