AF( Anti Forensics ) 100점은 생각보다 난이도가 쉬웠던 것 같습니다.

Zip 파일의 Central Directory와 End of Central Directory를 수정하여 은닉된 파일 하나를 얻으면 해결되는 문제였습니다!


m20190501.zip

문제의 zip 파일!! 두둥,,,


HxD로 까보기 전에 zip파일의 구조를 간단히 살펴보겠습니다.

제일 잘 이해되었던 그림을 살펴보자면

zip 구조 (출처: https://jmoon.co.kr/48)


"End of Central Directory"는 Central Directory의 정보를 간략히 담고 있고 

"Central Directory"의 값들을 참조해보면 Local File Header에 접근할 수 있습니다.


큰 틀은 여기까지이고 HxD로 zip파일을 까보도록 하겠습니다.


1. End of Central Directory


"End of Central Directory"


"End of Central Directory" 구조


<주요 필드>

Signature: 50 4B 05 06 -> 시그니처

Disk entries, Total entries: 04 00 (0x4) -> 개수

Central directory size: 17 01 00 00 (0x117) -> central directory 크기

Offset of cd: 33 DA 2D 00 (0x2DDA33) -> central directory 시작 주소


total entries 가 4인걸 보면 zip 파일안에 4개의 파일이 있다는 것을 알 수 있었습니다.


2. Central Directory



Central Directory를 보면 Local File Header와 거의 동일한 정보를 가지고 있다는 것을 알 수 있습니다.

이 헥스값을 바탕으로 정리해보자면 Local File Header가 총 4개라는 것을 알 수 있습니다.


3. Local File Header

"Local File Header" 구조


Local File Header의 Signature은 50 4B 03 04 이다.

ctrl + F4를 이용해 찾아봤더니 총 5개 나온다. 누군가 숨겨놓은 것이 분명하다!!



Central Directory와 비교하며 본 결과 Central Directory에서는  "0x1CCC70"에서 시작되는 친구의 정보가 없는 것이 확인되었다.



숨겨진 파일의 Local File Header 정보


header 구조를 보면서 알맞은 정보를 얻어서 Central Directory와 End of Central Directory를 조금만 수정해주면 됩니다.

여기서 Extra Field length가 0x10 즉 16바이트인것을 확인해보면 이름뒤에 16바이트를 읽을 수 있습니다.

  --> 9tBcZXF8X7^nMcYd (어딘가에 쓰일 것 같은 느낌~)



그리하여 복구를 한 결과


숨겨진 파일 복구!!



7z를 이용하여 압출을 푸는 모습(아까 얻은 암호 사용!!!)




Secret Document.jpg 를 얻었다.



비밀 문서를 손에 쥐게 되었군!

끝~


'Forensics > Digital Forensics Challenge' 카테고리의 다른 글

[DFC2019] IR100  (0) 2020.02.24
[DFC2019] AF200  (3) 2020.02.07