보안

[Forensics] DFC 2019 AF100 풀이

융서융서 2021. 4. 19. 23:47

 

1. 문제

 

2. 번역

당신은 산업 기밀 누설 사건의 심사관입니다. 검사를 하는 동안 의심스러운 보관 파일을 발견했습니다. 이 ZIP 파일은 다른 용의자에게 보낸 전자 메일에 첨부되었으며 다른 기밀 파일이 배포된 당시 작성되었습니다. 따라서 아직 맥락에서 확인되지 않은 정보가 포함되어 있다고 추정됩니다.

주어진 ZIP 파일에서 이 사건과 관련된 단서를 찾으십시오.

 

Teams must :

- 결론을 이끌어 내기 위해 사용된 도구를 모두 지정하십시오.

- zip 파일의 구조, 찾은 내용 및 단계별 처리 방법 (압축된 비밀 JPEG 파일의 해시 값 포함)을 설명하십시오.

 

3. 나의 풀이

0) 문제 파일 준비, 010 editor 도구 설치

도구

다운로드 링크: www.sweetscape.com/download/010editor/

 

1) 010 editor에서 ZIP 파일을 열어본다.

ZIPFILERECORD(파란동그라미)에는 0,1,2,3,4의 5개 파일이 있고

ZIPDIRENTRY(초록동그라미)에는 0,1,2,3으로 4개뿐이다.

파일을 비교해보면, Frperg Qbphzrag 파일이 은닉된 것임을 알 수 있다.

 

(ZIP 파일을 단순 압축 풀기 해봐도,

Frperg Qbphzrag을 제외한 다른 파일은 정상적으로 보이고

해당 파일만 은닉된 것을 확인할 수 있다.)

단순 압축 풀기 했을 때

2) 파일 구조 분석

ZIPFILERECORD record[0]

ZIPDIRENTRY dirEntry[0] 가 모두 7z1900.exe 파일을 가리키고 있다.

 

각각 펼쳐 내용을 비교해보자.

 

ZIPFILERECORD record[0]
ZIPDIRENTRY dirEntry[0]

ZIPDIRENTRY에만 있고, ZIPFILERECORD에는 없는 것은 위 사진의 줄 친 내용과 같다.

- VersionToExtract
- FileCommentLength
- DiskNumberStart
- InternalAttributes
- ExternalAttributes
- HeaderOffset

위 6가지 항목이 없는 것을 알 수 있음.
--> 이들을 넣어주면 은닉된 파일도 ZIPDIRENTRY를 복구할 수 있다!

3) 은닉된 파일 (Frperg Qbphzrag) 복구

먼저 은닉된 파일(Frperg Qbphzrag)을 가리키는 ZIPFILERECORD를 확인한다.

Frperg Qbphzrag의 ZIPDIRENTRY에 추가해줄 항목 6개

- VersionToExtract = 20 (Version과 맞춰준다)
- FileCommentLength = 0 (주석의 용도, 주석이 딱히 필요없다고 생각되어 0)
- DiskNumberStart = 0 
- InternalAttributes = 0 
- ExternalAttributes= 32

// 여기까지 5개 항목의 값은 위 7z1900.exe와 같게 설정해주었다.


- HeaderOffset = 1CCC70
// Frperg Qbphzrag 파일의 Local Header의 시작 offset 주소(위 사진 참고)

해당 파일은 ExtraField가 있다. 

 

 

위의 규칙대로 hex값을 복구하였다.

그리고 해당 값을 ZIPDIRENTRY dirEntry[2] 아래에 넣어준다.

 

값을 넣어주니,

 

다시 압축파일을 열어보면 Frperg 파일이 생긴 것을 볼 수 있다!

\

파일의 확장자는 .7z

간단히 이름 바꾸기를 해서 뒤에 .7z를  붙여주니

알집으로 실행이 된다.

 

암호에는 9tBcZXF8X7^nMcYd

 

 

해당 파일을 다운 받아

 

CyberChef에서 MD5로 해싱하였다. 

그렇게 얻은 최종 답은

a4f2256ffde2c69aa04820c6d80000b4