ssoL2 TISTORY

[CTF-D/Multimedia] splitted 본문

challenge/forensic

[CTF-D/Multimedia] splitted

ssoL2 2021. 5. 6. 23:03

문제 : 쪼개졌다 !

 

 

splitted.7z를 압축해제 하니 pcap이 나왔고,

바로 wireshark로 분석하기 전에 NetworkMiner로 간단하게 분석해보자.

압축 해제

 

 

NetworkMiner의 [file] 기능은 패킷에 있는 file 정보를 정리해놓는다. 또한, 추출도 가능하다. (개꿀딱!)

아래 사진에서 flag.zip과 flag[숫자].zip을 보면 패킷 전송하면서 ZIP 파일이 쪼개져서 전송됐음을 유추할 수 있다.

file~

 

 

역시나 추출해도 ZIP이 열리지 않는 것을 보면 완전한 zip이 아님을 증명한다.

압축 해제 실패

 

 

HxD로 보면 flag.zip이 순서대로 쪼개진건 아닌듯 싶다.

왜냐하면, zip 파일은 50 4b 03 04가 헤더 시그니처이고, 50 4b 05 06 ~~~으로 마무리 되는데 뒤죽박죽이다.

맨 첫 zip인 flag.zip 헤더시그니처가 이상함
두번째 zip인 flag[1].zip에서 zip 헤더 시그니처 발견
마지막 zip인 flag[7].zip의 마지막 어디에도 50 4b 05 06이 없음

 

 

wireshark로 패킷 header를 살펴봐서 순서를 찾아야겠다.

 

우선, http로 요청한 flag.zip을 발견했다.(HEAD /flag.zip HTTP/1.1)

이제 조건으로 "http"로 제한하여 http로 주고 받은 패킷만 분석하자.

http wireshark

 

 

HTTP 헤더를 살펴보면

response phrase가 "Partial Content"이라는 것은 flag.zip을 partial content로 보낸다는 뜻이고,

밑에 Content-Range로 인해서 부분적으로 잘린 content가 어떤 범위에 속하는지 명시하고 있다.

따라서 저 범위 순서대로 패킷 data를 조합하면 되겠다. 

partial content with wireshark

 

 

 

wireshark로는 content-range를 보고 추출했던 flag.zip의 순서를 맞추면 될 것이다. 

 

참고로 순서는 다음과 같다.

flag[1] -> flag[5] -> flag[6] -> flag[2] -> flag[7] -> flag -> flag[3] -> flag[4] 

 

이 순으로 hex값 합치면 된다.

합친 zip = splitted_flag.zip

 

조합한 ZIP은 정상 압축 해제된다.

압축 해제하면 flag.psd가 나오고, psd 확장자 찾아보니 어도비 포토샵 이미지라고 한다.

 

 

저번에 깔았던 GIMP로 열어보니 레이어가 2개 였다.

GIMP

 

 

흰색 레이어 삭제하니 flag 등장

GIMP 레이어 삭제

 

 

끝~

 

 

🚫 flag는 🚫

더보기

MMA{sneak_spy_sisters}

Comments