일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Digital Forensics
- Database
- CTF
- Network
- 구현
- Web
- HackCTF
- SuNiNaTas
- 써니나타스
- Python
- 정렬
- Text
- C
- Forensics
- N0Named
- Incognito
- 문자열
- Web Hacking
- xcz.kr
- 인코그니토
- cryptography
- 사칙연산
- 수학
- wargame
- 백준
- php
- 그리디 알고리즘
- writeup
- MySQL
- misc
- Today
- Total
보안을 그리다, 훈이
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - AARRTTIISSTT?? Write Up 본문
[제3회 2021 전국 고등학생 사이버 보안 경진대회] Network - AARRTTIISSTT?? Write Up
HooNeee 2021. 9. 14. 18:37본 게시글은 필자가 운영 및 출제위원으로 활동한 [제3회 2021 전국 고등학생 사이버 보안 경진대회]에 출제한 문제의 풀이 방법을 기술한 문서입니다.
[Network] - AARRTTIISSTT??
A nine-year-old boy said, "I think my artistic sense is very perfect. What do you think? Do I have the qualities of an artist?”
(티스토리 정책상, 20MB가 초과하는 첨부파일은 업로드가 불가합니다.)
문제 이름
AARRTTIISSTT??
문제 기술
A nine-year-old boy said, "I think my artistic sense is very perfect. What do you think? Do I have the qualities of an artist?”
문제 분야
Network
필요 기술
패킷 분석 도구를 활용한 패킷 필터링 및 추출, 프로토콜 파악, 리눅스 명령어 및 옵션 이해, 암호화 기법 파악, 파일 구조 파악 및 복구 등 기타 포렌식 기술
상세 풀이
먼저, 첨부파일로 제공된 ‘AARRTTIISSTT??.zip’의 압축을 해제하면 ‘AARRTTIISSTT??.pcapng’ 이름을 가진 패킷 파일이 생성된다.
그러나 이 패킷 파일을 열어보면 [그림 1]과 같이 에러가 출력되며 패킷 내용을 확인할 수 없는데, 이 파일의 hex 값을 확인해보면 Rich Text Format 즉, rtf 확장자의 헤더 시그니처인 ‘7B 5C 72 74 66 31’이 출력되는 것을 볼 수 있다.
따라서 rtf 확장자의 헤더 시그니처인 ‘7B 5C 72 74 66 31’를 pcapng 확장자의 헤더 시그니처인 ‘0A 0D 0D 0A’로 변경하여 저장하면 정상적인 패킷을 확인할 수 있다.
[File] - [Export HTTP object list]를 확인해보면 다양한 웹서버와 송수신된 패킷들을 볼 수 있지만 플래그와 관련된 패킷은 보이지 않는다.
패킷을 살펴보면 보안 문제로 최근에는 자주 사용되지 않는 ‘TELNET’ 프로토콜로 통신한 내역들을 확인할 수 있으며, 이는 문제 이름 ‘AARRTTIISSTT??’와 같이 평문으로 송수신하며 문자를 송신하게 되면 한 문자씩 곧바로 수신되는 특징을 지니므로 [TCP Stream]을 통해 살펴보면 단어가 두 번씩 반복되는 것을 확인할 수 있다.
[그림 2]와 같이 관련 패킷을 [Follow] - [TCP Stream]을 통해 살펴보면 TELNET 프로토콜을 사용해 ‘producer@localhost’와 통신한 내역들을 쉽게 볼 수 있으며, 명령어 사용 기록과 함께 출력 결과가 모두 나와있다.
‘Desert_Rainbow.png’와 ‘Desert_Rainbow.pptx’ 파일을 다루는 것 또한 확인할 수 있다.
[그림 3]에서 보듯, xxd 명령어를 사용하여 두 파일을 다룬 기록이 있다. xxd 명령어는 Binary 데이터를 16진수로, 16진수 데이터를 Binary 데이터로 변환해주는 역할을 한다.
또한, ‘xxd -p Desert_Rainbow.pptx >>> DR’ 명령을 사용한 기록도 볼 수 있는데, ‘-p’ 옵션은 주소나 ASCII 없이 hexdump의 내용만 출력하는 기능이다.
따라서, 위 명령은 ‘Desert_Rainbow.pptx’ 파일의 hexdump 값을 이름이 ‘DR’인 파일로 저장하는 것이다.
Desert_Rainbow.pptx 파일의 hexdump 값인 DR 내용을 hex editor 등의 툴을 사용하여 pptx 확장자로 저장한다.
이후, 복구한 파일을 열어보면 [그림 5]와 같이 PPT를 활용하여 그린 그림이 나타난다.
파워포인트 등의 편집 툴 기능을 사용해 수많은 그림 개체들을 각각 이동하거나 삭제하는 등의 작업을 수행할 수 있다.
[그림 6]과 같이 텍스트가 삽입된 것을 발견할 수 있으며, 이는 본 문항의 플래그이다.
flag : ADCTF{D@ddy_said_1_d3s3rv3_t0_b3_@_P@!nt3r}
[연관 게시글] 전국 고등학생 사이버 보안 경진대회 | 운영 및 출제위원 수행 후기