# Network Forensics with wireshark

### IP Filters

```
ip.addr == 192.168.1.1 : Specific IP To filter packets from or to a specific IP 
ip.src == 192.168.1.1   : Source or Destination IP Specify if you're interested in packets from a source or to a destination.
ip.dst == 192.168.1.1
```

### Port-Based Filters

```
tcp.port == 80 : HTTP Traffic (Port 80) Often used to identify cleartext web traffic 
tcp.port == 443 : HTTPS Traffic (Port 443) Useful for tracking encrypted web traffic. 
udp.port == 53  : DNS Traffic (Port 53) DNS queries and responses, often targeted in DNS tunneling attacks 
tcp.dstport == 3333
```

### Protocol-Specific Filters

```
dns : DNS Traffic &Track domain name resolutions 

dns.qry.name contains ".onion" || dns.qry.name contains "suspiciousdomain"  :  Suspicious Domain Lookups & Look for uncommon or long domain names, which can indicate DNS tunneling.

http || tls : HTTP and HTTPS Monitor both HTTP and HTTPS traffic 

ftp : FTP Traffic Often used by attackers for data exfiltration. 
ftp.request.command == "STOR" || ftp.request.command == "RETR"  : FTP File Transfers & Detect uploads and downloads

icmp : ICMP Traffic Useful for identifying ping sweeps or DoS attacks 
icmp.type == 8

smb || smb2  : Often used by attackers for lateral movement and Capture all SMB communications
smb.cmd == 0x2e : SMB File Access & Track file access events on SMB shares

kerberos : Kerberos Traffic Filter for all Kerberos authentication traffic

ldap : LDAP Traffic: Capture LDAP protocol traffic 
```

### Malicious Traffic Indicators

```
http.request.method == "POST" || http.request.method == "PUT" : Suspicious HTTP Requests

http.host contains "malicious-domain.com" || ip.addr == <ip>  : Known Malicious Domains or IPs Check against known threat indicators

ssl.handshake && !ssl.data : TLS Handshake with No Data Transfer & Possible indicator of C2 communication. 

tcp contains " " : to grep or search for somthing like as file or pattern 

tcp.payload contains " "  
tcp.analysis.retransmission || tcp.analysis.out_of_order : Detect Suspicious Packet Modifications


```

### Filters for ARP Poisoning

```
arp
arp.opcode == 1 : ARP Requests
arp.opcode == 2 : ARP Replies
arp.src.proto_ipv4 == arp.dst.proto_ipv4 : Gratuitous ARP 
arp.src.proto_ipv4 == 192.168.1.1 && arp.hw.src == 00:11:22:33:44:55 : Filter for Specific MAC and IP Mappings
arp.duplicate-address-frame : arp.duplicate-address-frame
eth.dst == ff:ff:ff:ff:ff:ff && arp : Detect ARP Broadcast Storms
```

### Buffer Overflow in Network Traffic

```
tcp.len > 1000 : Buffer overflow exploits often involve large payloads
http.request.uri.length > 200 
ftp.request.command : Malformed FTP commands may be used
ftp.request.command contains "RETR"
ftp.request.command matches ".{200,}"
icmp && frame.len > 1500 : Malicious payloads in oversized ICMP packets
tcp contains "\x90\x90\x90\x90" : Search for shellcode # NOP sleds in payloads
```

### Analyzing Payloads and Content

```
http contains "password" : Search for Specific Content in HTTP & Look for keywords in HTTP payloads (e.g., keywords like "password"). 

frame contains "Basic " : Look for Base64 Encoded Content & Commonly used in data exfiltration. 

http.content_type contains "application/x-msdownload"  : Track Suspicious Downloads & Monitor file downloads, particularly executable files.

http.request.uri contains "../" || http.request.uri contains "UNION" : SQL Injection or Directory Traversal & Look for special characters in HTTP requests

http.user_agent contains "MaliciousAgent" : Check for Suspicious User-Agent Strings & Custom User-Agents may indicate malware; filter 

http.body contains "powershell" 

http.body contains ".bat" 

http.request.uri != "/example1"

mime_type == "application/zip"
```

### searching for specific file

```
http.content_disposition contains "attachment;filename=" 
http.request.uri contains ".exe" || http.request.uri contains ".zip" 
tcp contains "filename" 
frame contains "*.exe"
```

### Detecting Anomalous Connections

```
tcp.analysis.flags && tcp.flags.ack==1 && tcp.stream eq 0 : Identify Long-Lived Connections & Identify persistent connections.
tcp.port > 1024  : Unusual Ports: Filter for non-standard ports
```

### Kerberos Traffic

```
kerberos.msg_type == 10  : Kerberos TGT (Ticket Granting Ticket) Requests: Useful to spot initial authentication 
kerberos.msg_type == 12  : Kerberos TGS (Ticket Granting Service) Requests: Commonly exploited in Kerberoasting

kerberos.error_code   : Suspicious Kerberos Errors: Errors may indicate failed attempts or misconfigurations that attackers exploi

kerberos.Ticket.expiry_date < kerberos.Ticket.issue_date : Filter for Golden Ticket Attack Indicators: Look for unusual ticket lifetimes or patterns in TGT requests.

```

### LDAP Traffic (Active Directory)

```
ldap :  LDAP Traffic Capture LDAP protocol traffic 
ldap.filter contains "(objectclass=user)"  : Filter for Specific LDAP Queries & Check for abnormal queries that might indicate reconnaissance
```
