Analisis de vulnerabilidades

Análisis de Vulnerabilidades

  • Esta fase consiste en la identificación de fallos de seguridad que se encuentran presentes en los sistemas que se están evaluando.

  • El tipo de fallos abarca desde errores en la configuración de un servicio hasta vulnerabilidades en determinados servicios que sean públicas y puedan comprometer la integridad del mismo.

¿Qué es CVE, CPE, CVSS y CVE Details?

En el ámbito de la ciberseguridad, la identificación, clasificación y evaluación de vulnerabilidades son esenciales. CVE, CPE, CVSS y CVE Details son herramientas y estándares que permiten gestionar y analizar estas vulnerabilidades de manera eficiente. A continuación, te explico cada uno de estos conceptos y su utilidad.


CVE (Common Vulnerabilities and Exposures)

CVE es un estándar que identifica y clasifica vulnerabilidades conocidas en software y hardware. Cada vulnerabilidad recibe un identificador único denominado CVE ID, que tiene el siguiente formato:

CVE-AAAA-NNNN
  • AAAA: Año en el que se identificó la vulnerabilidad.
  • NNNN: Número secuencial asignado a la vulnerabilidad.

Ejemplo:

CVE-2023-12345

Este CVE representa una vulnerabilidad registrada en el año 2023.

¿Para qué sirve?

  • Facilita la comunicación y referencia sobre vulnerabilidades entre profesionales de ciberseguridad, desarrolladores y equipos de IT.
  • Es administrado por MITRE Corporation y respaldado por organismos como NIST (National Institute of Standards and Technology).

CPE (Common Platform Enumeration)

CPE es un estándar utilizado para identificar plataformas de software, hardware y sistemas operativos de manera uniforme. Es, en esencia, un “lenguaje común” que permite relacionar vulnerabilidades (CVE) con productos específicos.

Formato de un CPE:

cpe:/a:vendor:product:version
  • a: Indica que es una aplicación.
  • vendor: El fabricante o proveedor.
  • product: Nombre del producto.
  • version: La versión del producto.

Ejemplo:

cpe:/a:microsoft:office:2016

Este CPE identifica Microsoft Office 2016 como la plataforma afectada.

¿Para qué sirve?

  • Asociar vulnerabilidades a productos específicos.
  • Ayuda a administradores y equipos de seguridad a identificar productos afectados en su infraestructura.

CVSS (Common Vulnerability Scoring System)

CVSS es un sistema estándar para medir la gravedad de una vulnerabilidad. Proporciona una puntuación numérica (de 0 a 10) que evalúa el impacto y la facilidad de explotación de una vulnerabilidad.

Componentes de CVSS:

  1. Base Metrics:
    • Evalúa las características intrínsecas de la vulnerabilidad.
    • Ejemplo: ¿Requiere autenticación? ¿Puede ser explotada remotamente?
  2. Temporal Metrics:
    • Evalúa factores temporales, como la existencia de un parche o la facilidad de explotación.
  3. Environmental Metrics:
    • Considera el impacto específico en el entorno de la organización.

Puntuaciones CVSS:

  • 0.0: Ningún impacto.
  • 0.1 a 3.9: Baja severidad.
  • 4.0 a 6.9: Severidad media.
  • 7.0 a 8.9: Alta severidad.
  • 9.0 a 10.0: Crítica.

Ejemplo:

Una vulnerabilidad puede tener una puntuación CVSS de 9.8, lo que indica que es crítica y debe ser priorizada.


CVE Details

CVE Details es un sitio web que proporciona una base de datos fácil de usar para buscar, analizar y entender vulnerabilidades registradas en el sistema CVE. Puedes acceder a él en https://www.cvedetails.com.

Características principales:

  1. Búsqueda de vulnerabilidades:
    • Permite buscar vulnerabilidades por CVE ID, producto, proveedor o fecha.
  2. Detalles de las vulnerabilidades:
    • Muestra información como:
      • Descripción de la vulnerabilidad.
      • Versiones afectadas.
      • Puntuación CVSS.
      • Soluciones o mitigaciones disponibles.
  3. Análisis por proveedor o producto:
    • Agrupa vulnerabilidades por fabricantes y productos para identificar tendencias.
    • Ejemplo: Listar todas las vulnerabilidades relacionadas con un producto como “Apache HTTP Server”.

¿Cómo usar CVE Details?

  1. Buscar vulnerabilidades por producto:
    • Por ejemplo, buscar “Microsoft Windows” para listar todas las vulnerabilidades relacionadas.
  2. Evaluar la gravedad de una vulnerabilidad:
    • Utiliza la puntuación CVSS y el historial del CVE para priorizar parches.
  3. Identificar productos vulnerables:
    • Filtra por versión o año para entender el alcance de las vulnerabilidades.

