워게임/CTFlearn

[CTFlearn] A CAPture of a Flag - 포렌식 / Wireshark

SecurityMan 2022. 10. 15. 11:00

 

CTFlearn의 서른한번째 문제

 

이번에는 Medium 난이도의 포렌식 문제이다.

 

이제부턴 점점 Easy 난이도의 문제 비중이 줄어들고 있다.

 

반응형

 

문제를 풀고나니 눈에 들어오는게,

 

이 문제의 작성자가 hazzy 라는 아이디를 가진 사람인데,

 

작성자 이름이 아주 큰 힌트였다.

 

 

주어진 주소로 접속하면,

 

flag (4) 라는 이름의 파일을 다운받을 수 있다.

 

 

문제 설명에도 쓰여있는데

 

이 flag (4) 파일을 HxD로 열어보면 패킷 덤프 파일인것을 확인할 수 있다.

 

이런 패킷 덤프 파일은 Wireshark 라는 도구로 열어볼 수 있다.

 

 

와이어샤크를 실행시켜서

 

파일을 드래그 앤 드롭하면 이렇게 패킷을 볼 수 있다.

 

1번 패킷부터 뭔가 UDP로 데이터를 잔뜩 전송하는 모습이 보인다.

 

 

자세히 보기위해 

 

UDP 패킷에서 우클릭 - Follow - UDP Stream 을 눌러봤다.

 

 

눌러보면 이렇게 알수없는 데이터들이 오고간것을 확인할 수 있는데

 

문제 난이도가 Medium 인걸 고려해서

 

이건 상관없는 패킷일거라고 생각했다.

 

 

UDP 패킷을 제외하고 보기 위해

 

필터창에 tcp 라고 입력해 TCP 패킷만 나오도록 했다.

 

 

조금 내리다보니 수상한 패킷을 발견했다.

 

HTTP 프로토콜로 GET 요청을 보냈는데,

 

?msg 변수에 base64 인코딩된 값을 담아서 보내고 있는 모습이다.

 

 

마찬가지로 해당 패킷 우클릭 - Follow - HTTP Stream 버튼을 눌러서 자세히 살펴보았다.

 

 

패킷을 보낸 서버의 주소에 문제 출제자 이름인 hazzy 가 들어있는것을 보고

 

이 부분이 플래그라고 확신했다.

 

 

CyberChef(https://gchq.github.io/CyberChef)에서 msg 변수에 들어있던 값을 디코딩 할 수 있다.

 

base64로 디코딩해주면 플래그를 찾을 수 있다.

반응형