CTF/포렌식

[HeroCTF] PDF-Mess - 포렌식 / PDFStreamDumper

SecurityMan 2023. 6. 5. 11:00

 

PDF 파일 포렌식과 관련된 문제

 

이전에 Root Me에서 제공하는 유사한 문제를 다룬적 있었다.

(https://hackingstudypad.tistory.com/340)

 

반응형

 

 

문제에서 주어지는 것은 

 

strange.pdf 파일이다.

 

 

열어보면 이런 내용으 들어있는데

 

스테가노그래피에 대한 설명인듯 하다.

 

그 외에 특별한 점은 발견할 수 없다.

 

http://sandsprite.com/blogs/index.php?uid=7&pid=57

 

RE Corner - PDF Stream Dumper

PDF Stream DumperAuthor: David ZimmerDate: 07.21.10 - 7:55pm This is a free tool for the analysis of malicious PDF documents. This tool has been made possible through the use of a mountain of open source code. Thank you to all of the authors involved. Has

sandsprite.com

 

PDF 파일을 분석할 때 유용한 도구인

 

PDFStreamDumper 가 있다.

 

위 링크에서 다운받아 설치가 가능하다.

 

 

해당 도구를 다운로드 받아 설치한 뒤

 

Load 버튼을 눌러 문제에서 주어진 pdf 파일을 로드시키면 위와 같은 화면이 나온다.

 

pdf 파일은 크게 

 

PDF Header, Body, Cross Reference Table, Trailer 로 나누어져 있는데

 

그 중 Body 에 보통 데이터를 많이 숨긴다.

 

Body 에는 pdf 파일을 구성하는 각종 Object 들이 들어있다.

 

위 사진에서 보이는것 처럼 문제에서 주어진 pdf 파일은 44개의 Object 를 포함하고 있다.

 

 

Object를 하나씩 내려가면서 살펴보니

 

중간에 눈에 띄는게 하나 보였다.

 

뭔가 자바스크립트 코드처럼 보이는 내용이 보였다.

 

AES 로 암호화된 cipher 와 key 값이 적혀있었다.

 

 

require 되어있는 crypto-js 는

 

자바스크립트 라이브러리이다.

 

저걸 이용해 Decrypt 하는 코드를 작성하면 문제를 풀 수 있다.

 

라이브러리 설치하는건 귀찮으니 온라인으로 해결해본다.

 

 

온라인으로 crypto-js 를 테스트할 수 있는 사이트이다.

(https://codesandbox.io/s/cryptojs-test-nmemc?file=/src/App.js)

 

저기 예시로 적혀있는 코드를 적절하게 수정하면 문제를 풀 수 있다.

 

 

불필요한 Encrypt 를 지우고

 

ciphertext와 key 값을 올바른 위치에 넣어주면

 

이렇게 쉽게 Decrypt 할 수 있다.

 

오른쪽 화면에 나온 플래그를 제출하면 된다.

반응형