¿Por que debo utilizar un escáner de vulnerabilidades?
Si eres propietario de un sitio web se recomienda revisar periódicamente las medidas de seguridad del sitio y sus plataformas. En orden de ideas se sugiere automatizar dicha tarea con un escáner de vulnerabilidades web.
Criterios para elegir un escáner de vulnerabilidades
En el mercado se ofrecen muchas alternativas para este tipo de herramientas, se aclara que no es del alcance del post realizar una prueba de concepto a herramientas comerciales. Sin embargo a continuación se enumeran algunas:
Volviendo a lo que nos compete para determinar la efectividad de un escáner de vulnerabilidades web se deben tener en cuenta algunos factores:
Tecnología
Se espera que la herramienta elegida tenga una visión «holística» del sitio y sus aplicativos. Conforme mejoran las tecnologías, progresa la creatividad para efectuar los ataques. Es pertinente a nuestro tiempo en materia de seguridad digital integrar herramientas con funciones basadas en inteligencia artificial, puntualmente en tecnología Machine Learning con el fin de facilitar la detección de anomalías, y simular rápidamente inyecciones de código malicioso para que el proceso sea automático en resumen un escáner de vulnerabilidades que cuente con estas capacidades seria muy oportuno.
Indice de falsos positivos
El consejo general es informarse acerca del porcentaje de falsos positivos, y en base a este realizar la selección. Es imposible afirmar que solo con esto se pueda ajustar este indice, hay muchas variables que determinan una mejor certeza para esta decisión.
Informar de problemas o vulnerabilidades que no son reales refleja una falta de madurez en los procesos de identificación de vulnerabilidades de forma automática, por ende siempre será necesario realizar pruebas de seguridad de forma manual ya que hay escenarios que no se pueden recrear de forma semejante o actualmente es casi imposible con herramientas automatizadas generar vectores de ataque efectivos que provienen de la creatividad y malicia obtenida de la experiencia de un pentester. Se piensa que realizar verificaciones manuales es una perdida de tiempo pero realmente es necesario replantear este aspecto ya que en esta instancia se identifican fallos antes de que salgan a producción.
Usabilidad
dsdsd
Métricas
dsdsd
Arachni
Es un framework multiplataforma creado por Tasos “Zapotek” Laskos que ofrece diversas características para el escaneo de aplicaciones web.
versátil como para abarcar una gran cantidad de casos de uso, desde una sencilla utilidad de escáner desde la línea de comandos hasta una cuadrícula global de escáneres de alto rendimiento y una biblioteca Ruby que permite realizar auditorías mediante scripts. Además, su sencilla API REST hace que la integración sea sencilla.
Este framework se entrena a sí mismo mediante la monitorización y el aprendizaje del comportamiento de la aplicación web durante el proceso de escaneo. Además puede realizar un análisis utilizando una serie de factores para evaluar correctamente la confiabilidad de los resultados e identificar o evitar falsos positivos.
Este escáner va a tener en cuenta la naturaleza dinámica de las aplicaciones web. Puede detectar los cambios causados mientras recorre los caminos de una aplicación web, pudiendo ajustarse en consecuencia. De esta forma, los vectores de ataque / entrada que de otra forma no serían detectables por personas no humanas, se pueden manejar sin problemas.
Además, debido a su entorno de navegador integrado, también se puede auditar e inspeccionar el código del lado del cliente, así como soportar aplicaciones web complicadas, que hacen un uso intensivo de tecnologías como JavaScript, HTML5, manipulación de DOM y AJAX.
Funcionalidades y características de Arachni
- Soporte de cookie-jar / cookie-string, de encabezado personalizado y SSL con algunas opciones.
- Agente de usuario spoofing.
- Soporte de Proxy para SOCKS4, SOCKS4A, SOCKS5, HTTP / 1.1 y HTTP / 1.0.
- Autenticación proxy.
- Autenticación del sitio (basada en SSL, basada en formularios, Cookie-Jar, Basic-Digest, NTLMv1, Kerberos y otros).
- Detección automática de cierre de sesión y reinicio de sesión durante el escaneo.
- Detección personalizada de 404 páginas.
- Interfaz de línea de comandos.
- Interfaz de usuario web.
- Pausa / reanudar la funcionalidad. Compatibilidad con hibernación: suspender y restaurar desde el disco.
- Solicitudes HTTP asíncronas de alto rendimiento.
- Con la capacidad de detectar automáticamente el estado del servidor y ajustar su concurrencia automáticamente.
- Compatibilidad con valores de entrada predeterminados personalizados, utilizando pares de patrones (que se compararán con los nombres de entrada) y valores que se utilizarán para completar las entradas correspondientes.
Nikto
Funcionalidades y características de Nikto
- Soporte completo para un proxy HTTP.
- Verifica por componentes desactualizados del servidor.
- Guarda los reportes en texto plano, XML, HTML, NBE o CSV.
- Motor para las plantillas fácilmente personalizable.
- Escanea múltiples puertos en un servidor, o múltiples servidores mediante un archivo de entrada (Incluyendo un resultado de nmap).
- Fácilmente actualizable mediante la línea de comandos.
- Identifica software instalado mediante las cabeceras, favicon, y archivos.
- Autenticación contra el host con Basic y NTLM.
- Adivina subdominios
- Afinamiento del escaneo para incluir o excluir clases completas de verificaciones de vulnerabilidades.
- Adivina credenciales para ámbitos de autorización (incluyendo muchos pared por defecto de ip/pw).
- Mejora en la reducción de falsos positivos mediante múltiples métodos cabeceras, contenido de página, y hashing de contenido, etc.
A continuación se ilustra un ejemplo sencillo de un escaneo utilizando la herramienta a una máquina vulnerable (Metasploitable 2):
Skipfish
Creado por Michal Zalewski (@lcamtuf)
W3af
W3af es un framework basado en GUI que ayuda a identificar vulnerabilidades en aplicaciones web, la herramienta cuenta con una serie de plugins útiles que pueden escanear un sitio web en busca de más de 200 tipos de vulnerabilidades, los complementos disponibles actualmente incluyen evasión de infraestructura, tiene un conjunto diferente de objetivos de escaneo, por ejemplo, el complemento de auditoría ofrece la opción de escanear un sitio web en busca de una serie de debilidades, como SQL injections, buffer overflow vulnerabilities, shell shell vulnerabilities, cross-site scripting, page extension vulnerabilities, vectores de phishing, incluso bsuqueda de vulnerabilidades tipo backdoor.
Para su instalación puede utilizar la siguiente guía.
http://docs.w3af.org/en/latest/install.html
Wapiti
dsdd
Zap
Esta herramienta es utilizada para simular ataques a sitios web y encontrar vulnerabilidades que pueden ser aprovechadas por atacantes externos, por ende es muy útil para para ejecutar testing de seguridad en aplicaciones web.
Es considerada como una de las herramientas mas potentes para este tipo de actividades asociadas a auditorias de seguridad. Las principales caracteristicas de OWASP son:
- Herramienta totalmente gratuita y de código abierto.
- Herramienta multi-plataforma, compatible incluso con Raspberry Pi.
- Fácil de instalar, dependiendo únicamente de java 1.7 o superior.
- Posibilidad de asignar un sistema de prioridades.
- Traducida a mas de 12 idiomas, entre ellos el español.
- Excelente manual de ayuda y comunidad en la red.
Además de las anteriores características proporciona las siguientes funcionalidades y análisis especificos:
- Posibilidad de comprobar todas las peticiones y respuestas entre cliente y servidor.
- Análisis automáticos.
- Análisis pasivos.
- Posibilidad de ejecutar varios ataques a la vez.
- Capacidad para utilizar certificados SSL dinámicos.
- Análisis de sistemas de autenticación.
- Posibilidad de actualizar la herramienta automáticamente.
- Dispone de una tienda de extensiones (plugins) con el fin de extender las funcionalidades de la herramienta.
- Fuzzer
WAScan
Diseñado para encontrar varias vulnerabilidades utilizando método caja negra, lo que significa que no estudiará el código fuente de las aplicaciones web, pero funcionará como un fuzzer, escaneando y registrando mensajes de error.
Ataques
- Bash Commands Injection
- Blind SQL Injection
- Buffer Overflow
- Carriage Return Line Feed
- SQL Injection in Headers
- XSS in Headers
- HTML Injection
- LDAP Injection
- Local File Inclusion
- OS Commanding
- PHP Code Injection
- SQL Injection
- Server Side Injection
- XPath Injection
- Cross Site Scripting
- XML External Entity
Egyscan The Best web vulnerability scanner
https://github.com/dragonked2/Egyscan
Referencias
https://ubunlog.com/arachni-escaner-aplicaciones-web/
https://tools.kali.org/web-applications/skipfish
https://github.com/inc775/wapiti-3.0.0
https://github.com/m4ll0k/WAScan
Criterios https://www.gb-advisors.com/es/escaner-de-vulnerabilidades-web-criterios/
Complementar con nuevas referencias
Nikto