Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

TH3 6R3@T H@CK

[Network] 하늘은 왜 푸른색입니까? 본문

CTF

[Network] 하늘은 왜 푸른색입니까?

vvh0am1 2022. 11. 19. 20:44

[문제]


[풀이]

압축된 문제파일(blue.txz)의 압축을 풀고

해당 패킷 안의 데이터를 확인하기 위해 binwalk를 이용해 분석하면,

png 파일이 은닉되어 있는 것을 확인할 수 있다.

 

 

💡 binwalk

: 대표적인 펌웨어 분석 툴로, 펌웨어 분석뿐만 아니라 포렌식 시 파일 카빙 등에 사용할 수 있는 유용한 도구

참고) https://github.com/ReFirmLabs/binwalk

 

 

좀 더 자세히 분석하기 위해 wireshark로 파일을 연 후

Find Packet(Ctrl+F) - Packet Bytes - png 검색

(Find: String / Filter: png / search in: Packet bytes / Character width: Narrow&wide)

과정을 거치면

 

283번 패킷의 헤더가 **[02 0c 20]**으로 시작하는 것을 확인할 수 있다.

같은 방식으로 Hex값 검색을 해서 283번 패킷 이후에 [02 0c 20] 헤더를 가진 데이터를 분석하면 6개의 패킷을 추가적으로 찾을 수 있다.

(288번, 293번, 298번, 303번, 308번, 313번)

 

288번

 

293번

 

298번

 

303번

 

308번

 

313번

 

구글링을 통해 알아낸 사실로, Wireshark의 [File] - [Export Selected Packet Bytes] 기능을 이용하면

패킷의 Bytes 데이터를 추출할 수 있다 하는데 이상하게 [Export Selected Packet Bytes] 기능이 없어서

단축키인 [Ctrl+Shift+x]를 사용해 데이터 추출을 했다.

추출된 데이터들을 순서대로 조합하면 은닉된 png 파일을 얻을 수 있을 것이라고 예상된다.

 

HXD(Hex Editor)를 통해 1.bin부터 7.bin 파일을 조합하기 전,

.bin 파일의 헤더 13btes와 파일의 마지막 1byte(OE)를 제거한다.

(1.bin부터 7.bin까지 모두 같은 과정 진행)

 

모두 제거하고 나면 HXD의 [도구] - [파일 도구] - [연결(C)…] 기능을 통해 1.bin 파일부터 7.bin 파일까지 순서대로 조합하여 result.png 파일로 출력한다.

 

추출한 result.png 파일이 열리지 않아 다시 HXD로 열어보니

png 파일 시그니처(89 50 4E 47 0D 0A 1A 0A) 앞에 불필요한 데이터가 존재하여 모두 없앤 후 다시 png 파일을 열어보면,

 

flag를 찾을 수 있다.

 


[Flag]

ASIS{ee9aa3fa92bff0778ab7df7e90a9b6ba}

 

 


# reference

https://securitymax.tistory.com/126