117 lines
3.8 KiB
Markdown
117 lines
3.8 KiB
Markdown
# que coman tierra
|
|
|
|
taller de seguridad ofensiva y defensiva sobre LOLBins y ransomware sin malware.
|
|
|
|
el nombre viene de la sensación que te da descubrir que un atacante cifró tus servidores enteros sin instalar absolutamente nada.
|
|
|
|
---
|
|
|
|
## de qué va esto
|
|
|
|
los atacantes modernos no necesitan droppers ni ejecutables sospechosos. usan las herramientas que ya vienen en cualquier linux: `openssl`, `find`, `xargs`, `shred`, `cron`. eso se llama "living off the land" y es exactamente por qué el antivirus no sirve de nada contra esto.
|
|
|
|
en este taller construimos un ransomware funcional con solo binarios del sistema, lo ejecutamos en lab, medimos qué tan rápido destruye archivos y después aprendemos a detectarlo y frenarlo.
|
|
|
|
---
|
|
|
|
## estructura
|
|
|
|
```
|
|
QueComanTierra/
|
|
ransomware/
|
|
loader.sh -- script principal, orquesta todo el ataque
|
|
xargs_ransom.sh -- versión paralela con xargs -P (cifrado rápido)
|
|
noxargs_ransom.sh -- versión secuencial para comparar tiempos
|
|
tarbulk.sh -- variante que cifra todo como un solo blob (< 10s)
|
|
scripts/
|
|
getkeys.sh -- generación y manejo de claves efímeras
|
|
stealdata.sh -- exfiltración de la clave al C2
|
|
detection/
|
|
falco_rules.yaml -- reglas falco para detectar el comportamiento en runtime
|
|
slides/
|
|
slides.md -- fuente de la presentación (pandoc/reveal.js)
|
|
slides.pptx -- presentación compilada
|
|
estructura.md -- notas de estructura del taller
|
|
notas.md -- notas del instructor
|
|
press/
|
|
Tierra.jpg -- imagen de portada
|
|
Tierra.pdf -- material de prensa/flyer
|
|
```
|
|
|
|
---
|
|
|
|
## módulos del taller
|
|
|
|
1. **el problema invisible** -- qué son los LOLBins y por qué los AV no los paran
|
|
2. **el arsenal del sistema** -- `openssl`, `find`, `xargs`, `shred`, `cron` como armas
|
|
3. **anatomía de un ataque** -- las 7 fases: reconocimiento, clave, cifrado, destrucción, exfiltración, rescate, persistencia
|
|
4. **lab: preparando el plato** -- ejercicios hands-on en VM aislada
|
|
5. **defensa: cómo no comer tierra** -- auditd, falco, backups inmutables, mínimo privilegio, runbook de respuesta
|
|
6. **cierre** -- recursos y tarea
|
|
|
|
---
|
|
|
|
## el lab en números
|
|
|
|
en un servidor real con `xargs -P 36`:
|
|
|
|
| variante | archivos | tiempo | ventana de detección |
|
|
|---|---|---|---|
|
|
| `while` loop | 3.301 | 13m 40s | tienes tiempo de actuar |
|
|
| `xargs -P 36` | 3.301 | 1m 49s | necesitas detección automática |
|
|
| `tar + openssl` | 3.470 | 4.5s | cuando llegas ya terminó |
|
|
|
|
el punto del ejercicio es que el `tarbulk` no se puede parar en runtime, solo antes.
|
|
|
|
---
|
|
|
|
## requisitos para el lab
|
|
|
|
- VM ubuntu/debian aislada (sin red real, en serio)
|
|
- snapshot limpio para restaurar entre ejercicios
|
|
- usuario no-root con home poblado de archivos de prueba
|
|
- herramientas: `openssl`, `find`, `xargs`, `shred`, `auditd`, opcionalmente `falco`
|
|
|
|
**nunca ejecutar los scripts fuera de la VM de lab.**
|
|
|
|
---
|
|
|
|
## compilar las slides
|
|
|
|
```bash
|
|
# pptx con plantilla corporativa
|
|
pandoc slides/slides.md -t pptx \
|
|
--reference-doc="redteam_ref.pptx" \
|
|
-o slides/slides.pptx
|
|
|
|
# reveal.js para presentar en browser
|
|
pandoc slides/slides.md -t revealjs -s \
|
|
--highlight-style=monokai \
|
|
-o slides/slides.html
|
|
```
|
|
|
|
o usar el script incluido:
|
|
|
|
```bash
|
|
cd slides && ./compile.sh
|
|
```
|
|
|
|
---
|
|
|
|
## referencias
|
|
|
|
- gtfobins -- catálogo de LOLBins en linux
|
|
- lolbas -- equivalente para windows
|
|
- mitre att&ck t1486 -- data encrypted for impact
|
|
- github.com/neo23x0/auditd -- reglas auditd listas para usar
|
|
|
|
---
|
|
|
|
## contexto legal
|
|
|
|
este material es exclusivamente para uso educativo en entornos controlados. los scripts están documentados para que se entienda cómo funcionan los ataques y cómo detectarlos, no para uso ofensivo real. ejecutar esto fuera de un lab autorizado es ilegal.
|
|
|
|
---
|
|
|
|
*2026*
|