본문 바로가기

Forensics/SuNiNaTaS

[SuNiNaTaS] 28번

[SuNiNaTaS] 28번

 

 

ZIP 파일 구조를 사용하는 문제다.

 

 

다운로드 받은 zip 파일이 암호가 걸려있음을 확인할 수 있다.

 

HxD 프로그램에서 해당 zip 파일을 열었다.

 

 

zip 파일의 헤더 시그니처는 50 4B 03 04 이다.

HxD 파일을 분석(?)해보았다.

 

 

50 4B 03 04 를 시작으로 총 10자리를 비교해보았을 때 공통적으로 나타나는 부분끼리 빨간색으로 묶어보았다.

그 밑으로도 50 4B 가 포함된 10자리를 공통적으로 나타나는 부분끼리 묶어보았다.

 

찾아보니 zip 파일의 헤더 시그니처에서 06 07 부분이 플래그 필드라고 한다.

 

 

zip 파일 구조 공부를 하다가 리틀엔디안 방식에 대해서 알게 되었다.

 

리틀엔디안 방식은 쉽게 말해서 첫 번째 주소에 가장 작은 값을 저장하는 것이다.

 

06 07 부분이 플래그 필드이므로 이 부분을 리틀엔디안 방식으로 읽어보면

09 08 이므로 08 09 순으로 읽어야 한다.

08 09
00 00 10 00 00 00 10 01
Bit 07 Bit 06 Bit 05 Bit 04 Bit 03 Bit 02 Bit 01 Bit 00

 

위 이미지에서 알 수 있듯이 Bit 00 부분이 암호화된 부분이므로 09 부분의 Bit 00 부분이 01로 암호화된 상태임을 알 수 있다.

이 부분을 00 으로 바꿔주면 된다.

 

헤더 시그니처 부분이 공통적으로 나타나는 부분의 09 08 자리를 08 08로 바꿔주었다.

 

 

압축이 풀리긴 했으나 완전히 압축이 해제되지는 않았다.

 

 

그래서 위에서 표시했던 파란색 구간의 09 08 부분도 모두 08 08로 바꾸어주었다.

 

 

압축 해제 성공

 

 

먼저 압축 파일에 있던 두 개의 txt 파일을 확인해보았다.

 

 

두 파일 모두 Dummy로 도배되어 있음

 

압축 파일 안에 있던 또 다른 압축 파일을 해제해보았다.

 

 

그 안에 있던 txt 파일에서 Flag를 찾았다.

 

 

플래그 입력

 

 

플래그를 그대로 입력했더니 틀렸다고 한다.

뭔가 다시 복호화를 해야하는 것 같다고 생각했다.

 

 

디코딩

 

 

다시 Flag 입력

 

 

성공!

'Forensics > SuNiNaTaS' 카테고리의 다른 글

[SuNiNaTaS] 19번  (0) 2024.02.17
[SuNiNaTaS] 18번  (0) 2024.02.17
[SuNiNaTaS] 14번  (0) 2024.02.17
[SuNiNaTaS] 15번  (0) 2024.02.17
[SuNiNaTaS] 21번  (0) 2022.07.26