CTF | wargame

codegate 2013 - forensic 300 (docx 분석)

nopdata 2017. 3. 29. 23:55
keyword : docx 분석


docx계열의 문제는 시그니쳐가 zip과 같아 압축을 풀어 대충 찾아보았는데 wirte up을 보니 docx 파일이 문제로 주어질 경우 ooXML 포맷의 특징을 이용한 Data Hidden 문제일 가능성이 크다고 한다.
docx파일을 그래도 열면 다음과 같이 나온다.


사진들이 여러개 나열되어 있을 뿐이다.
압축을 풀고, 폴더들을 훑어 보았을 때, 의심가는 파일은 embeddings\oleObject1.bin파일이었다. docx에 대한 분석을 해본적이 없어 분간이 가지 않았으나, 파일의 마지막 부분에 위 사진에서 나왔던 두번째, iPhone관련된 문서가 하나 나와서 나머지 데이터도 여기 있나 싶었지만 아니였다.

추출한 iPhone관련 pdf 문서

(이상하게 pdf문서 추출하는데에 있어서 winhex의 카빙이 잘 되지 않는다. 아마도 pdf내의 text나 image를 추출하는 과정에서 씹히는 것 같다. 추후 pdf만 따로 추출할 수 있는 소스코드 작성이 필요하다.)

docx분석은 먼저 docx를 구성하는 구성요소에 대한 분석을 먼저 해야한다. 이는 Document.xml.rels를 통해 본다.

[ Document.xml.rels ]
보면 각 ID에 대하여 관계되는 데이터를 연계 시켜준다. media하위의 image1~5파일들과 embeddings의 oleObject1~2파일을 사용하는 것을 볼 수 있는데 embeddings폴더에 가 보면 oleObject2.bin파일은 존재하지 않고, meida폴더에 가 보면 여기서 사용되지 않은 image6.emf파일이 존재한다. 여기서 사용되지 않은 파일이라 함은 숨겨진 파일이고, 이 파일에 데이터가 숨겨져 있을 가능성이 크다고 판단하며 진행을 한다.

사용되지 않은 image6.emf 파일의 시그니쳐는 docx파일과 동일하며 이를 docx파일로 열어주면 다음과 같다.

[ images6.emf(docx) ]
아무런 문자열도 나오지 않고 2013이라는 빨간 문자열만 출력된다. (기억으로는 실제 문제 풀 때 여기까지 왔던거같은데....)
여기서 힌트가 두개 주어졌었다고 한다.

     Hint 1 : Compare the docx file
     Hint 2 : Extra_Field_Entry

Compare the docx file은 위에서 찾은 숨겨진 데이터를 찾는 것을 의미하는 것 같다. Extra_Field_Entry는 ooXML을 이용하는 스테가노그래피 툴 중에 여기 Extra_Field_Entry에 데이터를 숨겨 놓는 프로그램이 있다고 한다. 따라서, 여기서 추출된 images6.emf에 스테가노 그래피 툴을 적용 시켜야 한다..

[ imagex6.emf header & 원본.docx header ]

더 자세한 사항은 docx file format을 보면서 분석을 해 주어야 한다. (이 부분은 맞지 않는 듯 한데....)

(Extra Data Catch Program................)

[ Steganography with ooXML ]
비밀번호는 2013으로 넣고 돌리면 위와 같이 숨겨진 답을 얻을 수 있다.

Answer : c0d2gate~2o13!!F0r2nsic!!!!!


ref