암호키를 잘 관지하지 않으면 키가 유출될 수 있습니다. 실습을 통해 도커에 남아 있는 키로 디코딩을 할 수 있습니다.
docker 접속
docker run -d webgoat/assignments:findthesecret
를 이용해 도커와 연결합니다. 그러면 마지막에 문자가 하나 나옵니다.
docker exec -ti --user 0 {문자} bash
를 이용해 도커에 들어갈 수 있습니다.
문제에 보면 root에 password 파일이 있다고 합니다. root로 이동합니다.
default_secret이 그 파일인 것 같네요. 확인해 보겠습니다.
문제에 보면 어떤 문자열을 어떤 식으로 디코딩해야 하는지 알려줍니다.
-kfile뒤에 secret_file의 경로를 넣어줍니다.
알에 있는 Leaving passwords in docker images is not so secure가 해독된 결과입니다.
openssl: OpenSSL 툴을 호출합니다. OpenSSL은 암호화 및 복호화 작업을 수행하는 도구입니다.
enc: 암호화 모드를 지정합니다. enc를 사용하여 데이터 인코딩을 수행합니다.
-aes-256-cbc: AES 알고리즘을 사용하고, 256비트 키와 CBC 모드를 사용하겠다는 의미입니다.
-d: 복호화를 수행합니다.
-a: Base64 인코딩된 데이터를 처리하도록 지정합니다.
-kfile /root/default_secret: 복호화에 사용할 키를 포함한 파일을 지정합니다. /root/default_secret 파일에서 키를 읽어와서 복호화에 사용합니다.
정답의 첫번째에는 결과, 두번째에는 파일 이름을 넣어줍니다.
'해킹 슈퍼 기초 연습' 카테고리의 다른 글
webgoat 강의 만들기 (0) | 2024.10.11 |
---|---|
webgoat rsa 암호 (0) | 2024.09.24 |
webgoat Crypto Basics (0) | 2024.09.19 |
webgoat CIA Triad (0) | 2024.09.11 |
webgoat 개발자 도구 (0) | 2024.09.07 |