annyoung

AWS accessKey 본문

모의해킹

AWS accessKey

nopsled 2025. 6. 18. 09:29

모의해킹 하다보면 가끔 서비스에서 AWS accessKey를 발급하는 API를 사용하는 경우가 있다.

 

적절한 role을 부여받으면 상관은 없다 생각되는데, 이보다 과도한 role을 배정받는 경우 취약한 경우가 발생하곤한다.

 

예를 들어서 S3로 파일 업로드할 때 버킷에 업로드하기 위해 accessKey(aws_access_key_id, aws_secret_access_key, aws_session_token)를 요청하고 API에서는 결과를 준다. uploadObject role만 할당받은 경우 업로드만 되기 때문에 덜 취약하다고 생각할 수 있는데, 동일하게 취약하다. 왜냐면 공격자가 경로를 아는 경우 파일을 덮어씌워서 공급망 공격을 할 수 있기 때문이다.

아무튼.. accessKey는 대부분 IAM role에 대한 확실한 설정을 해놓지 않아서 버킷 목록을 조회하거나, 버킷 오브젝트 조회, 업로드, 삭제 등이 가능하다.

 

또는, Cognito를 사용하기 위해 accessKey를 발급하곤 하는데, 목적 외의 과도한 role을 할당받게 되는 경우 타 자원에 접근할 수 있다.

 

그렇기에 AWS cli를 이용해 점검하는 습관이 생겼는데 ~/.aws/credentials에 API에서 전달받은 aws_access_key_id, aws_secret_access_key, aws_session_token를 등록하고 다음 명령어를 사용하면 된다.

# 자원 나열 시도
aws s3 ls
aws dynamodb list-tables
aws ec2 describe-instances
aws iam list-roles

# Lambda 함수 실행 가능한지 확인
aws lambda list-functions

'모의해킹' 카테고리의 다른 글

AWS public S3  (0) 2025.06.19
Swaager에 대해서  (0) 2025.03.05
Blind SQL Injection(MySQL)  (1) 2025.02.27
Union SQL Injection(MySQL)  (0) 2025.02.27
파일 다운로드 취약점  (0) 2025.02.21
Comments