본문 바로가기

4-2. 2024-1 심화 스터디/워게임 도장 깨기

[2024.05.09] - Forensic War Game Write Up

CTF Cite : https://play.picoctf.org

 

1. hideme

png 이미지 속에 숨겨진 flag를 찾아내야 하는 문제다.

 

문제에서 제시한 파일을 다운로드 받으면 위와 같이 png 이미지를 확인할 수 있다. (flag.png)

 

HxD를 이용해 png 이미지 파일의 파일 시그니처를 확인해보았다.

 

89 50 4E 47 0D 0A 1A 0A를 통해 png 헤더 시그니처가 올바르게 저장된 것을 알 수 있다.

 

 

청크 중 하나인 IEND가 보이면 이미지가 끝났다고 생각하면 되는데, 뒤를 보니 어떤 값이 더 존재하는 것으로 보인다.

 

칼리리눅스에 binwalk 명령어를 이용하여 파일을 확인해본 결과 2개의 zip파일이 있다는 것을 확인했다. 

 

foremost 명령어를 이용해 파일들을 추출했다. 

 

output 파일 안에 그 안에 png, zip, audit.txt가 있다. zip 파일 안에 000000077.zip파일이 있었고, 해당 zip파일을 압축해제했더니 flag를 확인할 수 있었다.

 

 

 

2. FindAndOpen

Hint1. pcap 다운받고 비밀번호나 flag 찾기

Hint2. 비밀번호 크래킹 도구 사용하지 않기, 더 쉬운 방법이 있음

 

문제에서 제시한 파일의 압축을 해제하려고 했더니 비밀번호를 입력하라는 창이 나온다.

 

 

리눅스에서 wireshark 실행한다. 

 

MDNS 프로토콜 말고 16진수 프로토콜이 있음 하나씩 확인해보니 아래와 같음

 

0x6865: Flying on Ethernet secret : Is this the flag

0x3143: iBwaQNvQ 1RGe1Could the flag have veen splitted?

0x4c4b: AABBHHPJGTFRLKVGhpcyBpcyB0aGUgc2VjcmV0OiBwaWNvQ1RGe1IzNERJTkdfTE9LZF8=

0x7361: PBwaWUvQ1RGesabababkjaASKBKSBACVVAVSDDSSSSDSKJBJS

0x314d: PBwaWUvQ1RGe1Maybe try checking the other file

 

의미불명의 문자열 가장 뒤에 '=='이 있으면 base64일 확률이 높기 때문에 base64 디코딩을 해보았다.

 

0x6865: rnet secret : Is this the flag 0x3143: ould the flag have veen splitted?

0x4c4b: VGhpcyBpcyB0aGUgc2VjcmV0OiBwaWNvQ1RGe1IzNERJTkdfTE9LZF8=

0x7361: bababkjaASKBKSBACVVAVSDDSSSSDSKJBJS 0x314d: aybe try checking the other file

 

암호를 넣었더니 zip 파일을 열 수 있었다. 

 

flag를 획득했다.