본문 바로가기
Forensic

[HackCTF] Secret Document

by L3m0n S0ju 2021. 9. 12.

 

 

문제 zip파일을 열기위해서는 암호가 필요하다고 합니다.

 

 

 

 


010 editor로 문제 zip파일을 분석하면 local header가 3개 central header가 3개 있으므로 3개의 파일이 zip파일 형식으로 압축되어 있는 것을 알 수 있습니다. 주의깊게 봐야할 곳이 central header의 flag 영역을 보면 09 08 으로 설정되어 있습니다. 이진수로 00001001 00001000 이고 바이트안에서 8비트는 리틀엔디안 방식으로 실질적으로 각 비트에 대응하는 설정값은 다음과 같습니다.

 

1001000000010000

 

설정된 비트 인덱스는 0,3,11으로 아래 플래그 bit 정의를 보면 0은 암호화된 파일을 의미하므로 해당 플래그를 수정하겠다. 

 

 

Flags

Bit 00 -> 암호화된 파일

Bit 01 -> 압축 옵션

Bit 02 -> 압축 옵션

Bit 03 -> 데이터 기술자(data discriptor)

Bit 04 -> 강화된 디플레이션

Bit 05 -> 압축된 패치 데이터

Bit 06 -> 강력한 암호화

Bit 07-10 -> 사용하지 않음

Bit 11 -> 언어 인코딩

Bit 12 -> 예약

Bit 13 -> 헤더값을 마스크

Bit 14-15 -> 예약

 

 

 

 


bit를 0으로 수정하고 다시 압축을 풀면 패스워드 없이 압축이 풀리고 플래그를 획득할 수 있다.

'Forensic' 카테고리의 다른 글

[HackCTF] 나는 해귀다  (0) 2021.09.15
[HackCTF] 세상에서 잊혀진 날 찾아줘!  (0) 2021.09.15
[HackCTF] So easy?  (0) 2021.09.12
[Square CTF] Needle in the haystack  (0) 2021.09.03
[Square CTF] Reading between the lines  (0) 2021.09.02

댓글