Vulnerabilidades y Explotación de Sistemas
1. Tipos de Análisis de Vulnerabilidades
1.1 Introducción
- Base: Análisis de puertos y captura de banners (banner grabbing)
- Proceso: Comparación de servicios y versiones con bases de datos de vulnerabilidades
- Herramientas principales: OpenVAS, Nessus, Nikto, Skipfish, Wapiti
1.2 Consideraciones Clave
- Opciones de análisis: Selección cuidadosa en entornos sensibles
- Riesgo: Posibilidad de causar problemas en sistemas de producción
- Enfoque: Balance entre exhaustividad y seguridad
2. Tipos de Escaneos de Vulnerabilidades
2.1 Escaneos No Autenticados (Por defecto)
Características: - Sin uso de credenciales - Perspectiva de atacante remoto - Solo muestra servicios de red expuestos
Limitaciones: - No detecta servicios no expuestos a la red - Posibles falsos positivos más altos - No considera puertos accesibles mediante técnicas especiales (ej. reenvío SSH)
2.2 Escaneos Autenticados
Ventajas: - Imagen completa de la superficie de ataque - Menor tasa de falsos positivos - Acceso a información privilegiada
Requisitos: - Credenciales con acceso root/administrador - Mecanismos de autenticación (SSH, etc.)
Ejemplo práctico: Comando netstat
- Sin root: Información limitada, sin PID/Program name
- Con root: Información completa con procesos y PID
2.3 Escaneos de Descubrimiento
Propósito: Identificar superficie de ataque Proceso: 1. Escaneo de puertos (ej. con Nmap) 2. Extracción de resultados a base de datos 3. Profundización en descubrimiento 4. Identificación específica de servicios por puerto
2.4 Escaneos Completos
Definición: Habilitación de todas las opciones de análisis en la política
Organización típica por categorías: - Sistema operativo - Fabricante del dispositivo - Tipo de dispositivo - Protocolo - Cumplimiento normativo - Tipo de ataque - Miscelánea
Ejemplo Nessus (categorías de plugins): - AIX Local Security Checks (11,416) - Amazon Linux Local Security Checks (1,048) - Backdoors (114) - Windows (4,053) - Web Servers (1,092) - 50+ categorías adicionales
2.5 Escaneos Furtivos (Ocultos)
Contexto: Entornos de producción donde se requiere sigilo
Técnicas: - Escaneos SYN (discretos) - Deshabilitación de plugins/ataques ruidosos - Evitación de ataques DoS - Configuración específica del escáner
Escaneo Pasivo: - Monitoreo y análisis de tráfico de red - Determinación de topología y servicios - Identificación de vulnerabilidades basada en tráfico observado - Ejemplo: Detección de versiones antiguas de Internet Explorer/Apache
2.6 Análisis de Cumplimiento Normativo
Propósito: Verificación de conformidad con estándares y regulaciones
Ejemplos de sectores: - Atención médica (HIPAA) - Banca y finanzas - Sector público
Características: - Importación de archivos de política de cumplimiento - Interpretación humana requerida - Posibilidad de crear políticas personalizadas
3. Análisis de Resultados y Falsos Positivos
3.1 Desafío Principal
- Herramientas no infalibles: Generan falsos positivos
- Responsabilidad: Validación manual requerida
- Importancia: Informes de pentesting deben ser precisos
3.2 Proceso de Validación
Ejemplo: Vulnerabilidad de ejecución remota en Apache
Pasos de verificación: 1. Origen de la información: ¿Autenticado vs. remoto? 2. Verificación directa: Conexión al objetivo 3. Análisis CVE: Criterios específicos de explotabilidad 4. Consideración de backporting: Parches aplicados por distribuciones
Método definitivo: Explotación real de la vulnerabilidad
4. Bases de Datos de Vulnerabilidades
4.1 Common Vulnerabilities and Exposures (CVE)
Gestión: MITRE Corporation Propósito: Lista estandarizada de vulnerabilidades conocidas
Estructura CVE-ID: CVE-AÑO-NÚMERO
Contenido por entrada: - Identificador único - Descripción - Versiones de software afectadas - Soluciones posibles - Enlace a NVD (National Vulnerability Database)
CNA (Candidate Numbering Authority): Voluntarios/autoridades que asignan CVE
4.2 Definición de Vulnerabilidad (CVE)
Estado del sistema que permite: - Ejecutar comandos como otro usuario - Acceder a datos evitando controles de acceso - Suplantar identidades - Realizar ataques DoS/DDoS
5. Common Vulnerability Scoring System (CVSS)
5.1 Propósito y Gestión
Framework: Abierto y estandarizado Mantenimiento: FIRST (Forum of Incident Response and Security Teams) Objetivo: Comunicación común sobre características e impacto de vulnerabilidades
5.2 Componentes de Evaluación
1. Puntuación numérica (0-10): - 0.0-3.9: Baja - 4.0-6.9: Media - 7.0-8.9: Alta - 9.0-10.0: Crítica
2. Vector (cadena de texto): Describe características clave
5.3 Ejemplo: CVE-2021-44228 (Log4Shell)
Puntuación Base: 10.0
Vector CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Desglose: - AV:N (Attack Vector: Network): Explotable por red remota - AC:L (Attack Complexity: Low): Fácil de explotar - PR:N (Privileges Required: None): Sin credenciales necesarias - UI:N (User Interaction: None): Sin interacción del usuario - S:C (Scope: Changed): Afecta recursos fuera del componente - C:H/I:H/A:H: Impacto alto en confidencialidad, integridad, disponibilidad
5.4 Grupos de Métricas
CVSS 3.x: - Base: Características fundamentales (invariables) - Temporal: Características que cambian con el tiempo (disponibilidad de exploit) - Ambiental: Factores específicos del contexto organizacional
CVSS 4.0: - Base: Fundamentales - Threat (antes Temporal): Factores de amenaza - Environmental: Contexto organizacional - Supplemental: Nuevo grupo de métricas complementarias
Calculadoras disponibles: 3.x | 4.0
6. Fase de Explotación
6.1 Contexto y Propósito
- Inicio: Tras enumeración completa de servicios y vulnerabilidades
- Objetivo final: Obtener shell (acceso remoto), generalmente sin privilegios de administrador inicialmente
- Acuerdo: Inclusión definida en contrato de pentest
6.2 Enfoques de Explotación
1. Automatizado: Menos control, más ruido en red 2. Manual: Mayor control, requiere más conocimiento
Técnicas combinadas: - Interacciones manuales con servicios - Uso de exploits - Ingeniería social (autorizada)
Documentación: Todas las acciones deben documentarse, exitosas o no
6.3 Herramientas Básicas
1. Netcat: "Navaja suiza" del hacking 2. Exploits: Metasploit (framework principal) 3. Sniffers: Tcpdump, Tshark, Wireshark
6.4 Acciones de Explotación
- Obtener acceso al sistema o base de datos
- Modificar/eliminar/añadir información
- Causar daños en el sistema
- Cifrar información
Implementación: Programas o scripts
7. Exploits y Payloads
7.1 Definiciones
Exploit: Código que aprovecha fallos de programación para obtener acceso
Payload: Parte del código del exploit que se ejecuta en el dispositivo víctima
7.2 Tipos de Vulnerabilidades
Conocida: Parche disponible Zero-day: Sin parche disponible (más peligrosa)
7.3 Proceso de Explotación
- Identificación de vulnerabilidad
- Recuperación de información y OSINT
- Consulta de bases de datos (CVE, Exploit-DB)
- Herramientas de búsqueda (OpenVAS, Nessus)
- Desarrollo/descarga de exploit
- Lanzamiento (local o remoto)
- Generación y entrega de payload
- Obtención de acceso
7.4 Parámetros Comunes
- IP origen y destino
- Puerto
- Payload específico
- Configuraciones adicionales
8. Metasploit Framework
8.1 Características Generales
Desarrollo: Rapid7 Lenguaje: Ruby Versiones: - Framework (gratuita, Linux/Windows) - Pro (comercial, funcionalidades avanzadas)
Integraciones: Nmap, Nessus, otras herramientas Módulos: Desarrollables por usuarios
8.2 Arquitectura de Módulos
1. Auxiliary: Recopilación, escaneo, enumeración, DoS 2. Exploits: Configuración y ejecución de payloads 3. Payloads: Código ejecutado tras explotación 4. Encoders: Ocultación y evasión 5. Nops/Post: Extensiones de funcionalidad
8.3 Tipos de Payloads
Single (Inline): - Independientes, tarea concreta - Contienen todo necesario para ejecución - Capturables con herramientas externas (netcat) - Ejemplos: creación de usuarios, ejecución de procesos
Staged: - Dos componentes: stager y stage - Stager: Establece conexión atacante-víctima - Stage: Se descarga en víctima, funcionalidades complejas
8.4 Interfaces de Usuario
1. msfconsole: Consola principal (CLI)
2. Armitage: Interfaz gráfica (preinstalada en Kali)
3. WebUI: Versión Pro
4. Opciones CLI: -x para ejecución directa de comandos
8.5 Herramientas Auxiliares
Msfpayload: Generación de ejecutables con payloads Msfencode: Ofuscación para evadir detección (antivirus, IDS) Msfvenom: Unión de msfpayload y msfencode
9. Funcionamiento Básico de Metasploit
9.1 Preparación del Entorno
Servicios requeridos: - PostgreSQL (base de datos) - Base de datos propia de Metasploit
Comandos iniciales:
systemctl start postgresql # Inicia PostgreSQL
msfdb init # Inicializa BD (solo primera vez)
msfconsole # Inicia Metasploit
Verificación: db_status dentro de msfconsole
9.2 Comandos msfconsole Principales
help: Lista completa de comandosjobs: Trabajos creadossessions: Sesiones abiertas (sistemas comprometidos)back: Retrocesobanner: Información de Metasploitsearch: Búsqueda de módulosset/unset: Configuración de parámetrossetg/unsetg: Configuración globalsave: Guarda configuración
9.3 Gestión de Workspaces
Propósito: Organización por proyectos
Comandos:
- workspace: Lista espacios actuales
- workspace -a [nombre]: Añade nuevo espacio
- workspace -v: Lista con información detallada
9.4 Gestión de Módulos
Búsquedas:
search [término] # Búsqueda general
search type:[tipo] # Por tipo (exploit, auxiliary, etc.)
search name:[nombre] # Por nombre específico
search cve:[CVE] # Por CVE específico
Visualización:
- show exploits: Todos los exploits
- show auxiliary: Módulos auxiliares
- show payloads: Payloads disponibles
9.5 Carga y Configuración
Información del módulo: info [nombre/ruta]
Carga del módulo: use [nombre/ruta] o use [índice]
Configuración:
- options: Muestra opciones configurables
- set [variable] [valor]: Asigna valor
- unset [variable]: Borra valor
- Variables comunes: RHOSTS, RPORT, THREADS
Ejecución: run o exploit
10. Ejemplo de Explotación Completa
10.1 Escenario: Metasploitable2
Pasos demostrativos:
-
Escaneo de puertos:
use auxiliary/scanner/portscan/tcp set RHOSTS 10.0.1.6 set PORTS 1-65535 # Opcional: rango completo exploit -
Búsqueda de vulnerabilidades:
db_nmap -sV --script vuln 10.0.1.6 -
Explotación específica (vsftpd backdoor):
search vsftpd use exploit/unix/ftp/vsftpd_234_backdoor set RHOSTS 10.0.1.6 exploit
10.2 Gestión de Resultados
Consultas de base de datos:
- hosts: Información de hosts descubiertos
- services: Servicios encontrados
- vulns: Vulnerabilidades detectadas
11. Integración con Herramientas de Análisis
11.1 Nessus
Historia: Originalmente open source (1998), ahora privativo Versiones: Personal (gratuita, no comercial) y Professional (pago)
Componentes: - nessusd: Daemon que realiza escaneos - nessus: Cliente (consola o gráfico)
Características: - Escaneo programado (cron) - Exportación de informes múltiples formatos - Integración con Metasploit Framework
11.2 Instalación y Configuración Nessus
Pasos:
1. Descarga de paquete .deb desde Tenable
2. Registro para código de activación gratuito
3. Instalación: dpkg -i Nessus-*.deb
4. Inicio: systemctl start nessusd
5. Acceso web: https://localhost:8834
6. Configuración inicial (descarga de plugins - varias horas)
12. Meterpreter
12.1 Características
- Payload avanzado para ejecución remota
- Difícil de detectar
- Funcionalidades extensas según sistema operativo
Capacidades: - Acceso a webcam - Captura de pulsaciones de teclado - Capturas de pantalla - Más completo en Windows
13. Obtención de Credenciales y Persistencia
13.1 Importancia
- Acceso temporal puede perderse con actualizaciones/parches
- Necesidad de mantener acceso para movimientos laterales
13.2 Métodos de Persistencia
1. Obtención de credenciales: - Vulnerable a cambios de contraseña - Requiere buen diccionario personalizado
2. Creación de nuevos usuarios: - Detectable por administradores - Puede activar alertas
3. Instalación de software (RAT): - Detectable por antivirus/sistemas defensivos
Estrategia óptima: Combinación de métodos según contexto
Laboratorio 4: Actividades Prácticas
Tareas Principales:
- Configuración de Metasploit: Inicialización de base de datos y workspace
- Escaneos con módulos auxiliares: Portscan, vulnerabilidades específicas
- Integración Nmap-Metasploit: Uso de
db_nmapy consulta de resultados - Explotación práctica: Vsftpd backdoor en Metasploitable2
- Instalación y uso de Nessus: Configuración completa
- Análisis de Metasploitable3: Búsqueda y validación de vulnerabilidades
Consideraciones Finales:
- Validación: Siempre verificar resultados automáticos
- Documentación: Registrar todas las acciones, exitosas o no
- Ética: Respetar límites contractuales y legales
- Seguridad: Considerar impacto en sistemas de producción
Nota: La explotación debe realizarse únicamente en entornos autorizados y controlados, preferiblemente en laboratorios aislados como los descritos en las prácticas.