Saltar a contenido

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

  1. Identificación de vulnerabilidad
  2. Recuperación de información y OSINT
  3. Consulta de bases de datos (CVE, Exploit-DB)
  4. Herramientas de búsqueda (OpenVAS, Nessus)
  5. Desarrollo/descarga de exploit
  6. Lanzamiento (local o remoto)
  7. Generación y entrega de payload
  8. 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 comandos
  • jobs: Trabajos creados
  • sessions: Sesiones abiertas (sistemas comprometidos)
  • back: Retroceso
  • banner: Información de Metasploit
  • search: Búsqueda de módulos
  • set/unset: Configuración de parámetros
  • setg/unsetg: Configuración global
  • save: 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:

  1. Escaneo de puertos:

    use auxiliary/scanner/portscan/tcp
    set RHOSTS 10.0.1.6
    set PORTS 1-65535  # Opcional: rango completo
    exploit
    

  2. Búsqueda de vulnerabilidades:

    db_nmap -sV --script vuln 10.0.1.6
    

  3. 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:

  1. Configuración de Metasploit: Inicialización de base de datos y workspace
  2. Escaneos con módulos auxiliares: Portscan, vulnerabilidades específicas
  3. Integración Nmap-Metasploit: Uso de db_nmap y consulta de resultados
  4. Explotación práctica: Vsftpd backdoor en Metasploitable2
  5. Instalación y uso de Nessus: Configuración completa
  6. 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.