본문 바로가기

Personal/Cloud

CloudGoat 실습 - cloud_breach_s3

예전에 실습을 한 번 했던 시나리오라서 저장해뒀던 실습 내용을 복습하면서 작성한다.

 

시나리오의 이름을 봤을 때 클라우드의 s3에서 데이터가 유출되는 시나리오일 것이라고 예상이 가능하다.

 

먼저 cloud_breach_s3 시나리오를 create 해준다. 아래 사진들처럼 명령어 치고 기다리면 성공도 하고, 필요한 정보들이 같이 출력된다. 작년에 실습했을 때는 시나리오 생성부터 오류가 났어서 임의로 수정 후에 시나리오를 실습할 수 있었는데, 이 부분도 어느새 수정된 것 같다!

ec2_server_ip에 주목해야 한다. 메타데이터 서비스가 사용 가능한지 정보를 얻는 명령어를 실행시켜주자.

메타데이터 정보를 얻어봤다. 이제 여기서 iam/security-credentials/ 경로에서 role-name을 출력시킬 것이다.

role-name이 cg-banking-WAF-Role~~~ 인 것을 확인할 수 있다.

이전 명령어의 경로에 /role-name/ 을 추가하면 iam 정보를 알 수 있다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

공식 문서를 보면 해당 경로로 인스턴스 메타데이터에서 role이 제공하는 보안 자격 증명을 검색할 수 있다고 한다.

 

AccessKeyId랑 SecretAccessKey, Token까지 셋 다 확인할 수가 있다. 이제 이 정보들로 프로필을 등록하자.

 

직접  ~/.aws/credentials 파일에 nano로 들어갔더니 CloudGoat를 실습하면서 등록했던 프로필 정보들이 굉장히 많다... 여기 마지막에 원하는 이름으로 추가해주고 프로필 정보를 확인하면 된다.

 

여기서부터는 예전에 실습 기록해둔 캡처를 가져와서 위의 정보들과 사진 속 정보가 다를 수 있다. 명령어는 똑같다!

프로필을 erratic이라는 이름으로 등록했었고, 실제로 Arn 정보도 잘 나오는 것으로 봐서 등록이 잘 된 것 같다.

다음으로 s3 목록을 출력하자.

s3 목록이 출력됐다. cg-cardholder-data~~ 라는 s3가 존재한다.

다음으로 해당 s3에 어떤 파일이 있는지 출력해줬다. s3의 파일들을 이제 로컬로 다운 받아주자.

4가지 파일을 로컬로 다운 받았고 상위의 csv 2개가 cardholder_data로 유출되면 안 되는 중요한 데이터 같다.

다운 받아진 폴더에서 파일들을 확인해봤다.

goat.png 라는 귀여운 염소 사진도 하나 발견할 수 있다.ㅎㅎ

이렇게 시나리오가 끝나서 destroy 해주면 된다.

시나리오가 잘 삭제된 걸 알 수 있다.