Relación entre CVE, CPE, CVSS y CVE Details

  1. CVE proporciona el identificador único de la vulnerabilidad.
  2. CPE asocia la vulnerabilidad a plataformas específicas.
  3. CVSS mide la gravedad de la vulnerabilidad.
  4. CVE Details actúa como una herramienta para buscar, analizar y entender toda esta información en un solo lugar.

Analisis de Vulnerabilidadas con nmap


Comando analizado:

sudo nmap -v -sS -oX vulnerabilidades.xml --stylesheet="https://svn.nmap.org/nmap/docs/nmap.xsl" --script=vuln <IP/objetivo>

1. Opciones utilizadas

sudo

  • Necesario para escaneos avanzados: Algunas opciones, como el escaneo SYN (-sS), requieren privilegios elevados para enviar paquetes especiales directamente a través del stack TCP/IP.

-v

  • Modo verboso: Muestra información detallada durante la ejecución del comando, como el progreso y los resultados en tiempo real.

-sS

  • Escaneo SYN: Este es un escaneo “semiabierto” que envía paquetes SYN para determinar el estado de los puertos sin establecer una conexión completa. Es rápido y menos detectable en comparación con otros tipos de escaneo.

-oX vulnerabilidades.xml

  • Salida en formato XML: Exporta los resultados del escaneo en formato XML al archivo vulnerabilidades.xml. Este formato es útil para integraciones con otras herramientas de análisis o para generar reportes automatizados.

--stylesheet="https://svn.nmap.org/nmap/docs/nmap.xsl"

  • Estilo para reportes XML: Este archivo XSL define cómo se presentará el archivo XML al abrirlo en un navegador, generando un reporte visual amigable.

--script=vuln

  • Uso del script vuln: Ejecuta un conjunto de scripts de Nmap Scripting Engine (NSE) diseñados para detectar vulnerabilidades conocidas en servicios y configuraciones. Estos scripts verifican problemas como:
    • Software desactualizado.
    • Configuraciones inseguras.
    • Vulnerabilidades específicas con CVEs conocidas.

<IP/objetivo>

  • Dirección IP o rango de red: El objetivo sobre el cual se realiza el escaneo. Puede ser una dirección única (por ejemplo, 192.168.1.1) o un rango (por ejemplo, 192.168.1.0/24).

2. ¿Qué hace este comando?

Este comando realiza:

  1. Un escaneo SYN (-sS):

    • Detecta puertos abiertos en el sistema objetivo de forma rápida y discreta.
    • Determina qué servicios están en ejecución en esos puertos.
  2. Análisis de vulnerabilidades (—script=vuln):

    • Evalúa cada puerto abierto utilizando scripts predefinidos de la categoría vuln en Nmap.
    • Algunos scripts buscan CVEs específicos, mientras que otros evalúan configuraciones inseguras.
  3. Generación de un reporte XML:

    • Los resultados del análisis se guardan en el archivo vulnerabilidades.xml.
    • Con el archivo XSL proporcionado en --stylesheet, puedes visualizar el reporte como una página web organizada.

3. Resultados esperados

Durante la ejecución (-v):

  • Nmap mostrará en tiempo real:
    • Los puertos que va encontrando abiertos.
    • Qué scripts de vulnerabilidades están ejecutándose.
    • Resultados parciales de las pruebas.

Salida en pantalla:

Después de completar el análisis, verás un resumen de los puertos abiertos y las vulnerabilidades detectadas. Por ejemplo:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
| http-vuln-cve2017-5638:
|   Description: Apache Struts CVE-2017-5638 Remote Code Execution
|   References:
|     https://nvd.nist.gov/vuln/detail/CVE-2017-5638
|     https://www.exploit-db.com/exploits/41570/

Salida XML:

  • El archivo vulnerabilidades.xml contendrá todos los detalles en un formato estructurado. Si lo abres en un navegador con soporte para XSL, como Chrome o Firefox, mostrará un reporte visual.

4. Ejemplo práctico

Escaneo de una dirección IP específica:

sudo nmap -v -sS -oX vulnerabilidades.xml --stylesheet="https://svn.nmap.org/nmap/docs/nmap.xsl" --script=vuln 192.168.1.10
  • Objetivo: Analizar el host 192.168.1.10 buscando puertos abiertos y vulnerabilidades en los servicios asociados.

Escaneo de un rango completo de red:

sudo nmap -v -sS -oX red_vulnerable.xml --stylesheet="https://svn.nmap.org/nmap/docs/nmap.xsl" --script=vuln 192.168.1.0/24
  • Objetivo: Escanear todos los hosts de la red 192.168.1.0/24 (un rango completo de direcciones IP) para identificar hosts activos, puertos abiertos y servicios vulnerables.

