picoCTF 문제 풀이[Trivial Flag Transfer Protocol]

MJ·2026년 4월 23일

보자. 확장자가 pcapng이네 이건 wireshark에서 열면 되겠다.


세상에서 열어보니 너무 많은 리스트들이 보인다.
일단 여기서 파일 제목? 주제가 tftp임으로 필터를 tftp로 해서 걸러보자.

한 번 필터를 거르면 이런 식으로 나오고, 여기에 해당하는 내용을 뽑아보자.


Export Objects에서 TFPT를 선택하고 나면

이런 식으로 텍스트 파일이나 이미지 등 파일이 있음을 알 수 있다.
모두가 힌트가 될 꺼 같으니 다 다운받아 보자 Save All을 선택하면 모두가 다운된다.

여기서 좀 수상한 게 있다. 다른 건 다 확장자가 있는데 plan 파일만 확장자가 없어서 어떤 파일인지 알기가 힘들다.
exiftool 명령어를 통해 plan 파일을 확인해보면

파일 확장자가 텍스트 파일임을 알 수 있다. plan 파일의 확장자를 추가해주고,
이제는 plan 파일과 instructions 파일을 열어보자!

아니..또륵.. 이건 뭔 말일까
base64 디코딩을 온라인 사이트에 돌려봐도 이상한 말이 나와서 ROT13으로 인코딩을 돌렸나 싶어서 ROT13 디코딩 사이트에 돌려보기로 한다.

오, 돌려보니 영어긴 하지만 뛰어쓰기를 중간중간에 넣어주니 flag라는 파일을 찾아 낼 것과 plan이라는 파일을 보라는 내용이 마지막쯤에 달려있다.
그럼 plan 파일 역시 ROT13으로 돌리면

역시 뛰어쓰기가 없어서 알아보기는 힘들지만 프로그램 파일을 사용해서 내용을 숨겼고 비밀번호는 DUEDILIGENCE라고 말하고 있다. 또한 이미지를 살펴보라고 말하고 있다.

아까 다운 받았던 program.deb 파일을 풀어보자.
환경이 맥이기 때문에 ar를 사용해서 푼다.

ar x program.deb

풀게 되면

이런 식으로 나오는데
뭔가 data가 중요해 보인다. 이건 압축 파일이니까 이걸 풀게 되면

bin에 들어가면

steghide 파일이 있음을 알 수 있는데, 다만 내 노트북의 환경이 맥임으로 저걸 제대로 실행할 수가 없다.
그래서 나는 맥북에 도커가 예전부터 깔려있었어서 도커를 background로 실행하고 도커를 이용해서 steghide를 사용해보기로 한다.
일단 터미널에서

docker run -it --rm -v $(pwd):/data ubuntu bash

도커를 통해서 우분투를 일단 실행한다.
별 이상없이 들어가게 되면 아래의 명령어를 실행 후, 데이터 폴더로 들어간다.

apt-get update && apt-get install -y steghide
cd /data

그 후 차례차례 이미지 파일을 steghide 명령어를 통해 이미지 셋 중에 어디에 숨겨져 있는지 찾아본다.

드디어 마지막 3번째 이미지 파일에 flag.txt 파일이 있다는 걸 알 수 있었다.

flag.txt 파일을 열면 따란! 바로 정답이 나온다!!

profile
이전 블로그: https://c11.kr/dyb0

0개의 댓글