@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

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アドレス部分は名前解決したものと置き換えると、より読みやすくなるかもしれません。いずれにしても、かなり時間範囲が限定できるケースでは、該当時間帯の通信状況をディスク側のタイムラインとマージすることで新たな発見が出来る可能性はありそうです。