pdf 분석 문제이다. pdfdot은 여전히 막혀서 사용할 수 없었고, 인터넷을 검색해보니 유사한 형태로 보여주는 소스코드와 설명이 있는 블로그 발견.
위 코드 중 pdf-parser.py를 통해 obj를 확인해 보았다. 옵션 중 -c옵션을 추가해주면 해당 obj의 데이터도 뽑아낼 수 있다.
[ pdf obj 일부 ]
pdf 중 일부인데 보면 javascript 형태로 되어있다. 하지만 36번 obj는 링크가 되어있지 않으므로 당연히 pdf를 열었을때 보일리가 없다.
이 데이터를 추출해서 확인을 해 보면
[ obj 36 0 ]
base64로 디코딩을 할 수 있는 코드와 데이터가 있다. 이 데이터는 base64로 여러번 인코딩되어 있는데 이를 풀어보면
[ base64 디코딩 데이터 ]
키가 아니란다. 다시 쭉 훑어보다 보면
[ obj 39 0 ]
39번 obj를 보면 FlateDecode가 되어 있다. 이 데이터를 zlib를 통해 풀어보면
[ obj 39 0 - FlateDecompress ]
pdf 파일이 나옴을 알 수 있다. 이 데이터를 파일로 만들어 pdf로 열어보면 백지 화면이 나오는데 이 역시 pdf-parser.py를 이용하여 분석을 해 보면 다음과 같다.
[ obj 39 0 - 추출 pdf ]
obj 5번에 FlateDecode로 데이터가 숨어있음을 알 수 있다. 하지만 trailer를 보면 Encrypt로 보안설정이 되어 있기 떄문에 먼저 보안 설정을 풀어 주어야 한다. 보안 설정은 다음 사이트에서 풀었다. ( ref : https://smallpdf.com/kr/unlock-pdf)
보안이 풀린 pdf에서 obj 5번의 데이터를 추출해서 zlib을 통해 해석해주면 답을 얻을 수 있다.
기다려봐 툴만들어줌
'CTF | wargame' 카테고리의 다른 글
asisctf 2017 / Tatter (조각난 png조합, png 헤더 분석 , crc 연산) (0) | 2017.04.10 |
---|---|
insomnihack 2017 final / Secr3tMgr Lock? (안드로이드 메모리 포렌식, 비밀번호 crack, LiME, volatility) (0) | 2017.04.10 |
volgactf 2017 / VC (이미지 xor) (0) | 2017.03.30 |
codegate 2012 - forensic 100 [office lnk 파일 분석] (0) | 2017.03.30 |
codegate 2012 - forensic 200 (firefox 비정상적인 종료(sessionstore.js), json editor, 타임존(time zone)) (0) | 2017.03.30 |