Chúng ta có các protocol như TCP, DNS, ICMP. Sau khi xem sơ lược thì ICMP là protocol ta cần chú ý đến, Filter icmp trên wireshark để lọc những thứ không cần thiết
Tất cả các Protocol ICMP đều có length 100. Look at data, chúng ta có PK - file zip và chúng repeat 3 lần PK
Sử dụng tshark để lấy payloads, dùng filter để lấy các packet reply ip.dst == 192.168.1.
Vậy chúng ta đã có được payload, nhưng vấn đề ở đây là làm sao để lấy file zip vì playload ở đây có tận 3 PK, vì vậy mình đã viết một đoạn python để lấy bytes từ vị trí 16 đến 48
#!usr/bin/env python3
flag = []
with open('raw', 'r') as file:
text = file.readlines()
for payload in text:
flag.append(bytearray.fromhex(payload[16:48]))
with open('flag.zip', 'wb') as out_file:
out_file.write(b''.join(flag))