← Regresar a lecciones

    blue-team

  • análisis forense

  • ingeniería inversa

  • logs de windows

  • pensamiento analítico

Ingeniería inversa en el crimen - habilidades que definen al analista defensivo

Fundamentos del Análisis Forense Digital

En el mundo de la ciberseguridad, cuando los sistemas son comprometidos, comienza una carrera contra el tiempo. Como analista forense digital, tu misión es reconstruir los eventos de un incidente de seguridad utilizando únicamente las "huellas digitales" que dejaron los atacantes. Esta disciplina combina metodología científica, conocimiento técnico profundo y pensamiento deductivo para revelar la verdad oculta en los datos.

El análisis forense digital no solo busca responder qué pasó, sino también cómo pasó, cuándo ocurrió, quién lo hizo y por qué. Cada archivo, cada registro de eventos, cada timestamp es una pieza del rompecabezas que debemos ensamblar para contar la historia completa del incidente.

Fundamentos del Análisis Forense Digital

La Cadena de Custodia Digital

Antes de sumergirte en el análisis, es crucial entender que trabajas con evidencia digital. Esto significa:

  • Integridad: Los archivos deben mantenerse íntegros y sin modificaciones
  • Autenticidad: Debe poder verificarse que la evidencia proviene del sistema comprometido
  • Trazabilidad: Cada acción realizada sobre la evidencia debe documentarse

Metodología Forense

El análisis forense sigue una metodología estructurada:

  1. Preservación: Mantener la evidencia intacta
  2. Identificación: Catalogar todos los artefactos disponibles
  3. Extracción: Obtener datos relevantes de los artefactos
  4. Análisis: Interpretar los datos extraídos
  5. Presentación: Documentar hallazgos y conclusiones

Artefactos Forenses Clave en Sistemas Windows

Registros de Eventos de Windows (Event Logs)

Los Event Logs son la "caja negra" de los sistemas Windows. Contienen registros detallados de actividades del sistema:

Security Event Log

  • Event ID 4624: Inicio de sesión exitoso
  • Event ID 4625: Intento de inicio de sesión fallido
  • Event ID 4648: Inicio de sesión con credenciales explícitas
  • Event ID 4672: Privilegios especiales asignados al nuevo inicio de sesión

System Event Log

  • Event ID 7045: Instalación de nuevo servicio
  • Event ID 1074: Reinicio/apagado del sistema iniciado por usuario

Application Event Log

  • Errores y advertencias de aplicaciones
  • Instalación/desinstalación de software

Archivos de Sistema Críticos

Prefetch Files

  • Ubicación: C:\Windows\Prefetch\
  • Contienen información sobre programas ejecutados
  • Útiles para determinar qué aplicaciones se ejecutaron y cuándo

Registry (Registro de Windows)

  • Contiene configuraciones del sistema y aplicaciones
  • Claves importantes:
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • HKLM\SYSTEM\CurrentControlSet\Services

Archivos de Red

  • C:\Windows\System32\drivers\etc\hosts
  • Archivos de configuración de red

Análisis de Timestamps

Los timestamps son cruciales para establecer la línea temporal:

  • Created: Cuándo se creó el archivo
  • Modified: Última modificación del contenido
  • Accessed: Último acceso al archivo
  • Changed: Última modificación de metadatos

Herramientas Esenciales para Análisis Forense

Herramientas de Línea de Comandos Linux

file

Identifica el tipo de archivo:

1file archivo_sospechoso 2file *

strings

Extrae cadenas de texto legibles:

1strings archivo_binario | grep -i password 2strings -n 8 archivo_binario # Cadenas de mínimo 8 caracteres

xxd / hexdump

Visualización hexadecimal:

1xxd archivo_binario | head -20 2hexdump -C archivo_binario | less

grep

Búsqueda de patrones:

1grep -r "patrón_sospechoso" . 2grep -i "error\|warning\|fail" logs.txt 3grep -E "192\.168\.[0-9]{1,3}\.[0-9]{1,3}" archivo.log

sort y uniq

Análisis de frecuencias:

1cat access.log | cut -d' ' -f1 | sort | uniq -c | sort -nr

Análisis de Logs de Eventos

Parsing de Event Logs

1# Convertir EVTX a formato legible 2python evtx_dump.py Security.evtx > security_events.xml 3 4# Buscar eventos de inicio de sesión 5grep -A 10 -B 5 "EventID.*4624" security_events.xml

Análisis Temporal

1# Extraer timestamps y ordenarlos 2grep -o "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}" logs.txt | sort | uniq -c

Análisis de Imports/Exports

1objdump -p archivo.exe | grep -E "(DLL|import|export)"

Análisis de Archivos Protegidos por Contraseña