5. Aplicaciones y beneficios

  1. Identificación de vulnerabilidades específicas:

    • Los scripts vuln pueden detectar servicios con versiones obsoletas y vulnerabilidades conocidas, como Apache Struts, Heartbleed (OpenSSL), o configuraciones inseguras de SMB.
  2. Automatización del análisis:

    • Exportar los resultados en XML facilita integraciones con herramientas como Splunk, Elasticsearch, o scripts personalizados para análisis adicional.
  3. Evaluaciones iniciales en auditorías de seguridad:

    • Ideal para detectar rápidamente problemas básicos antes de realizar pruebas más exhaustivas.

6. Consideraciones importantes

  • Evita generar ruido en redes grandes: El uso de --script=vuln puede generar tráfico notable en la red. Asegúrate de tener permiso explícito para realizar este tipo de análisis.
  • Actualiza Nmap regularmente: Los scripts NSE se actualizan constantemente para incluir nuevas vulnerabilidades. Ejecuta:
    sudo nmap --script-updatedb
    
  • Complementa con herramientas adicionales: Nmap es ideal para análisis iniciales, pero puedes combinarlo con herramientas específicas como Nessus o OpenVAS para obtener reportes más detallados.

Nessus: Introduccion e instalacion

¿Qué es Nessus?

Nessus es una herramienta profesional de análisis de vulnerabilidades desarrollada por Tenable, ampliamente utilizada en el ámbito de la ciberseguridad para detectar configuraciones inseguras, vulnerabilidades en software y servicios, y otros riesgos potenciales en sistemas y redes. Es conocida por su facilidad de uso, capacidad de generación de reportes detallados y cobertura de vulnerabilidades más amplia que otras herramientas como Nmap.


Planes de Nessus

Nessus ofrece tres planes principales según las necesidades del usuario:

  1. Nessus Essentials:

    • Gratuito.
    • Diseñado para estudiantes, profesionales en aprendizaje y pequeños entornos.
    • Permite escanear hasta 16 IPs.
    • Ideal para configuraciones personales o entornos de prueba.
    • Puedes descargarlo y registrarte desde este enlace oficial.
  2. Nessus Professional:

    • De pago.
    • Diseñado para equipos de ciberseguridad en empresas.
    • Ofrece capacidades avanzadas como escaneo ilimitado de IPs y reportes más detallados.
  3. Nessus Expert:

    • De pago (plan más avanzado).
    • Incluye capacidades adicionales como el escaneo de activos en la nube y contenedores.
    • Ideal para empresas con necesidades de seguridad más complejas.

