ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] flAWS Challenge - Level3
    Infra/CloudSecurity 2023. 7. 16. 20:41
     

    flAWS - Level 3

     

    level3-9afd3927f195e10225021a578e6f78df.flaws.cloud

     

     

    문제내용

    => 이번 문제도 비슷하다고 한다. 하지만 역시나 꼬았다고하고 AWS Key를 찾으라고한다. 즉, Credential을 찾으라는 것 같다.

     

     

     

    => 음.. 이전에 찾았던 secret같은 파일은 없고 그나마 눈에 띄는 것은 .git 숨김 디렉터리이다. AWS에서 사용하는 Access key같은 경우 개발자들이 git이나 환경변수에 등록해두었다가 git의 경우 commit 되거나 환경변수의 경우 container image로 upload해서 유출되는경우가 있는데 그런점을 이용하는게 아닌가 싶었다.

     

     

    .git 파일 가져오기

     aws s3 sync s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud/.git/ .

    => s3 sync를 통해 .git 파일을 다운로드했다.

     

     

    => tree 명령어를 통해 대충보고 직접 다 파일을 뒤져보았지만 쓸모있는 것은 없었다.

     

     

    그렇다면 git log을 한번 확인해보자

    => 실수로 뭔가 add하면 안되는 것을 올렸다고하는데 누가봐도 의심스럽다.. 그렇다면 확인해보자.

     

     

    git checkout 사용

    mkdir .git
    mv * .git
    또는
    aws s3 sync s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud/ .

    => git checkout을 사용하기 위해서는 .git 파일 내에서 진행해야하므로 .git 디렉터리를 그냥만들어주었다. 이게 귀찮다면 아래처럼 그냥 통째로 다운받거나 받을 때 .git 디렉터리 내부로 받으면 된다.

     

     

    git checkout

    위에서 의심했던 "Oops, accidentally added something I shouldn't have"이 commit message로 되어있는 b64c8dcfa8a39af06521cf4cb7cdce5f0ca9e526에는 checkout을 해도 별다른게 없었다. 어찌보면 당연히 가장 최근의 commit 내용이기 때문이다. 아마 해당 commit을 진행하면서 알아차려 제거했기때문에 저런식으로 commit message를 작성한 것 같다. 따라서 first commit으로 checkout을 진행하였다.

    git checkout f52ec03b227ea6094b04e43f475fb0126edb5a61

    => 그랬더니 역시나 access_key.txt 파일을 확인할 수 있었다.

     

     

    찾아낸 Credential 등록

    aws configure --profile flaws

    => 해당 credential 등록 시, Region은 us-west-2로 하면된다. 그 이유는 이전 문제 해설에서 노출되었다..ㅎㅎ

     

     

    해당 Credential로 S3 bucket Listing

    aws s3 --profile flaws ls

    => 해당 credential로 등록된 s3 bucket을 Listing해보니 다음과 같은 결과를 볼 수 있었고 문제는 7번까지 있는 것으로 보여졌다ㅎㅎㅎ

     

     

    해당 URL로 접속

    https://level4-1156739cfb264ced6de514971a4bef68.flaws.cloud

    => 역시나 다음 Level4로 갈 수 있게되었다. 해설에는 많은 사람들이 종종 이런식으로 access key를 노출 시킨다는 내용이 작성되어있었다. git, 환경변수 등을 이용하여 Access key를 다룰게 될 때는 파일관리나 사용을 정말 조심해서 다뤄야하며 두 번, 세 번 확인하는게 중요할 것 같다. 아니면 간단하게 작업전 access key 파일의 확장자를 대충 변경하고 git ignore을 통해 서버에 올라가지 않도록 하는 것도 방법이 될 수 있을 것 같다.

     

     

    [참고]

    => 위에서 얻은 정보로 바로 Level5, Level6, The end로 시도해보았다. 하지만 역시나 Level 건너뛰기는 막아놓은 것을 알 수 있었다.ㅋㅋㅋ

    반응형

    댓글

Designed by Tistory.