해당 블로그는 해킹 및 보안 블로그로 공부 및 연구용으로 작성되어지고 있습니다. 아래의 내용을 기반으로 해킹 시도 및 실제 공격을 시도하여 일어나는 모든 책임은 본인(따라한자)에게 있음을 알려드리며, 글쓴이는 아무런 책임을 지지 않습니다. 꼭 공부 및 연구용으로만 사용하여 주시길 바랍니다. 감사합니다.
개요
Tenable CTF에서 출제된 네트워크 포렌식 문제를 Wireshark를 이용하여 풀어본 내용임.
내용
먼저 PCAP파일을 열어 확인 해보면 다음 내용과 같다.
프로토콜의 종류와 데이터의 양을 보기 위해 해당 내용을 확인해본다.
Statistics -> Protocol Hierarchy를 클릭하게 되면 아래의 내용처럼 통신 프로토콜을 확인가능하다.
ICMP(Internet Control Message Protocol)을 확인해 볼 예정이다.
패킷을 확인해보면 실제로 ICMP 패킷이 많이 통신하는 것을 확인 할수있다.
ICMP라는 필터를 통해 해당 프로토콜만 확인 하고 출발지 아이피는 10.211.55.3과 10.211.55.5 두개의 아이피가 존재한다.
패킷을 확인해보면 10.211.55.5의 아이피의 data에서 무언가를 확인할 수 있다.
바로 PNG의 시그니처를 확인할 수있는데 그럼 여기서 우리는 필터를 좀 더 걸어보자. 패킷의 길이는 100이 평균으로 잡혀있다. 그럼 최종 필터는 이렇게 해보는건 어떨까?
icmp && ip.src==10.211.55.5 && frame.len>100
이렇게 말이다.
그럼 이렇게 줄여진다. 그럼 해당 패킷들을 조합해보자.
해당데이터들을 사실 노가다를 통하여 HXD나 헥스값을 넣을 수있는 곳에 넣어 PNG파일로 만들수 있으나 귀찮으니 ...
일단 필터를 건 패킷을 저장하고...
#/bin/python3
import scapy.all as scapy
result = scapy.rdpcap('result.pcap')
with open('result.png', 'wb') as f:
for packet in result:
f.write(bytes(packet.payload)[28:])
이렇게 코드를 작성하고 실행을 하면
파일은 result.png로 저장이 될텐데...
이렇게 저장되어 답을 얻을 수 있다.
결론
Wireshark를 통해 간단하게 ICMP패킷을 분석 해보았다. 데이터를 이리저리 지지고 볶고 하다보면 답이 나오는 것을 다시한번 느낀다.
뭐든 하면 재밌다.
'Wargame > CTF(Capture The Flag)' 카테고리의 다른 글
CTF forensic(Recovering From the Snap) 문제 (1) | 2019.01.01 |
---|---|
hackover CTF I AM MANY write up :) (0) | 2018.10.09 |
홀리쉴드 2016? forensic memory :) (2) | 2017.01.11 |
어디 문제인지 까묵은 문제... (0) | 2017.01.11 |
RC3CTF_300_Breaking News (0) | 2016.12.16 |
댓글0