Estrategias para Encontrar Contraseñas

  1. Análisis del contexto: Buscar pistas en logs y archivos relacionados
  2. Patrones comunes: Fechas, IPs, nombres de usuario
  3. Información correlacionada: Combinar datos de múltiples fuentes
1# Ejemplo de construcción de contraseñas basadas en datos del incidente 2# Formato común: [dato1]-[dato2] o [dato1][dato2] 3 4# Extraer fechas de logs 5grep -oE "[0-9]{4}-[0-9]{2}-[0-9]{2}" logs.txt 6 7# Extraer timestamps 8grep -oE "[0-9]{2}:[0-9]{2}:[0-9]{2}" logs.txt 9 10# Extraer direcciones IP 11grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" logs.txt 12 13# Combinar y formatear datos (ejemplo genérico) 14IP="192.168.1.100" 15TIME="14:30:25" 16IP_FORMATTED=$(echo $IP | tr -d '.') 17TIME_FORMATTED=$(echo $TIME | tr -d ':') 18POSSIBLE_PASSWORD="${IP_FORMATTED}-${TIME_FORMATTED}"

Metodología de Investigación

Fase 1: Reconocimiento Inicial

  1. Catalogar evidencia disponible

    1find . -type f -exec file {} \; > catalogo_archivos.txt
  2. Identificar tipos de archivos

    1find . -name "*.log" -o -name "*.evtx" -o -name "*.exe" -o -name "*.zip"

Fase 2: Análisis Temporal

  1. Crear línea temporal de eventos

    1find . -type f -exec stat --format="%Y %n" {} \; | sort -n > timeline.txt
  2. Correlacionar timestamps con actividad sospechosa

Fase 3: Análisis de Contenido

  1. Examinar logs de eventos
  2. Analizar archivos ejecutables
  3. Investigar archivos comprimidos/encriptados

Fase 4: Reconstrucción del Ataque

  1. Vector de acceso inicial
  2. Escalación de privilegios
  3. Persistencia
  4. Exfiltración de datos

Patrones de Compromiso Comunes en Sistemas Windows

Compromiso de Cuentas de Servicio

Indicadores típicos:

  • Usuarios de servicio (svc-*) con actividad interactiva
  • Conexiones desde ubicaciones geográficas inusuales
  • Actividad fuera del horario laboral habitual
1# Buscar cuentas de servicio 2grep -i "svc\|service" logs.txt 3 4# Identificar horarios atípicos (ejemplo: madrugada) 5grep -E "0[0-5]:[0-9]{2}:[0-9]{2}" logs.txt 6 7# Buscar conexiones externas 8grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" logs.txt | grep -v "^192\.168\|^10\.\|^172\."

Instalación de Servicios Maliciosos

Patrones comunes:

  • Servicios con nombres que imitan servicios legítimos
  • Instalación fuera de horario de mantenimiento
  • Nombres genéricos como "Helper", "Service", "Manager"
1# Buscar instalación de servicios 2grep -i "service.*install\|sc create\|new service" logs.txt 3 4# Buscar nombres sospechosos de servicios 5grep -i "helper\|remote\|shell\|backdoor" logs.txt

Uso de PowerShell para Ataques

Técnicas frecuentes:

  • Descarga de archivos maliciosos
  • Ejecución de comandos codificados
  • Bypass de políticas de ejecución
1# Detectar uso de PowerShell 2grep -i "powershell\|pwsh" logs.txt 3 4# Buscar descargas web 5grep -i "download\|wget\|curl\|invoke-webrequest" logs.txt 6 7# Comandos codificados (Base64) 8grep -i "encodedcommand\|-enc\|-e" logs.txt

Ejecución de Malware en Ubicaciones Inusuales

Ubicaciones sospechosas:

  • Directorios de backup (\Backups\)
  • Carpetas temporales (\Temp\, \tmp\)
  • Directorios de scripts (\Scripts\)
  • Carpetas de usuario no estándar
1# Buscar ejecución en ubicaciones atípicas 2grep -i "backup\|temp\|script\|public" logs.txt | grep -i "\.exe" 3 4# Buscar archivos ejecutables en general 5grep -E "\.(exe|dll|bat|ps1|vbs|js)" logs.txt

Recuerda el análisis forense digital es tanto ciencia como arte. Requiere paciencia, metodología rigurosa y creatividad para conectar las piezas del rompecabezas. Cada caso es único, y los atacantes constantemente evolucionan sus técnicas. En el mundo real, las consecuencias de tus conclusiones forenses pueden tener impacto legal, financiero y reputacional significativo. La precisión, imparcialidad y rigor son fundamentales.

"Los datos no mienten, pero los analistas pueden malinterpretarlos. La verdad está en los detalles, y los detalles están en la metodología."