Un interesante informe de Symantec revela, que 1 de cada 10 sitios web tenía uno o más códigos maliciosos.
Y, si estás usando WordPress, entonces en otro informe de SUCURI muestra, que el 49% de los sitios web escaneados estaban desactualizados.
Como propietario de una aplicación web, ¿cómo te aseguras de que tu sitio está protegido de las amenazas online? No filtra información sensible?
Si estás usando una solución de seguridad basada en la nube, entonces lo más probable es que el escaneo regular de vulnerabilidades sea parte del plan. Sin embargo, si no es así, entonces tienes que realizar un escaneo de rutina y tomar las medidas necesarias para mitigar los riesgos.
Hay dos tipos de escáner.
Comercial – le dan una opción para automatizar el escaneo para la seguridad continua, informes, alertas, instrucciones detalladas de mitigación, etc. Algunos de los nombres conocidos en la industria son:
- Acunetix
- Detectify
- Qualys
- Windows, Solaris, Linux, BSD, Unix
- Nginx, Apache, Tomcat, IIS, Jetty
- Java, Ruby, Python, ASP, PHP
- Django, Rails, CherryPy, CakePHP, ASP.NET MVC, Symfony
- Inyección de NoSQL/Blind/SQL/Código/LDAP/Comando/XPath
- Falsificación de peticiones entre sitios
- Path traversal
- Inclusiones de archivos locales/remotos
- División de respuestas
- Cross-site scripting
- Redirecciones DOM no validadas
- Divulgación de código fuente
- CSV
- HTML
- Consola
- Texto
- XML
- Correo electrónico
- Fuzzer
- Escáner pasivo automatizado &
- Soporta múltiples lenguajes de scripting
- Navegación forzada
- Analizador de código fuente JavaScript
- Cross-site scripting, SQL injection, Blind SQL injection
- Test de aplicaciones PHP usando PHP-SAT
De código abierto/gratuito – puedes descargar y realizar un escaneo de seguridad bajo demanda. No todos ellos podrán cubrir un amplio rango de vulnerabilidades como uno comercial.
Veamos el siguiente escáner de vulnerabilidades web de código abierto.
Arachni
Arachni, un escáner de seguridad de alto rendimiento construido sobre el framework Ruby para aplicaciones web modernas. Está disponible en un binario portable para Mac, Windows & Linux.
No sólo es un sitio web estático o CMS básico, sino que Arachni es capaz de realizar las siguientes huellas de plataforma. Realiza comprobaciones activas & pasivas, ambas.
Algunas de las vulnerabilidades detectadas son:
Tiene la opción de tomar un informe de auditoría en HTML, XML, Texto, JSON, YAML, etc.
Arachni le permite ampliar el análisis al siguiente nivel aprovechando los plugins. Echa un vistazo a las características completas de Arachni y descárgalo para experimentarlo.
XssPy
Un escáner de vulnerabilidades XSS (cross-site scripting) basado en python es utilizado por muchas organizaciones, incluyendo Microsoft, Stanford, Motorola, Informatica, etc.
XssPy por Faizan Ahmad es una herramienta inteligente. Hace una cosa muy bien. En lugar de sólo comprobar la página de inicio o la página dada, comprueba todo el enlace en los sitios web.
XssPy también comprueba el subdominio, por lo que no se deja nada fuera.
w3af
w3af, un proyecto de código abierto iniciado a finales de 2006, es impulsado por Python y está disponible en Linux y Windows OS. w3af es capaz de detectar más de 200 vulnerabilidades, incluyendo las 10 principales de OWASP.
w3af le permite inyectar cargas útiles en las cabeceras, URL, cookies, query-string, post-data, etc. para explotar la aplicación web para su auditoría. Soporta varios métodos de registro para la presentación de informes. Ej:
Ejemplo:
Está construido sobre una arquitectura de plugins, y puedes consultar todos los plugins disponibles aquí.
Nikto
Un proyecto de código abierto patrocinado por Netsparker tiene como objetivo encontrar la desconfiguración del servidor web, los plugins y las vulnerabilidades de la web. Nikto realiza una prueba exhaustiva contra más de 6500 elementos de riesgo.
Soporta proxy HTTP, SSL, con o autenticación NTLM, etc. y puede definir el tiempo máximo de ejecución por escaneo del objetivo.
Nikto también está disponible en Kali Linux.
Parece prometedor para la solución de intranet para encontrar riesgos de seguridad de los servidores web.
Wfuzz
Wfuzz (The Web Fuzzer) es una herramienta de evaluación de aplicaciones para pruebas de penetración. Puedes fuzzear los datos de la petición HTTP de cualquier campo para explotar la aplicación web y auditar las aplicaciones web.
Wfuzz requiere tener instalado Python en el ordenador donde quieras ejecutar el escaneo. Tiene una excelente documentación para que puedas empezar.
OWASP ZAP
ZAP (Zet Attack Proxy) es una de las famosas herramientas de pruebas de penetración que se actualiza activamente por cientos de voluntarios en todo el mundo.
Es una herramienta basada en Java multiplataforma que puede ejecutarse incluso en Raspberry Pi. ZIP se sitúa entre un navegador y una aplicación web para interceptar e inspeccionar los mensajes
Cabe destacar algunas de las siguientes funcionalidades de ZAP.
Recomiendo encarecidamente ver los vídeos tutoriales de OWASP ZAP para iniciarse.
Wapiti
Wapiti escanea las páginas web de un determinado objetivo y busca scripts y formularios para inyectar los datos y ver si eso es vulnerable. No es una comprobación de seguridad del código fuente, sino que realiza escaneos de caja negra.
Soporta el método GET y POST HTTP, proxies HTTP y HTTPS, varias autenticaciones, etc.
Vega
Vega está desarrollado por Subgraph, una herramienta soportada por múltiples plataformas y escrita en Java para encontrar XSS, SQLi, RFI, y muchas otras vulnerabilidades.
Vega tiene una bonita interfaz gráfica de usuario y es capaz de realizar un escaneo automatizado entrando en una aplicación con unas credenciales determinadas.
Si eres desarrollador, puedes aprovechar la API de vega para crear nuevos módulos de ataque.
SQLmap
Como puedes adivinar por el nombre, con la ayuda de sqlmap, puedes realizar pruebas de penetración en una base de datos para encontrar fallos.
Funciona con Python 2.6 o 2.7 en cualquier SO. Si lo que buscas es encontrar inyecciones SQL y explotar la base de datos, entonces sqlmap te será útil.
Grabber
Es una pequeña herramienta basada en Python y hace algunas cosas bastante bien. Algunas de las características de Grabber son:
Golismero
Un framework para gestionar y ejecutar algunas de las herramientas de seguridad más populares como Wfuzz, DNS recon, sqlmap, OpenVas, robot analyzer, etc.).
Golismero es inteligente; puede consolidar la retroalimentación de las pruebas de otras herramientas y fusionarlas para mostrar un único resultado.
OWASP Xenotix XSS
Xenotix XSS de OWASP es un marco avanzado para encontrar y explotar el cross-site scripting. Tiene incorporados tres fuzzers inteligentes para un escaneo rápido y resultados mejorados.
Tiene cientos de características, y puedes comprobarlas todas aquí.