Notes / Cloud Security

클라우드 정찰 도구 치트시트

노출된 스토리지 버킷·유출된 키 탐색부터 AWS 권한 열거(aws CLI·pacu)까지 클라우드 정찰에 쓰는 도구를 상황별로 정리합니다.

클라우드 정찰은 “공개된 것 → 유출된 키 → 그 키로 할 수 있는 것” 순으로 좁힙니다. 버킷 열람과 소스코드의 키 유출이 가장 흔한 진입점입니다. 예시의 계정·버킷·키는 전부 플레이스홀더입니다.

개념

flowchart LR
  P[공개 자원 탐색] --> K[유출 키 탐색]
  K --> E[권한 열거]
  E --> S[접근 가능한 서비스]
  • 공개 스토리지: 잘못 공개된 버킷/오브젝트는 인증 없이 읽힙니다.
  • 키 유출: 저장소·설정·프런트엔드 번들에 하드코딩된 키.
  • 권한 열거: 확보한 키가 무엇을 할 수 있는지 먼저 확인(최소 권한 가정).

공격·우회 구문

허가된 범위에서만. 계정·버킷·키는 전부 예시입니다.

공개 자원 · 키 유출 탐색

# 공개 S3 버킷 나열/열람(인증 없이)
curl https://example-bucket.s3.amazonaws.com/
aws s3 ls s3://example-bucket --no-sign-request

# 소스/저장소에서 유출된 키 스캔
gitleaks detect --source ./repo -v

# 조직 자원 열거(퍼블릭 표면)
cloud_enum -k example

판단 포인트: 프런트엔드 JS 번들·.env·커밋 히스토리는 키가 가장 자주 나오는 곳입니다. “현재 파일”만 보지 말고 git 히스토리를 함께 훑습니다(gitleaks가 커밋 로그까지 봅니다).

AWS 권한 열거

# 자격증명 설정 후 내가 누구인지
aws configure
aws sts get-caller-identity

# 내가 가진 권한 흔적(계정·서비스별로 조심스럽게)
aws iam list-attached-user-policies --user-name $USER
aws s3 ls

pacu (AWS 공격 프레임워크)

pacu
# 세션 생성 → 키 import → 권한 열거 모듈
# import_keys ; run iam__enum_permissions ; run iam__privesc_scan

판단 포인트: 클라우드는 호출 하나하나가 CloudTrail에 로그로 남습니다. 평가 범위·탐지 요구를 먼저 확인하고, 열거는 필요한 최소한으로. “되는지 보자”식 전수 호출은 피합니다.

함께 보기

참고 자료