본문 바로가기
Forensics/CTF Write-Ups

[SWING 내부 CTF] What_did_you_do_yesterday

by sseddi 2020. 8. 22.
728x90

문제를 보면 zip 파일이 첨부되어 있고, 힌트는 와이어샤크를 사용하라고 한다. Zip 파일을 열어보면 pcap 확장자의 패킷 파일이 들어있어서 이를 와이어샤크로 열어보았다.

열어보면 맨 앞에 날짜가 쓰여있고, 프로토콜이 색깔별로 잘 정리되어 있는 것을 볼 수 있었다. 스크롤을 내려 쭉 봤더니 날짜는 모두 7월 13일이어서 문제가 말하는 어제는 13일인가보다 스크롤을 내려서 쭉 보는데 프로토콜이 다양하게 있었지만 대부분 TCP 아니면 UDP였다. 궁금해서 찾아보니

https://mangkyu.tistory.com/15

TCP는 인터넷 상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이라고 하고, UDP는 데이터를 데이터그램 단위로 처리하는 프로토콜이라고 한다.

 

둘 다 완벽하게 이해는 못했지만 TCP는 연결형 프로토콜로 신뢰성을 보장하고, UDP는 비연결형 프로토콜로 신뢰성보단 연속성이 중요한 서비스(스트리밍 서비스)에 자주 사용된다고 한다.

 

그래서 일단 TCP랑 UDP를 follow → TCP/UDP Stream으로 살펴보았다.

살펴보았는데..

이런식으로 의미를 알 수 없는 아스키코드만 나열되어있었다. 그래서 이건 별로 중요하지 않은 정보인 것 같아서 구글에다가 wireshark에서 볼 수 있는 정보들 에 대해서 구글링을 해봤다. 그래서 File → Export Objects → HTTP로 들어가면 HTTP를 이용해 주고받은 파일들을 나열해준다 는 것을 알게 되었다.

그 결과 이 창이 나오게 되는데

Filename을 보면 느낌상 zip파일이 가장 눈에 띄었다. Hostname도 같고 뭔가 여기서 더 하면 뭐가 나올 것 같았다. 그래서 filename이 music.zip인 3번째 부분을 눌렀다. 그랬더니 해당 부분으로 이동 해주는데

거기서 Follow → HTTP Stream을 해서 자세히 보기로 했다.

그래서 창이 떴는데 스크롤을 좀 내리니까 PK랑 flag.txt가 나와서 이걸 hxd로 복붙해서 zip파일 한다음에 열면 flag.txt가 나오겠다 생각이 들어서 바로 복사해가지고 붙여넣어주었다.

근데 열어보니까 일단 헤더 시그니처가 다르고 뭔가 2E가 왜이렇게 많은지 이상했지만 헤더 시그 니처를 고쳐가지고 저장 후 열어봤더니 파일이 안열렸다. 그래서 푸터 시그니처도 봤는데

푸터도 달라가지고 고쳤더니

다른 분할 파일이 없다고 나와서 뭐지 왜지 구글에 zip 파일 구조를 구글링했다. https://m.blog.naver.com/PostView.nhn?blogId=koromoon&logNo=220612641115&proxyReferer=h ttps:%2F%2Fwww.google.com%2F

이걸 보고 하나하나 고쳐서 아무리 고쳐도 파일을 열면 위의 오류가 뜨면서 파일을 열 수 없었 다. 그래가지고 다시 와이어샤크 들어가가지고 봤는데

파일을 볼 수 있는게 raw옵션이 있었다. 원래 디폴트 값으로 ASCII로 되어있어서 그냥 그거 복사했는데 raw가 맞는 거 같아가지고 바꾼 뒤에

복사를 했다.

붙여넣었더니 위에 필요없어보이는 건 지워버리고 열어봤더니 와 열렸다. 근데 이게 암호가 걸려있었다.

암호만 풀면 될 것 같은데 근데 예전에 풀어본 문제 중에 zip파일 구조 중 Bit flag부분을 HxD로 수정해가지고 암호를 없앨 수 있었던 문제가 있어서

Bit flag 번호가 09 00이었던 거를 00 00으로 하나하나 바꿔보았더니

파일이 손상되었다고 열리지 않았다. 어디서 이 비밀번호를 찾아야하는 것 같아서 다시 wireshark를 살펴보았는데도 비밀번호를 알 수 가 없었다. 그래서 구글링을 또 해보니까 NetworkMiner이라는 프로그램을 찾을 수 있었다. Wireshark와 비슷하지만 어떤 파일이 전송되었는지 재구성해서 보여준다는 점에서 달랐다.

https://blog.naver.com/PostView.nhn?blogId=stop2y&logNo=221033954685&parentCategoryNo=&categoryNo=153&viewDate=&isShowPopularPosts=true&from=search

위 블로그를 참고해 Files에서는 패킷 내에 파일을 다시 재구성해서 원본 파일로 복원해주는 기능 이 있는 것을 알 수 있었다.

그래서 files에서 zip파일을 찾아가지고 open folder을 해주었더니

안에 이렇게 두 개가 들어있었다. 첫 번째 html을 들어가니까

비번이 …딱 …

비번을 사용해 flag를 얻을 수 있었다.

성공!

 

출제: N0Named 해킹팀

728x90

댓글