[길에서 주어온 만두] 풀이
문제 파일을 열어보니 png 파일이 정상적으로 열렸다.
hex코드를 확인해보니 PNG파일의 푸터시그니처(49 45 4E 44 AE 42 60 82) 뒤에 숨겨진 데이터(PASS:1234)가 보인다.
문제에서 인형을 열려면 비밀번호가 필요하다고 했으니 zip파일이 숨겨져 있을 것으로 예상했지만 PK를 찾을 수 없었다.
파일 크기가 매우 커서(1.50MB) 다른 파일이 숨겨져 있을 것 같긴 한데, 직접은 못찾겠으니 도구를 사용해야겠다.
OpenStego에는 데이터를 추출할 input 파일과 password를 입력해주면 되기 때문에 시도해보았다.
medium.png파일이 추출되었다.
다시 hex코드를 확인해보아도 flag가 없는 것 같고, 파일이름이 medium이길래 다시 openstego로 파일추출을 시도해보았다. medium.png의 hex코드에는 패스워드가 없길래 패스워드 없이 추출 시도했더니 오류가 발생했다. big.png에서 추출할 때와 동일한 패스워드(1234)로 추출해보았더니 small.png파일이 추출되었다.
small.png파일 역시 동일한 그림이었고, hex코드를 확인해보았지만 flag가 없는 것 같아서 다시 추출을 시도해보았다. 이번에도 패스워드를 입력해주었더니 flag.zip파일이 추출되었다.
압축을 풀어주니 flag가 flag.txt에 담겨 있었다.
#OpenStego
문제를 풀 때는 데이터 추출모드에서 input파일과 password만 입력하여 숨겨진 데이터를 얻을 수 있었다.
원래 이 도구는 데이터를 숨기기와 디지털 워터마킹을 남기기가 주 용도인 도구이다.
[Hide Data]모드를 확인해보니 이 도구가 암호화할 때 사용하는 알고리즘이 AES였음을 확인할 수 있었다.
(원래 binwalk로 이번 과제의 문제파일을 분리하려 하였으나 실패한 이유가 여기에 있는 듯 하다. hex코드를 확인해 보았을 때 압축형식을 찾아볼 수가 없었는데, 암호화과정으로 데이터가 변경된 상태였기 때문에 내부에 있는 파일을 찾을 수 없던 것 같다. binwalk는 주로 펌웨어를 분석하기 위해 사용하는 툴이니 암호화에 대한 고려 없이 원본파일들의 형식을 고려하여 분리하는 것 같다.)
도구를 이용해 파일을 숨겨보자.
txt파일과 png파일을 합쳐 medium.bmp파일을 생성해주었다.
bmp파일의 hex를 확인해보니 알아볼 수가 없게 잘 숨겨진듯 했다. bmp는 푸터시그니처가 없는데도 코드를 수정한 후에도 잘 열렸다..
#ZSTEG
'WarGAME > N0Named Wargame' 카테고리의 다른 글
zip password cracking (0) | 2020.11.24 |
---|---|
N0Named wargame [A] 수상한 메일 (0) | 2020.11.17 |
[B] 유출된 자료거래사건 (0) | 2020.11.17 |
[Left Side B] (0) | 2020.10.26 |
xeh_desrev(reverse된 파일 복구 방법 공부) (0) | 2020.10.12 |