Network Forensic #41 (우리의 제일 귀여운...)
문제 파일로 stego.pcap 파일이 주어진다.
pcap 파일 분석을 위해 Wireshark 도구를 통해 분석을 진행해보자.
Wireshark : 오픈 소스 패킷 분석 프로그램으로 pcap을 이용하여 패킷을 잡아내는 것이 주요 기능
다운로드 사이트 : https://www.wireshark.org/download.html
Wireshark · Download
Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Rich perfor
www.wireshark.org
분석을 진행하다 보면 3번 패킷에서 message.png 파일을 서버로 요청한 것을 확인할 수 있다.
상세 분석을 위해 [Follow TCP Stream] 기능을 통해 분석해보자.
TCP Stream을 보면 클라이언트가 message.png 파일을 다운로드 한 기록이 존재한다.
혹시 png 파일의 내용을 보면 플래그가 나올 줄 알고 확인해본 결과, 플래그에 대한 아무런 내용도 존재하지 않는다.
그래서 다시 pcap 파일을 계속해서 분석한 결과, 중요한 내용을 발견하였다.
Urgent Pointer : 긴급 데이터 처리를 위해 사용되며, URG 플래그 비트가 지정된 경우에만 유효
패킷 세부 정보를 분석하던 도중 Urgent pointer가 사용된 기록을 발견하였다.
Urgent pointer로 긴급 메시지가 전송될 때는 별도의 패킷으로 전송되지 않고 일반 데이터에 포함되어 함께 전달된다.
Urgent pointer 값 중 0을 제외한 모든 값들에 대한 분석을 위해 tshark 프로그램을 사용하여 0을 제외한 나머지 값들을 추출하여 분석하였다.
Tshark : Wireshark 도구의 CLI 버전이라고 할 수 있으며, 리눅스 환경에서 사용 가능
설치 방법 : sudo apt-get install Tshark 입력
위 명령어대로 Urgent pointer 값을 출력하면 여러 값들이 나오는 것을 확인할 수 있다.
문제를 해석해보면 스테가노그래피 기법으로 플래그를 숨겼다고 추측해볼 수 있으며, 10진수 0~127 값이 사용되는 아스키 코드가 사용됐을 수도 있다.
따라서 플래그 확인을 위해 Python으로 아스키 코드에 매칭 되는 문자열로 변환시켰다.
Python 코드는 위 코드와 같다.
결과를 확인해보면 변환된 값이 플래그라는 것을 확인할 수 있다.
위 과정을 통해 해당 문제를 해결할 수 있다.
# Reference
'Digital Forensics > CTF-D' 카테고리의 다른 글
[Disk Forensic] 우리는 이 바이너리가... (0) | 2020.04.03 |
---|---|
[Network Forensic] 특정 위치에 무선 트래픽이 포함된... (0) | 2020.04.03 |
[Network Forensic] Sans Network Forensic [Puzzle 8] #7, #8, #9 (0) | 2020.03.13 |
[Network Forensic] Sans Network Forensic [Puzzle 8] #4, #5, #6 (0) | 2020.03.13 |
[Network Forensic] Sans Network Forensic [Puzzle 8] #1, #2, #3 (0) | 2020.03.13 |