Compare commits
3 Commits
0b206aac31
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d3e0b2a58 | |||
| 27b7f5e540 | |||
| f7c82dc9a6 |
@@ -28,6 +28,8 @@ QueComanTierra/
|
||||
stealdata.sh -- exfiltración de la clave al C2
|
||||
detection/
|
||||
falco_rules.yaml -- reglas falco para detectar el comportamiento en runtime
|
||||
falco.yaml -- config para falco
|
||||
auditd_rules.rules -- reglas para auditd
|
||||
slides/
|
||||
slides.md -- fuente de la presentación (pandoc/reveal.js)
|
||||
slides.pptx -- presentación compilada
|
||||
|
||||
71
QueComanTierra/detection/auditd_rules.rules
Normal file
71
QueComanTierra/detection/auditd_rules.rules
Normal file
@@ -0,0 +1,71 @@
|
||||
## auditd rules: detección LOLBin ransomware (formato nuevo, sin -w legacy)
|
||||
## Cubre: noxargs_ransom, xargs_ransom, tarbulk
|
||||
## Instalar: cp auditd_rules.rules /etc/audit/rules.d/lolbin-ransom.rules && augenrules --load
|
||||
##
|
||||
## Correlación post-evento:
|
||||
## ausearch -k crypto_exec --start today | aureport -x --summary
|
||||
## ausearch -k mass_unlink --start today | wc -l # >500 en <10s = tarbulk
|
||||
## ausearch -k bash_tcp --start today -i
|
||||
## ==========================================================================
|
||||
|
||||
## --------------------------------------------------------------------------
|
||||
## COMUN A LOS TRES ESTILOS
|
||||
## --------------------------------------------------------------------------
|
||||
|
||||
## Reconocimiento: find / -type f -writable
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/find -k lolbin_recon
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/find -k lolbin_recon
|
||||
|
||||
## openssl: generación de clave (rand) y cifrado (enc). Ambos usos relevantes.
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/openssl -k crypto_exec
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/openssl -k crypto_exec
|
||||
|
||||
## Escritura en /tmp: .key, .vault.enc, .targets
|
||||
-a always,exit -F arch=b64 -S open,openat,creat -F dir=/tmp -F success=1 -k tmp_staging
|
||||
-a always,exit -F arch=b32 -S open,openat,creat -F dir=/tmp -F success=1 -k tmp_staging
|
||||
|
||||
## --------------------------------------------------------------------------
|
||||
## NOXARGS_RANSOM + XARGS_RANSOM
|
||||
## Señal: miles de EXECVE de openssl y shred en minutos
|
||||
## --------------------------------------------------------------------------
|
||||
|
||||
## shred -u por archivo. noxargs: secuencial. xargs: hasta 36 concurrentes.
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/shred -k shred_exec
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/shred -k shred_exec
|
||||
|
||||
## xargs con -P alto: el multiplicador de paralelismo
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/xargs -k xargs_exec
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/xargs -k xargs_exec
|
||||
|
||||
## Persistencia via crontab (re-cifra archivos nuevos cada 5 min)
|
||||
-a always,exit -F arch=b64 -S open,openat,creat,rename,unlink -F dir=/var/spool/cron -F success=1 -k crontab_mod
|
||||
-a always,exit -F arch=b32 -S open,openat,creat,rename,unlink -F dir=/var/spool/cron -F success=1 -k crontab_mod
|
||||
-a always,exit -F arch=b64 -S open,openat,creat,rename,unlink -F dir=/etc/cron.d -F success=1 -k crontab_mod
|
||||
-a always,exit -F arch=b32 -S open,openat,creat,rename,unlink -F dir=/etc/cron.d -F success=1 -k crontab_mod
|
||||
|
||||
## curl: exfiltración de clave en noxargs y xargs
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/curl -k key_exfil_curl
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/curl -k key_exfil_curl
|
||||
|
||||
## --------------------------------------------------------------------------
|
||||
## TARBULK
|
||||
## Señal: UN solo openssl, storm de unlink, connect() desde bash
|
||||
## --------------------------------------------------------------------------
|
||||
|
||||
## tar -czf - (stdout): staging para el pipe a openssl
|
||||
-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/tar -k tar_exec
|
||||
-a always,exit -F arch=b32 -S execve -F exe=/usr/bin/tar -k tar_exec
|
||||
|
||||
## unlink/unlinkat masivo: rm -f sobre 3470 archivos tras el cifrado.
|
||||
## Esta regla dispara una vez por archivo. El volumen es la alerta.
|
||||
-a always,exit -F arch=b64 -S unlink,unlinkat -F auid>=1000 -k mass_unlink
|
||||
-a always,exit -F arch=b32 -S unlink,unlinkat -F auid>=1000 -k mass_unlink
|
||||
-a always,exit -F arch=b64 -S unlink,unlinkat -F uid=0 -k mass_unlink
|
||||
-a always,exit -F arch=b32 -S unlink,unlinkat -F uid=0 -k mass_unlink
|
||||
|
||||
## connect() desde bash: exfiltración via /dev/tcp sin curl ni wget.
|
||||
## Alta fidelidad: bash no debería abrir sockets TCP directamente.
|
||||
-a always,exit -F arch=b64 -S connect -F exe=/usr/bin/bash -k bash_tcp
|
||||
-a always,exit -F arch=b32 -S connect -F exe=/usr/bin/bash -k bash_tcp
|
||||
-a always,exit -F arch=b64 -S connect -F exe=/bin/bash -k bash_tcp
|
||||
-a always,exit -F arch=b32 -S connect -F exe=/bin/bash -k bash_tcp
|
||||
Binary file not shown.
Reference in New Issue
Block a user