일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- wargame
- Database
- MySQL
- CTF
- 구현
- C
- php
- N0Named
- Forensics
- writeup
- 정렬
- Web Hacking
- 사칙연산
- HackCTF
- Network
- Incognito
- Digital Forensics
- SuNiNaTas
- 인코그니토
- Python
- 그리디 알고리즘
- Text
- Web
- 써니나타스
- xcz.kr
- 백준
- cryptography
- 문자열
- 수학
- misc
- Today
- Total
보안을 그리다, 훈이
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - AD SUMMER PARTY (backup ver.) Write Up 본문
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - AD SUMMER PARTY (backup ver.) Write Up
HooNeee 2021. 9. 14. 19:10본 게시글은 필자가 운영 및 출제위원으로 활동한 [제3회 2021 전국 고등학생 사이버 보안 경진대회]에 출제한 백업 문제의 풀이 방법을 기술한 문서입니다.
[Network] - AD SUMMER PARTY (backup ver.)
I'm hosting a grand party on August 21, 2021. But I accidentally deleted an important file that was on my PC. This is the password for important files that can't be left out at parties. I can't play party songs without a password. A lot of friends and acquaintances are supposed to attend the party, but I'm worried about what to do. Help me!
(티스토리 정책상, 20MB가 초과하는 첨부파일은 업로드가 불가합니다.)
문제 이름
AD SUMMER PARTY
문제 기술
I'm hosting a grand party on August 21, 2021. But I accidentally deleted an important file that was on my PC. This is the password for important files that can't be left out at parties. I can't play party songs without a password. A lot of friends and acquaintances are supposed to attend the party, but I'm worried about what to do. Help me!
문제 분야
Network
필요 기술
패킷 분석 도구를 활용한 패킷 필터링 및 추출, 프로토콜 파악, 암호화 기법 파악, 음원 파형 추출, 파일 구조 파악 및 복구 등 기타 포렌식 기술
상세 풀이
먼저, 문제 이름 ‘AD SUMMER PARTY’에서 파티와 관련된 문제임을 알 수 있으며, 문제 기술에 명시된 파티 음악이 담긴 파일을 찾으려고 한다는 문구를 통해 mp3 또는 mp4 파일 등 멀티미디어 관련 확장자를 가진 파일인 것을 유추할 수 있다.
문제의 첨부파일인 ‘[Official]AD_SUMMER_PARTY_trailer.mp4.zip’ 파일과 ‘this_is_packet.pcapng’ 파일을 다운로드한다.
[그림 1]의 패킷 파일을 열어 문제 제목을 힌트 삼아 ‘frame contains ‘AD SUMMER PARTY’’ 등으로 패킷 필터링을 해보면 21번 포트를 사용하는 프로토콜인 FTP로 주고받은 패킷들이 출력된다.
FTP는 File Transfer Protocol의 약자로서 파일 등을 전송할 때 사용하는 프로토콜이다.
따라서, ‘ftp’와 ‘ftp-data’로 패킷 필터링을 하면 파티 음원이 담긴 관련 파일의 단서를 찾을 수 있다는 것을 유추할 수 있다.
[그림 2]와 같이 ‘ftp-data’로 패킷 필터링을 한 결과, 본 서버로 ‘[SECRET] AD SUMMER PARTY songs pw.rtf’ 파일이 전송된 것을 확인할 수 있다.
본 파일을 [Follow] - [TCP Stream] 기능을 사용하여 카빙한 후 저장하면,
[그림 3]과 같은 Rich Text File이 출력되며, ‘th1s_1s_p2ss’가 파티 음원들과 관련된 파일의 암호라는 것을 추측할 수 있다.
이후, 처음에 다운로드했던 ‘[Official]AD_SUMMER_PARTY_trailer.mp4.zip’ 파일의 압축을 해제한다.
압축 해제를 위해 암호가 필요하다고 나타나는데, ‘th1s_1s_p2ss’ 문구를 입력하면 정상적으로 압축이 풀리고 ‘[Official] AD SUMMER PARTY trailer.mp4’ 파일이 생성된다.
본 영상을 시청해보면 파티의 예고편과 관련된 영상임을 알 수 있지만 별다른 단서는 발견할 수 없다.
따라서, hex editor 등의 툴을 사용해 본 파일의 hex dump를 확인해본다.
당연하게도 본 파일의 헤더 시그니처는 mp4 확장자가 가지는 값과 동일하다.
그러나 mp4 파일은 푸터 시그니처를 갖지 않는 반면에 본 파일의 푸터 부분에는 [그림 4]에서 보이는 바와 같이 PK를 의미하는 ’50 4B 05 06’ 값이 존재하며, 이는 압축 파일인 zip 파일의 푸터 시그니처이다.
hex dump를 자세히 살펴보면 본 파일의 뒷부분에 두 개의 압축 파일이 숨겨져 있음을 알 수 있고, 이러한 압축 파일을 추출하기 위해 zip 확장자의 헤더 시그니처인 ’50 4B 03 04’를 찾아 카빙하여야 한다.
카빙한 압축 파일을 해제하면 [그림 5]와 같이 mp4 확장자를 가진 두 개의 영상이 출력된다.
이 영상들은 파티에서 재생할 음원들이 담긴 영상이며, 파형을 분석하기 위해 ‘audacity’ 등의 툴을 사용한다.
‘audacity’로 본 음원들의 파형을 확인하기 위해서는 wav 파일이 필요하다.
따라서, 온라인 변환기 등의 툴을 이용하여 mp4 확장자인 영상 파일을 wav 확장자인 음원 파일로 추출한 후 각각의 wav 파일을 ‘audacity’를 통해 확인한다.
‘audacity’ 상에 나타나는 음원 파일들의 파형이 아닌 스펙트로그램을 확인해보면,
‘[MV] BLACKPINK Ã Village People - How You Like Y.M.C.A.wav’ 음원의 스펙트로그램 후반부 15K ~ 20K 대역 사이를 보면 [그림 6]과 같은 플래그 값이 세 번 출력되는 것을 확인할 수 있다.
flag : ADCTF{L37’s_P@rTy__W1th_Me!!!}
[연관 게시글] 전국 고등학생 사이버 보안 경진대회 | 운영 및 출제위원 수행 후기
'Capture The Flag > CTF 출제' 카테고리의 다른 글
[제3회 2021 전국 고등학생 사이버 보안 경진대회] MISC - Easy2Solve Write Up (0) | 2021.09.14 |
---|---|
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - AARRTTIISSTT?? Write Up (0) | 2021.09.14 |
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - I·MAIL·U Write Up (0) | 2021.09.14 |
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - Binary Letters Write Up (0) | 2021.09.14 |