Log2timeline.py(Plaso)によるタイムラインの作成(20)
Log2timeline(Plaso)の PcapParser(Parses PCAP files)に続き、Ver 0.66 の pcap パーサについても試してみたいと思います。
root@siftworkstation:/cases# log2timeline -f pcap -r -o csv -z UTC -log out1.log -w pcaptimeline066.txt /cases/pcap/
まずは、DNSだけのパケットにフィルタしたデータのパース結果になります。この出力ではUDPである事や 53/udp 宛てのパケットなどが読みやすいですね。
date,time,timezone,MACB,source,sourcetype,type,user,host,short,desc,version,filename,inode,notes,format,extra
04/20/2014,00:50:04,UTC,MACB,NEt,PCAP file,Time Written,-,192.168.11.105,UDP packet 192.168.11.105:59032 -> 192.168.11.9:53,UDP packet 192.168.11.105:59032 -> 192.168.11.9:53,2,/dns.pcap,31981570,-,Log2t::input::pcap,src-ip: 192.168.11.105 dst-ip:
04/20/2014,00:50:04,UTC,MACB,NEt,PCAP file,Time Written,-,192.168.11.9,UDP packet 192.168.11.9:53 -> 192.168.11.105:59032,UDP packet 192.168.11.9:53 -> 192.168.11.105:59032,2,/dns.pcap,31981570,-,Log2t::input::pcap,src-ip: 192.168.11.9 dst-ip:
次に、HTTPだけにフィルタしたデータをパースしてみた結果が下記になります。パケット毎にレコードが出力されていますので、ディスク側のタイムラインとマージして確認するには、何か工夫が必要かもしれません。(そのままマージするとノイズが増える事になります)
date,time,timezone,MACB,source,sourcetype,type,user,host,short,desc,version,filename,inode,notes,format,extra
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,192.168.11.105,TCP SYN packet192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975066],TCP SYN packet192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975066],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 192.168.11.105 dst-ip:
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,103.4.201.12,TCP packet flags [0x12: SYN ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812605],TCP packet flags [0x12: SYN ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812605],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 103.4.201.12 dst-ip:
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,192.168.11.105,TCP packet flags [0x10: ACK ] 192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975067],TCP packet flags [0x10: ACK ] 192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975067],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 192.168.11.105 dst-ip:
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,192.168.11.105,TCP packet flags [0x18: PUSH ACK ] 192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975067],TCP packet flags [0x18: PUSH ACK ] 192.168.11.105:21149 -> 103.4.201.12:80 seq [3817975067],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 192.168.11.105 dst-ip:
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,103.4.201.12,TCP packet flags [0x10: ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812606],TCP packet flags [0x10: ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812606],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 103.4.201.12 dst-ip:
04/20/2014,00:50:17,UTC,MACB,NEt,PCAP file,Time Written,-,103.4.201.12,TCP packet flags [0x18: PUSH ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812606],TCP packet flags [0x18: PUSH ACK ] 103.4.201.12:80 -> 192.168.11.105:21149 seq [367812606],2,/http1.pcap,31981570,-,Log2t::input::pcap,src-ip: 103.4.201.12 dst-ip:
IPアドレス部分は名前解決したものと置き換えると、より読みやすくなるかもしれません。いずれにしても、かなり時間範囲が限定できるケースでは、該当時間帯の通信状況をディスク側のタイムラインとマージすることで新たな発見が出来る可能性はありそうです。