[문제]
Find the hidden information in this PDF file.
[풀이]
문제 파일을 열어보면 프랑스어로 작성된 문서를 확인할 수 있다. 문제에서 프랑스어를 몰라도 할 수 있다고 했으므로 내용을 파악하는 것은 아니라는 생각이 들었다.
pdf steganography에 대해 찾아보니 보통은 pdf 문서 내용에 white space로 숨겨둔다고 한다. 그런데 해당 파일은 문서에 대한 캡쳐본들을 pdf로 만든 것 같다.
이에 string 명령을 통해 숨겨진 파일이 있음을 알 수 있었다.
EN - Malicious Origami in PDF - Raynal - Delugré (1).pdf
9-23, 57-58, 64-67, 74-78, 80-84 페이지의 내용을 참고하면 pdf 구조에 대해서 파악할 수 있다.
아래의 링크 또한 설명을 잘 해주고 있어서 가져왔다!
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=stop2y&logNo=221280356184
(따라서 이에 대한 내용은 생략하겠다!)
pdf 속에 Hidden_b33rs.txt 파일이 존재하고, 아래에 F 77을 통해 77번 Stream을 참조? 한다고 알 수 있었다. (참조하는 것인지 이동하는 것인지는 잘 모르겠다..!)
77번 stream의 내용을 확인해봐야 할 것 같아서 peepdf를 통해 스트림을 추출하였다.
peepdf를 통해서 77 stream이 encoding 되어 있는 것도 확인할 수 있었고, 이를 77.txt로 저장하여 내용을 확인해보았다.
예상대로 인코딩 된 것을 볼 수 있었는데, 어떤 기법으로 인코딩 되었는지는 이것만 보고는 파악하기가 어려웠다.
peepdf 사용법에 대해서 알아보던 중 decode 부분에서 다양한 인코딩 방식을 디코딩 해준다는 것을 알게 되었고, 이 기법들 중 하나일 것이라고 생각하여 base64부터 시도해보았다.
77.txt 속의 stream 내용만 남긴 후 base64 decoding하여 dec.txt에 저장하였다.
dec.txt 파일을 확인하였더니 jfif, jpeg라는 문자열이 보였다. 이에 사진 파일임을 확신하게 되었고, dec.txt를 dec.jpg로 변경하였다.
eog를 통해 dec.jpg를 읽어보면 flag를 획득할 수 있다.
++ 풀이 후 다른 방법도 고민해보다가 binwalk를 통해서도 구할 수 있었다.
추출한 파일에 대해서 file 명령어를 통해 type을 확인해보니 data와 ascii text가 섞여 있었다. 이에 ascii text 파일들만 확인해보았는데, 그 중 233212에서 77stream과 동일한 내용을 확인할 수 있었다.
이후 과정은 동일하게 진행하였다.
++참고) https://www.base64decode.org/사이트에서도 파일 자체를 디코딩하여 변환해준다.
flag
🍒 Hidden_embedded_Fil3
'Wargame > Root Me' 카테고리의 다른 글
[Root-Me / Steganography] Crypt-art (0) | 2023.02.26 |
---|---|
[Root-Me / Steganography] We need to go deeper (0) | 2023.02.26 |
[Root-Me / Steganography] Audio stegano (0) | 2023.02.26 |
[Root-Me / Steganography] Yellow dots (0) | 2023.02.26 |
[Root-Me / Steganography] Poem from Space (0) | 2023.02.26 |