Identificación de sistemas y servicios vulnerables.
La identificación de sistemas y servicios vulnerables es un paso crítico en las pruebas de penetración y la evaluación de seguridad. Aquí se describen los pasos generales y algunas herramientas comunes utilizadas para llevar a cabo esta tarea:
Escaneo de Puertos: Utiliza herramientas como Nmap, Masscan o Unicornscan para identificar puertos abiertos en el sistema objetivo.
Identificación de Servicios: Examina los servicios en los puertos abiertos utilizando técnicas como el fingerprinting para determinar la versión y el tipo de servicio.
Búsqueda de Vulnerabilidades Conocidas: Utiliza bases de datos de vulnerabilidades, como el NIST National Vulnerability Database (NVD) o el Common Vulnerabilities and Exposures (CVE), para buscar vulnerabilidades conocidas asociadas a las versiones de servicios identificadas.
Escaneo Activo y Análisis de Configuración: Utiliza herramientas como Nessus o OpenVAS para realizar escaneos de vulnerabilidades y analizar configuraciones en busca de debilidades conocidas.
Explotación Selectiva: Si se cuenta con autorización explícita, se puede intentar la explotación controlada de vulnerabilidades para confirmar su existencia y evaluar el impacto potencial.
Análisis de Logs y Documentación: Examina registros de sistemas y servicios para identificar actividades anómalas, y documenta todas las vulnerabilidades identificadas.
Es fundamental que todas las actividades se realicen con el consentimiento del propietario del sistema y en conformidad con las leyes y regulaciones aplicables. Además, los resultados deben ser documentados de manera clara y comunicados al cliente de manera ética y profesional.
Evaluación de vulnerabilidad: qué es y cómo realizarla
Una evaluación de vulnerabilidad analiza y estima los riesgos de las debilidades en seguridad de los sistemas de una organización. Se conocen más de 180.000 vulnerabilidades de seguridad y cada año se descubren nuevas. Con tantas brechas potenciales en la infraestructura y tantas posibilidades de ataque en los sistemas, no es sorprendente que la ciberdelincuencia haya aumentado considerablemente en los últimos años. Sin embargo, cuando se realizan de forma regular y correcta, las evaluaciones de vulnerabilidad pueden actuar como medida preventiva contra estas crecientes amenazas a la seguridad. Hay que considerar que, incluso con defensas de seguridad de primera calidad, los sistemas de información y seguridad de una organización pueden ser atacados, pirateados o secuestrados por los ciberdelincuentes.
Qué es una evaluación de vulnerabilidad
Una evaluación de la vulnerabilidad es el proceso de revisión y estimación de todas las posibles debilidades de seguridad en la infraestructura de un sistema de información. Este tipo de evaluación se utiliza para identificar, priorizar y mitigar vulnerabilidades y para minimizar potenciales amenazas a la seguridad. Estas evaluaciones también descubren y analizan las vulnerabilidades dentro del entorno físico de la organización. Los objetivos de una evaluación de la vulnerabilidad pueden desglosarse en tres ideas principales:
Identificar todas las vulnerabilidades
Documentar las vulnerabilidades para su futura identificación y solución
Orientar a los desarrolladores que crean soluciones para esas amenazas
Las evaluaciones de vulnerabilidad deben realizarse regularmente, especialmente cuando se instalan nuevos equipos, se añaden puertos o se introducen servicios. Además, las evaluaciones de vulnerabilidad pueden prevenir ataques al sistema en dispositivos -nuevos y antiguos- debido a amenazas como:
Ataques de inyección, incluyendo ataques XSS y ataques SQL
Configuraciones débiles por defecto, como contraseñas de administración y nombres de usuario fáciles de adivinar
Ataques de malware y programas maliciosos
Herramientas y dispositivos de autenticación defectuosos
Datos sin cifrar
En el caso de las organizaciones de riesgo -como los bancos, los sistemas gubernamentales y aquellos que tienen acceso a información personal, como centros sanitarios-, las evaluaciones de vulnerabilidad pueden ayudar a identificar y reducir los puntos débiles antes de que sean explotados por los hackers.
Tipos de evaluaciones de vulnerabilidades
Los diferentes tipos de evaluaciones de vulnerabilidad utilizan herramientas individuales para identificar los puntos débiles del sistema y de la red. Los sistemas independientes pueden necesitar varios tipos de evaluaciones para identificar todas sus posibles vulnerabilidades.
Evaluación del host:
Una evaluación del host se centra en los servidores, estaciones de trabajo y otros elementos de la red críticos. Aunque los puertos y servicios pueden ser escaneados con evaluaciones de red, una evaluación de host es capaz de repasar el historial de parches y la configuración.
Evaluación de la red:
Una evaluación de la red se utiliza para identificar posibles vulnerabilidades de conjunto. Puede realizarse tanto para redes conectadas por cable como inalámbricas; estas evaluaciones ayudan a prevenir los ataques de seguridad dirigidos a esas redes privadas y públicas, así como a la información accesible de los equipos conectados.
Evaluación inalámbrica:
El objetivo de una evaluación inalámbrica es analizar la red Wi-Fi de una organización. Las redes inalámbricas inseguras, incluidas las que tienen puntos de acceso no aprobados, pueden provocar ataques a toda la infraestructura de una organización. Estas evaluaciones también verifican que la red de una organización está configurada de forma segura con HTTPS.
Evaluaciones de bases de datos:
Las evaluaciones de bases de datos analizan el conjunto de datos almacenados de una organización en busca de vulnerabilidades. Los ataques maliciosos, como las inyecciones SQL, suelen tener como objetivo bases de datos con configuraciones erróneas, bases de datos no registradas y aquellas que tienen test de desarrollo débiles (DevTest). Estas evaluaciones también ayudan a las organizaciones a identificar dónde hay que clasificar la información personal en una infraestructura.
Evaluación de aplicaciones:
Una evaluación de aplicaciones analiza las apps web, los sitios y el código fuente en busca de descargas de software incorrectas, configuraciones rotas y otras vulnerabilidades de seguridad. Suelen ser escaneos automatizados del código y la infraestructura del front-end.
Evaluación de vulnerabilidades frente a test de penetración
Las evaluaciones de vulnerabilidades y las pruebas de penetración no son lo mismo, pero como las evaluaciones de vulnerabilidad también pueden incluir un test de penetración, ambas pueden confundirse fácilmente. Estas evaluaciones duales se conocen a menudo como evaluación de vulnerabilidades/test de penetración o VAPT, pero no tienen por qué realizarse siempre juntas.
Las pruebas de penetración se utilizan específicamente para encontrar debilidades en el personal, en la organización y en sus procedimientos y es un proceso adicional que puede añadirse a toda la evaluación de la vulnerabilidad. También intentan crear un daño en una aplicación o red explotando posibles debilidades en un entorno controlado, a fin de demostrar que las vulnerabilidades existen realmente.
Las pruebas de penetración utilizan maniobras tanto automáticas como manuales para comprobar las vulnerabilidades. Esas debilidades luego son analizadas por los investigadores para poder crear protecciones y defensas específicas. Sin embargo, no son suficientes por sí solas y deben ir seguidas de una evaluación completa de la vulnerabilidad.
Realización de una evaluación de la vulnerabilidad: etapas para identificar las vulnerabilidades
Si se realiza una evaluación de la vulnerabilidad sin una prueba de penetración, hay cuatro etapas principales.
Identificación de activos y vulnerabilidades
La identificación es la primera etapa cuando se realiza una evaluación de vulnerabilidades: antes de comenzar a escanear en busqueda de fallas, debes identificar los activos escaneables, incluyendo herramientas populares, como dispositivos móviles, dispositivos del Internet de las Cosas y programas basados en la nube. A continuación, la infraestructura es escaneada por herramientas automatizadas o manualmente por analistas de seguridad. Se elabora un informe de evaluación de vulnerabilidad que describe los puntos débiles identificados.
Análisis
En la etapa de análisis de una evaluación de vulnerabilidad, el objetivo es encontrar el origen y la causa de cada debilidad. Para identificar la causa raíz, los componentes de la infraestructura que son responsables de cada vulnerabilidad deben ser verificados y analizados más a fondo. En la etapa de análisis también se comprueba si hay sistemas mal instalados o actualizados.
Los escáneres de vulnerabilidad -y sus bases de datos integradas de vulnerabilidades conocidas- pueden señalar posibles puntos débiles del sistema, dispositivos vulnerables y software de riesgo para ayudar a completar esta etapa. Dado que muchas vulnerabilidades se comunican públicamente, se pueden identificar rápidamente y analizar su causa original.
Evaluación de riesgo y priorización
Después de haber identificado y analizado las vulnerabilidades de la organización, es el momento de llevar a cabo una evaluación de riesgos y determinar la priorización. La primera etapa debería haber proporcionado informes de evaluación, que pueden utilizarse para determinar qué vulnerabilidades son más peligrosas para una organización. Durante una evaluación de riesgos, los analistas de seguridad asignan a cada vulnerabilidad una puntuación de gravedad; los números más altos indican puntos débiles que deben abordarse lo antes posible. Las vulnerabilidades se clasifican en función de una serie de factores, entre ellos:
Los sistemas afectados
La información puesta en riesgo
Facilidad de ataque o compromiso
Daño potencial a la infraestructura y a la organización