lunes, julio 01, 2019

Vxscan: Herramienta de auditoría de servidores de Internet escrita en Python

Como bien sabemos la red está llena de herramientas que hacen más fácil el día a día de un pentester para los proyectos de Ethical Hacking. Cada uno tiene sus preferencias y gustos, para ello hay que ir probando, así que en esta ocasión quiero hablaros de una nueva herramienta escrita en Python, cuyo nombre es Vxscan y que se trata de un escáner.

Figura 1: Vxscan: Herramienta de auditoría de servidores de Internet escrita en Python

La herramienta no proporciona interfaz gráfica, ni la necesita, nos basta con utilizar la línea de comandos para hacerla correr. El tiempo que tarda en hacer un escaneo es bastante pequeño, y busca cosas que son bastantes útiles en el hacking de aplicaciones web.

Figura 2: Libro de Hacking de Aplicaciones Web: SQL Injection
de Chema Alonso y Enrique Rando en 0xWord

Si a lo largo del artículos te surgen ideas o mejoras para Vxscan, te ánimo a colaborar y hacer llegar esas sugerencias a su creador. El primer paso es conocer alguna de las tareas que va a llevar a cabo esta herramienta:
  • Detección de archivos confidenciales
  • Identificación de WAF/CDN
  • Escaneo de puertos
  • Fingerprinting de servicios y sistemas operativos
  • Detección de contraseñas débiles
  • Búsqueda de vulnerabilidades de SQL Injection.
  • ...

Conseguir Vxscan

Es muy sencillo tener Vxscan, basta con visitar GitHub y descargarnos la herramienta, para ello basta con hacer un clone. Acto seguido instalamos las librerías de Python que se necesitan como se puede ver en la imagen siguiente.

Figura 3: Descargando Vxscan e instalando dependencias

Por último, para tener listo Vxscan, nos indica que necesitamos descargar dos ficheros. Los enlaces son los siguientes:
Tenemos que descomprimir los archivos y pasar los archivos .mmdb a la carpeta db que trae Vxscan. Y ya podemos pasar a trastear con el escáner, como siempre, para saber su uso, buscar la ayuda como se puede ver en la imagen siguiente.

Figura 4: Ayuda de Vxscan

Podemos ver los parámetros que admite la herramienta y sus descripciones. Ninguna rara, todo es claro y sencillo. También puedes agregar contraseñas por defecto, una cookie o claves de API (tipo Shodan o Virus Total) en el archivo settings.py.

Figura 5: Vxscan settings

Cómo realizar un escáner con Vxscan

El escáner se puede llevar a cabo de distintas formas:
1. Escanear un sitio web: python3 Vxscan.py -u [url] 
2. Escanear sitios webs a partir de un fichero: python3 Vxscan.py -f [file] 
3. Enrutamiento entre dominios sin clases (CIDR siglas en inglés): Python3 Vxscan.py -i 127.0.0.0/24 
4. Hacer uso de un diccionario: python3 Vxscan.py -u [url] -w [dictionary]
Vamos a ver algunos ejemplos, para el caso primero escaneando una web vulnerable, alojada en un sistema con muchos puertos abiertos (Metasploitable 2).

Figura 6: Escáner de una web con Vxscan

Aunque le he agregado la opción –-cookie no la pilla, si miramos el código, parece que este argumento no lo utiliza para nada, supongo que está ahí para futuras versiones. El ejemplo que nos muestran ellos, sacan más información, en la imagen siguiente se puede apreciar su ejecución, pero a día de hoy en settings tienen capada la entrada de diccionarios con la variable SKIP a True. Si queremos que busquen URLs, necesitamos poner esa variable a False.

Figura 7: Escáner de una web con Vxscan

Vemos que la dirección está en Chino. Bueno, se puede pasar por alto, se puede usar el traductor y vemos que se trata de Alemania. Puedes comprobar cómo el sistema operativo no lo ha reconocido, esto se debe a que por detrás está usando nmap, y lo he lanzado sin privilegios. En la carpeta report, se pueden ver los reportes, en formato HTML (ver figura siguiente) o en JSON.

Figura 8: Reporte en html de Vxscan

La opción -i arroja una excepción no controlada que habría que revisar. Por último, dejo un vídeo con una demostración de lanzar un escáner a dos páginas a través de un fichero (cada web va en una línea).


Figura 9: Pentesting dos webs con VxScan

La PoC del vídeo cuenta con algunas modificaciones en el código. Pues esto es todo, esperando más actualizaciones de la herramienta para ver las mejoras, siempre es un placer probar los nuevos aportes a la comunidad.

¡Hasta pronto!

Autor: Josué Encinar García (@JosueEncinar), autor del blog BoomerNiX y Security Researcher en ElevenPaths y en el equipo de Ideas Locas de la unidad CDO de Telefónica

1 comentario:

Adriel Martinez dijo...

Hola he comprado el libro pero tengo un problema, no se como clonar el link en la terminal de cmd de windows, ya que en las imagenes la mostrais en la terminal de linux, que tengo que hacer para iniarlo en un windows?

Entrada destacada

MyPublicInbox: Perfiles destacados por categorías #MyPublicInbox @mypublicinbox1

Cuando se conceptualizó la plataforma de MyPublicInbox se pensó en un entorno que permitiera que los perfiles públicos recibieran comunica...

Entradas populares