-
[AWS] flAWS2 Challenge - Level3(Attacker)Infra/CloudSecurity 2023. 7. 20. 10:15
=> 옹? 이번문제는 기존에 flaws-1에서 풀었던 Level5와 비슷한 문제이다. 해당 문제와 동일하게 Proxy만 하나 제시해준다. 그외에 별다른 힌트는 주지않았지만 기존에 풀었던 문제처럼 뭔가 내부에 접근가능한 요청을 보내서 정보를 유출시켜야 할 것 같다.
혹시?? 50000% 안될 것 같지만??
http://container.target.flaws2.cloud/proxy/http://169.254.169.254/latest/meta-data/
=> flaws-1 Level5에서 진행했던 instance metadata 검색으로 시도해봤지만 아무런 반응이 없다ㅎㅎ 역시 똑같은 문제는 낼리가 없었다. 그렇다면 비슷한 방법중에 다른게 뭐가 있을까 구글링을 시도했다.
Task Metadata Endpoint 검색
http://container.target.flaws2.cloud/proxy/http://169.254.170.2/v2/metadata
=> 오 뭔가 Json 형식의 많은 데이터가 나왔다. 아무것도 안나오다가 나오니 반갑다.. 해당 서비스의 container 관련된 정보들으로 추청된다. Json 포멧 정렬을 진행해서 보도록하자.
JSON 데이터 확인
=> 해당 데이터를 보았을 때 ECS(Elastic Container Servivce)로 배포된 것을 알 수 있었고 ECS Cluster에 Task인 Container set에 대한 정보도 확인이 가능했다(현재 해당 Cluster에는 2개의 Docker Container가 존재했다).
=> Json 데이터를 보니 Task내에 Pause container 추정되는 container + 다른 container가 같이 존재하는 것을 보고 ECS의 Cluster내의 Task는 Kubernetes의 Pod와 같은건가?? 했는데 같다고 할 순 없지만 찾아보니 비슷한 건 맞긴 했다..ㅎㅎ
=> 하지만 결론적으로 딱히 나에게 필요한 정보는 없는 것 같았다. 음....
LFI(Local File Inclusion) - 참고: https://www.hahwul.com/cullinan/file-inclusion/
http://container.target.flaws2.cloud/proxy/file:///proc/self/environ
=> LFI를 통해서 해당 container의 환경변수관련 파일에 접근이 가능했으며 환경변수에는 AWS_CONTAINER_CREDNTIALS_RELATIVE_URI라는 값이 존재했다. 대놓고 AWS container와 credential과 관련있는 URI라고 써있는게 정답이라고 티내고있다. 그래서 해당 경로로 접근해보았다.
AWS_CONTAINER_CREDNTIALS_RELATIVE_URL 접근
http://container.target.flaws2.cloud/proxy/http://169.254.170.2/v2/credentials/4c79e5cb-786b-4ceb-a0e2-a94a1c9b073a
=> 우리가 찾던 반가운 credential 값이 보였다. 그렇다면 이제 credential을 사용해보자.
Credential 등록 & S3 bucket내의 객체 확인(Listing)
aws configure --profile gg aws --profile gg sts get-caller-identity aws --profile gg s3 ls
=> 우리가 원하던 마지막 화면을 볼 수 있게 되었다.
=> Attacker 문제는 여기까지라고 한다. 이번문제를 통해 배운 것은 AWS의 다양한 서비스들이다(ECS, instance, fragate, LFI 관련) 결과적으로는 flaws-Level5번 문제에 이어서 Task, Instance와 같이 endpoint에서 metadata 검색이 가능한 부분에 대해서도 반드시 필요한 경우가 아니라면 제한을 하는 것이 좋다.. proxy같은 서비스를 제공할 때는 file scheme 등 관련해서 내부 중요 파일이나 설정파일에 대해 접근제한 하도록 검증 로직을 적용하는 것도 필수적이라는 생각이 들었다.
=> 다음 포스팅부터는 Defender를 풀어보고 포스팅해보겠다.
반응형'Infra > CloudSecurity' 카테고리의 다른 글
[AWS] AWS Goat module1 - Reflected XSS (0) 2023.10.20 [AWS] AHSS 1주차 - S3 취약점 및 보안(feat. s3game) (0) 2023.09.01 [AWS] flAWS2 Challenge - Level2(Attacker) (0) 2023.07.19 [AWS] flAWS2 Challenge - Level1(Attacker) (0) 2023.07.19 [AWS] flAWS Challenge - Level6 (0) 2023.07.18 댓글