DFIR Playbook - Network Forensics
Introduction
This post aims to replicate my physical playbook on Networking and includes the following tools
- tshark
- capinfos
- Network Miner
- editcap
- nfdummp
- bro
- passivedns
- zcat
Future editions will include Snort and Live Monitoring
Contents
Converting PCAPs
| From | To | Command | 
|---|---|---|
| pcap | netflow | nfcapd -r <pcapfile> -S 1 -z -l <Outputdirectory> | 
| pcap | zeek | bro <profile> -r <pcapfile>profiles listed in/opt/bro/share/bro/site/<name>.bro | 
| pcap | dns | passivedns -r <pcapfile> -l dnslog.txt -L nxdomain.txtNot included in SIFT, see repo | 
| pcapng | pcap | tcpdump -r <pcapngfile> -w pcap.pcap | 
| gz | grep’able text | zcat <gzfile> | 
| LargePCAP | FilteredPCAP | tcpdump port 80 -r in.pcap -w out.pcap | 
| LargePCAP | PlainTextWebPCAP | tshark -r Capture.pcap -Y "http.request or http.response or dns" -w Capture-Web.pcapNote:tshark will ONLY capture port 80, if HTTP traffic is on other ports, use TCPDump with port numbers | 
Analysing PCAPs
| Description | Command | |
|---|---|---|
| HTTP Packet Counter | tshark -r <pcapfile> -z http,tree -q | |
| Info | capinfos <pcapfile> | |
| Basic filter output | tshark -r <pcapfile> -Y '<filters>'See Wireshark wiki or Unit42 for filter examplesNote:tshark uses wireshark filters | |
| Get files from pcap | tcpflow -r <pcapfile> -o <outputdirectory>ornetworkminer*Note: see Netresec for network miner installation instructions | |
| Splice PCAP by before time | editcap -B "<YYYY-MM-DD HH:MM:SS Before Time>" <pcapfile> spliced.pcap | |
| Splice PCAP by after time | editcap -A "<YYYY-MM-DD HH:MM:SS After Time>" <pcapfile> spliced.pcap | |
| Forensics Analysis | tshark -r <pcap file> -Y <display filters> -T fields -e <Fields To display>Can be combined with |sort|uniq -c | sort -nrfor statistical analysisFields Use one -efor each field, examples includeip.addrudpframe.numberor to show protocol fields from wireshark use_ws.colfor example_ws.col.infoor_ws.col.dns.query. To print all available fields usetshark -G fieldsor see Wireshark documentation | |
| Filter pcaps (Reduce them down) | tcpdump -n -r <pcapfile> -w out.pcap <filter>filter could be udp and port 53for DNS traffic see TCP Dump filters for more examples | |
| Yet Another Filter pcaps (Reduce them down) | .\tshark.exe -r <input pcap> -Y <display filters> -w out.pcap | |
| Dump netflow | nfdump -R <inputdirectory> <options> <filter> -o fmt.<format string>see 572 Poster for usage | |
| Convert PCAP to http.log, files.log, conn.log Not nativley included in SIFT, download from zeek-packages | zeek -r <filename> | |
| Filter zeek columns | cat http.log | zeek-cut column_name | |
| DNS Quick Wins | tshark -r <pcap file>-z dns,tree | grep | 
Extracting Certificates for TLS Traffic
- Open Wireshark
- Find the relevant certificate with the following wireshark filter tls.handshake.type == 11and an identifier such as IP or domain name that resolves to that endpoint. You can also usetls.handshake.extensions_server_name contains <name>if you know the domain name then follow the stream.
- Right click the certificate entry and selct “Export Packet Bytes”
 
- Save the file as a .der certificate
- Convert to pem with openssl x509 -inform der -in hotjar.der -out hotjar.pem
Netflow
- WIP
Snort
- WIP
 
       
       
      