¿Cómo usar Nessus Essentials?

  1. Descargar Nessus Essentials:

    • Ve al enlace de descarga.
    • Selecciona tu sistema operativo (Windows, Linux, macOS, etc.).
  2. Registrarse para una clave de activación:

    • Durante la instalación, se te pedirá registrar una cuenta en la página de Tenable para obtener una clave gratuita.
    • Ingresa tus datos y recibirás el código de activación por correo electrónico.
  3. Instalar y configurar Nessus:

    • Sigue las instrucciones del instalador.
    • Una vez instalado, abre tu navegador e ingresa la dirección proporcionada por el programa (normalmente https://localhost:8834).
    • Activa Nessus Essentials ingresando la clave que recibiste.
  4. Escanear un objetivo:

    • Configura un nuevo escaneo desde la interfaz.
    • Proporciona la IP, rango de red o dominio que deseas analizar.
    • Selecciona las políticas o plantillas prediseñadas para diferentes tipos de escaneos (como análisis de vulnerabilidades, configuraciones de servidores web, etc.).

¿Para qué sirve Nessus?

Nessus es una herramienta enfocada en:

  1. Análisis de vulnerabilidades:
    • Detecta vulnerabilidades en software, configuraciones y servicios.
    • Proporciona enlaces a CVEs conocidos y soluciones para mitigar riesgos.
  2. Detección de configuraciones inseguras:
    • Identifica configuraciones incorrectas en servidores, redes y dispositivos.
  3. Auditorías de cumplimiento:
    • Genera reportes sobre el cumplimiento de estándares de seguridad como PCI DSS, HIPAA, CIS, entre otros.

Ventajas de Nessus sobre Nmap

Aunque Nmap es una herramienta poderosa, Nessus ofrece funcionalidades más avanzadas y especializadas en análisis de vulnerabilidades:

CaracterísticaNmapNessus
Facilidad de usoRequiere conocimiento técnico (línea de comandos).Interfaz gráfica intuitiva para configuraciones y reportes.
Base de datos de vulnerabilidadesLimitada (depende de scripts NSE).Amplia y constantemente actualizada con CVEs recientes.
ReportesExportación básica (XML, texto).Reportes detallados con gráficos, CVEs y soluciones.
CoberturaDetecta vulnerabilidades limitadas en comparación.Analiza configuraciones, software, servicios y redes.
VelocidadEscaneos rápidos y ligeros.Escaneos más profundos pero más lentos.

Escaneo básico con Nmap:

nmap -sS -oX vulnerabilidades.xml --script=vuln <IP>
  • Ventajas:
    • Rápido y directo.
    • Gratuito y sin limitaciones.
  • Desventajas:
    • Detecta menos vulnerabilidades específicas.
    • Sin reportes visuales ni recomendaciones claras.

Escaneo básico con Nessus:

  • Configuras un análisis de vulnerabilidades desde la interfaz.
  • Obtienes un reporte con:
    • Detalle de vulnerabilidades (CVE).
    • Impacto y puntuaciones CVSS.
    • Soluciones para mitigar riesgos.

¿Cuándo usar Nessus sobre Nmap?

  1. Nessus:

    • Cuando necesitas un análisis completo y detallado de vulnerabilidades.
    • Ideal para generar reportes de cumplimiento o justificar soluciones ante equipos de seguridad.
    • Útil en auditorías de seguridad.
  2. Nmap:

    • Para escaneos rápidos y ligeros.
    • Ideal para descubrimiento de servicios o análisis inicial de red.
    • Herramienta complementaria en auditorías avanzadas.

Cómo instalar y configurar Nessus Essentials en Linux

Una vez que descargues Nessus Essentials desde el sitio oficial, deberás seguir algunos pasos para instalarlo, configurarlo y comenzar a usarlo. Aquí tienes las instrucciones detalladas:


1. Instalar Nessus Essentials

  1. Descargar el archivo .deb:

  2. Instalar el paquete .deb: Una vez descargado, instala Nessus utilizando el siguiente comando:

    sudo apt install ./Nessus.deb
    

    Esto instalará todos los archivos necesarios en el sistema.


2. Iniciar el servicio Nessus

Para que Nessus funcione, necesitas iniciar su servicio asociado llamado nessusd:

  1. Inicia el servicio con el siguiente comando:

    sudo /bin/systemctl start nessusd.service
    
  2. (Opcional) Verifica que el servicio está activo:

    sudo /bin/systemctl status nessusd.service
    

    Salida esperada:

    ● nessusd.service - The Nessus Vulnerability Scanner
        Loaded: loaded (/etc/systemd/system/nessusd.service; enabled; vendor preset: enabled)
        Active: active (running) ...

3. Acceder a la interfaz web de Nessus

  1. Abre tu navegador web y dirígete a:

    https://localhost:8834
    • Nota: Es posible que recibas una advertencia de certificado no seguro. Esto es normal; simplemente selecciona “Avanzado” y continúa al sitio.
  2. Registrar Nessus Essentials:

    • Selecciona la opción Nessus Essentials.
    • Ingresa tu correo electrónico para registrarte.
    • Recibirás un código de activación en tu correo.
  3. Ingresar la clave de activación:

    • Una vez registrado, Nessus te pedirá la clave de activación.
    • Ingresa la clave que recibiste por correo electrónico para completar la activación.

4. Completar la instalación

  1. Después de ingresar la clave, Nessus descargará e instalará automáticamente los complementos necesarios. Este proceso puede tardar unos minutos.
  2. Una vez completado, podrás iniciar sesión en la interfaz de Nessus.

Resumen de comandos esenciales

AcciónComando
Instalar Nessussudo apt install ./Nessus.deb
Iniciar el servicio Nessussudo /bin/systemctl start nessusd.service
Verificar estado del serviciosudo /bin/systemctl status nessusd.service
Acceder a la interfaz webhttps://localhost:8834

¿Qué sigue después de la instalación?

  1. Configurar un escaneo:

    • Desde la interfaz de Nessus, crea un nuevo escaneo ingresando la dirección IP o rango que deseas analizar.
  2. Analizar los resultados:

    • Una vez finalizado el escaneo, Nessus te mostrará las vulnerabilidades detectadas, su criticidad (CVSS), y recomendaciones para solucionarlas.
  3. Exportar reportes:

    • Nessus te permite exportar los resultados en formatos como PDF o CSV para análisis posterior.

Herramientas de Análisis de Vulnerabilidades

NombrePropietarioLicenciaPlataformas
AcunetixAcunetixComercial/GratisWindows/Linux
AppScanIBMComercialWindows
NiktoCIRTCódigo abiertoUnix/Linux
ParosProMileSCANComercialWindows
WebApp360TripWireComercialWindows
QualysQualysComercialCloud