Escáneres Open Source

¿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):

- Nikto v2.1.6 
Target IP: 
Target Hostname: 
Target Port: 
• Start Time: 
+ Sewer: Apache/2.2.8 (Ubuntu) DAV/2 
Retrieved x-powered-by header: PHP/5.2.4-2ubuntu5.Ie 
The anti—clickjacking X-Frame-Options header is not present. 
• The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against scme forms Of XSS 
• The header is not set. This could allow the user agent to render the content of the site in a different fashion to the type 
+ Apache/2.2.8 appears to be outdated (current is at least Apache/2.4.37). Apache 2.2.3' is the EOL for the 2. x branch. 
header ' tcn• found, with contents: list 
Apache md_negotiation is enabled with MuttiViews, Which allows attackers to easily brute force file names. See http://—.Wisec.it/sectou.php?id•4698ebdc59d15. The following alternatives for 
• Web Server returns a valid response With junk HTTP methods, this nay cause false positives. 
• OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST 
+ /phpinfo.php: Output from the phpinfo() function was found. 
OSVDB-3268: /doc/: Directory indexing found. 
OSVDB-48: /doc/: The 'doc/ directory is bro•sable. This may be /usr/doc. 
• OSvDB-12184: />PHPB8B5F2Ae-3C92-11d3-A3A9-4C7Be8C1øøøe: PHP reveals potentially sensitive information via 
certain HTTP requests that contain specific QUERY strings. 
• OSVDB-1218': />PHPE9568F36-D428-11d2-A769-øeAAøø1ACF'2: PHP reveals potentially sensitive information via 
certain HTTP requests that contain specific QUERY strings. 
OSVDB-121B': PHP reveals potentially sensitive information via 
certain HTTP requests that contain specific QUERY strings. 
+ OSVDB-12184: PHP reveals potentially sensitive information via 
certain HTTP requests that contain specific QUERY strings. 
OSVDB-3092: /phpMyAdmin/changeIog. php: ph*yAdmin is for managing MySQL databases, and should be protected 
or limited to authorized hosts. 
• Server may leak inodes via ETags, header found With file /phpNyAdmin/ChangeLog, inode: 92462, size: 0540 
, mtime: Tue Dec 9 2øø8 
• OSVDB-3092: /phpMyAdmin/ChangeLog: phpNyAdmin is for managing nySQL databases, and should be protected or limited to authorized hosts. 
+ OSVDB-326B: /test/: Directory indexing found. 
+ OSVDB-3092: 'test/ : This might be interesting 
OSVDB-3233: /phpinfo.php: PHP is installed, and a test script runs phpinfo() was found. This gives a lot Of system information. 
• OSVDB-3268: 'icons/ : Directory indexing found. 
• OSVDB-3233: /icons/REAt*E: Apache default file found. 
/phpMyAdmin/: ph*yAdmin directory found 
+ OSVDB-3092: /phpMyAdr•in/Documentation.htmt: is for managing MySQL databases, and should be protected or limited to authorized hosts. 
OSVDB-3092: phpMyAdmin is for nanaging MySQL databases, and should be protected or tinited to authorized hosts. 
• 8726 requests: ø error(s) and 27 item(s) reported on remote host 
2e2ø-1e-25 18:13:27 (æT-5) (37 seconds) 
• End 
+ I host(s) tested 
nikto 
-h 192.168.1.21 
192.168.1.21 
192.168.1.21 
2e2ø-1e-25 (æT-5) 
were found: index.php 
• index •

Skipfish

Creado por Michal Zalewski (@lcamtuf)

W3af

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

Consola de w3af

GUI w3af

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

http://w3af.org/

https://github.com/inc775/wapiti-3.0.0

https://github.com/m4ll0k/WAScan

http://w3af.org/download

Criterios https://www.gb-advisors.com/es/escaner-de-vulnerabilidades-web-criterios/

Complementar con nuevas referencias

Nikto

https://github.com/sullo/nikto/wiki

https://cirt.net/

https://sectools.org/tag/web-scanners/