Vorlage:Suricata-rules: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
<pre> | <pre> | ||
# ICMP: einfacher Ping/Traceroute (schneller Funktionstest) | # ICMP: einfacher Ping/Traceroute (schneller Funktionstest) | ||
| − | # Test: ping - | + | # Test: ping -c 1 1.1.1.1 |
| − | alert icmp any any -> any any (msg:"ICMP Test"; classtype:misc-activity; sid: | + | alert icmp any any -> any any (msg:"ICMP Test"; classtype:misc-activity; sid:9000041;) |
# HTTP: mögliches Command-Injection-Merkmal (Semikolon) in POST-Body | # HTTP: mögliches Command-Injection-Merkmal (Semikolon) in POST-Body | ||
| − | # Test: curl -X POST http:// | + | # Test: curl -X POST http://www.it2XX.int/host.php --data-urlencode "fqdn=example.com;ls" -d "submit=Auflösen" |
| − | alert http any any -> any any (msg:"Command Injection - Semicolon in POST DATA"; classtype:web-application-attack; flow:established; content:"%3B"; nocase; http_client_body; sid: | + | alert http any any -> any any (msg:"Command Injection - Semicolon in POST DATA"; classtype:web-application-attack; flow:established; content:"%3B"; nocase; http_client_body; sid:9000002;) |
# HTTP: mögliches SQLi-Merkmal (einfaches Hochkomma) in POST-Body | # HTTP: mögliches SQLi-Merkmal (einfaches Hochkomma) in POST-Body | ||
| − | # Test: curl -X POST http:// | + | # Test: curl -X POST http://www.it2XX.int/sql-classic.php --data-urlencode "username=' OR '1'='1' --" |
| − | alert http any any -> any any (msg:"Possible SQL Injection (singlequote in POST)"; classtype:web-application-attack; flow:established,to_server; content:"%27"; nocase; http_client_body; sid: | + | alert http any any -> any any (msg:"Possible SQL Injection (singlequote in POST)"; classtype:web-application-attack; flow:established,to_server; content:"%27"; nocase; http_client_body; sid:9000003;) |
| − | # DNS: Policy | + | # DNS: Policy - verbietet "google" in DNS-Queries |
| − | # Test: | + | # Test: host google.de |
| − | drop dns any any -> any any (msg:"Kein Googlen"; dns.query; content:"google"; nocase; classtype:policy-violation; sid: | + | drop dns any any -> any any (msg:"Kein Googlen"; dns.query; content:"google"; nocase; classtype:policy-violation; sid:9000043;) |
# DoS: viele identische kurze HTTP-GETs (LOIC-ähnlich) | # DoS: viele identische kurze HTTP-GETs (LOIC-ähnlich) | ||
| − | # Test: ab -n 1000 -c 500 http:// | + | # Test: ab -n 1000 -c 500 http://www.it2XX.int/ |
| − | drop tcp any any -> any any (msg:"ET DOS Terse HTTP GET Likely LOIC"; flow:to_server,established; dsize:18; content:"GET / HTTP/1.1|0d 0a 0d 0a|"; depth:18; threshold:type both,track by_dst,count 500,seconds 60; classtype:own-dos; sid: | + | drop tcp any any -> any any (msg:"ET DOS Terse HTTP GET Likely LOIC"; flow:to_server,established; dsize:18; content:"GET / HTTP/1.1|0d 0a 0d 0a|"; depth:18; threshold:type both,track by_dst,count 500,seconds 60; classtype:own-dos; sid:9000054; rev:2;) |
# Scan: TCP SYN-Sweep (viele SYN in kurzer Zeit) | # Scan: TCP SYN-Sweep (viele SYN in kurzer Zeit) | ||
| − | # Test: nmap -sS -p1-100 | + | # Test: nmap -sS -p1-100 10.88.2XX.21 |
| − | drop tcp | + | drop tcp any any -> any any (msg:"OWN SCAN TCP SYN sweep"; flow:stateless,to_server; flags:S; detection_filter:track by_src,count 20,seconds 5; classtype:attempted-recon; sid:9000060; rev:1;) |
# Scan: TCP NULL-Scan (keine Flags gesetzt) | # Scan: TCP NULL-Scan (keine Flags gesetzt) | ||
| − | # Test: nmap -sN -p1-100 | + | # Test: nmap -sN -p1-100 10.88.2XX.21 |
| − | drop tcp | + | drop tcp any any -> any any (msg:"OWN SCAN TCP NULL scan"; flow:stateless,to_server; flags:0; detection_filter:track by_src,count 5,seconds 10; classtype:attempted-recon; sid:9000061; rev:1;) |
| − | # Scan: | + | # Scan: UDP-Sweep mit leerer Payload |
| − | # Test: nmap - | + | # Test: nmap -sU --min-rate=1000 10.88.2XX.21 |
| − | drop | + | drop udp any any -> any any (msg:"OWN SCAN UDP sweep (empty probes)"; flow:to_server; dsize:0; detection_filter:track by_src,count 15,seconds 10; classtype:attempted-recon; sid:9000064; rev:1;) |
| − | # Scan: | + | # Scan: ICMP Ping-Sweep (viele Echo-Requests) |
| − | # Test: nmap - | + | # Test: nmap -sn 10.88.2XX.0/24 |
| − | drop | + | drop icmp any any -> any any (msg:"OWN SCAN ICMP ping sweep"; itype:8; detection_filter:track by_src,count 10,seconds 5; classtype:attempted-recon; sid:9000065; rev:1;) |
| − | # | + | # Brute Force SSH |
| − | # Test: | + | # Test: hydra -l kit -P bad-passwords ssh://10.88.2XX.21 |
| − | drop | + | drop tcp any any -> any 22 (msg:"OWN SSH Brute Force"; flow:to_server,stateless; flags:S; detection_filter:track by_src,count 10,seconds 60; classtype:attempted-recon; sid:9000066; rev:1;) |
| + | |||
| + | # HTTP: sqlmap User-Agent erkennen | ||
| + | # Test: sqlmap -u "http://www.it2XX.int/sql-classic.php" --data "username=test" | ||
| + | alert http any any -> any any (msg:"SQLmap Scanner detected"; http.user_agent; content:"sqlmap"; nocase; classtype:web-application-attack; sid:9000070; rev:1;) | ||
| − | # | + | # HTTP: curl User-Agent erkennen |
| − | # Test: | + | # Test: curl http://www.it2XX.int/host.php |
| − | + | alert http any any -> any any (msg:"curl User-Agent detected"; http.user_agent; content:"curl"; nocase; classtype:policy-violation; sid:9000071; rev:1;) | |
| − | # | + | # ICMP Tunnel - großes Payload |
| − | + | # Test: ping -c 5 -s 500 10.88.2XX.21 | |
| + | alert icmp any any -> any any (msg:"OWN ICMP Large Payload - possible tunnel"; itype:8; dsize:>200; classtype:misc-attack; sid:9000072; rev:1;) | ||
| − | # | + | # TCP SYN Flood |
| − | alert tcp any any -> | + | # Test: hping3 -S --flood -V -p 80 10.88.2XX.21 |
| + | alert tcp any any -> any any (msg:"TCP SYN Flood Potential Detected"; flags:S; threshold: type both, track by_dst, count 150, seconds 10; classtype:misc-attack; sid:9000073; rev:1;) | ||
| − | # | + | # SSH Connection Attempt |
| − | alert tcp any any -> | + | # Test: ssh root@10.88.2XX.21 |
| + | alert tcp any any -> any 22 (msg:"SSH Connection Attempt"; content:"SSH"; nocase; classtype:misc-activity; sid:9000074; rev:1;) | ||
</pre> | </pre> | ||
Aktuelle Version vom 30. April 2026, 10:45 Uhr
# ICMP: einfacher Ping/Traceroute (schneller Funktionstest) # Test: ping -c 1 1.1.1.1 alert icmp any any -> any any (msg:"ICMP Test"; classtype:misc-activity; sid:9000041;) # HTTP: mögliches Command-Injection-Merkmal (Semikolon) in POST-Body # Test: curl -X POST http://www.it2XX.int/host.php --data-urlencode "fqdn=example.com;ls" -d "submit=Auflösen" alert http any any -> any any (msg:"Command Injection - Semicolon in POST DATA"; classtype:web-application-attack; flow:established; content:"%3B"; nocase; http_client_body; sid:9000002;) # HTTP: mögliches SQLi-Merkmal (einfaches Hochkomma) in POST-Body # Test: curl -X POST http://www.it2XX.int/sql-classic.php --data-urlencode "username=' OR '1'='1' --" alert http any any -> any any (msg:"Possible SQL Injection (singlequote in POST)"; classtype:web-application-attack; flow:established,to_server; content:"%27"; nocase; http_client_body; sid:9000003;) # DNS: Policy - verbietet "google" in DNS-Queries # Test: host google.de drop dns any any -> any any (msg:"Kein Googlen"; dns.query; content:"google"; nocase; classtype:policy-violation; sid:9000043;) # DoS: viele identische kurze HTTP-GETs (LOIC-ähnlich) # Test: ab -n 1000 -c 500 http://www.it2XX.int/ drop tcp any any -> any any (msg:"ET DOS Terse HTTP GET Likely LOIC"; flow:to_server,established; dsize:18; content:"GET / HTTP/1.1|0d 0a 0d 0a|"; depth:18; threshold:type both,track by_dst,count 500,seconds 60; classtype:own-dos; sid:9000054; rev:2;) # Scan: TCP SYN-Sweep (viele SYN in kurzer Zeit) # Test: nmap -sS -p1-100 10.88.2XX.21 drop tcp any any -> any any (msg:"OWN SCAN TCP SYN sweep"; flow:stateless,to_server; flags:S; detection_filter:track by_src,count 20,seconds 5; classtype:attempted-recon; sid:9000060; rev:1;) # Scan: TCP NULL-Scan (keine Flags gesetzt) # Test: nmap -sN -p1-100 10.88.2XX.21 drop tcp any any -> any any (msg:"OWN SCAN TCP NULL scan"; flow:stateless,to_server; flags:0; detection_filter:track by_src,count 5,seconds 10; classtype:attempted-recon; sid:9000061; rev:1;) # Scan: UDP-Sweep mit leerer Payload # Test: nmap -sU --min-rate=1000 10.88.2XX.21 drop udp any any -> any any (msg:"OWN SCAN UDP sweep (empty probes)"; flow:to_server; dsize:0; detection_filter:track by_src,count 15,seconds 10; classtype:attempted-recon; sid:9000064; rev:1;) # Scan: ICMP Ping-Sweep (viele Echo-Requests) # Test: nmap -sn 10.88.2XX.0/24 drop icmp any any -> any any (msg:"OWN SCAN ICMP ping sweep"; itype:8; detection_filter:track by_src,count 10,seconds 5; classtype:attempted-recon; sid:9000065; rev:1;) # Brute Force SSH # Test: hydra -l kit -P bad-passwords ssh://10.88.2XX.21 drop tcp any any -> any 22 (msg:"OWN SSH Brute Force"; flow:to_server,stateless; flags:S; detection_filter:track by_src,count 10,seconds 60; classtype:attempted-recon; sid:9000066; rev:1;) # HTTP: sqlmap User-Agent erkennen # Test: sqlmap -u "http://www.it2XX.int/sql-classic.php" --data "username=test" alert http any any -> any any (msg:"SQLmap Scanner detected"; http.user_agent; content:"sqlmap"; nocase; classtype:web-application-attack; sid:9000070; rev:1;) # HTTP: curl User-Agent erkennen # Test: curl http://www.it2XX.int/host.php alert http any any -> any any (msg:"curl User-Agent detected"; http.user_agent; content:"curl"; nocase; classtype:policy-violation; sid:9000071; rev:1;) # ICMP Tunnel - großes Payload # Test: ping -c 5 -s 500 10.88.2XX.21 alert icmp any any -> any any (msg:"OWN ICMP Large Payload - possible tunnel"; itype:8; dsize:>200; classtype:misc-attack; sid:9000072; rev:1;) # TCP SYN Flood # Test: hping3 -S --flood -V -p 80 10.88.2XX.21 alert tcp any any -> any any (msg:"TCP SYN Flood Potential Detected"; flags:S; threshold: type both, track by_dst, count 150, seconds 10; classtype:misc-attack; sid:9000073; rev:1;) # SSH Connection Attempt # Test: ssh root@10.88.2XX.21 alert tcp any any -> any 22 (msg:"SSH Connection Attempt"; content:"SSH"; nocase; classtype:misc-activity; sid:9000074; rev:1;)