Cuestiones que nos olvidamos

En este penultimo capítulo veremos algunos recursos pequeños pero sumamente útiles de Zap que nos han quedado pendientes pero que no son los lo suficientemente extensos como para dedicarles toda una sección.

Ctrl+i: Mediante la combinación de éstas teclas, Zap abre una ventana desde la cual podemos elegir una lista de urls para poder realizar un análisis. También podemos encontrar la opción si vamos a la pestaña ‘Tools’ y seleccionamos ‘Import a file containing URLs’.

Importar URLS

La ventana que se nos abre nos permite seleccionar el listado que tengamos armado.

Listado de URL's

Para éste ejemplo, armé un pequeño txt con tres urls que lo pueden copiar para sus prácticas.

Fichero txt

Al importar y darle aceptar, veremos que en la pestaña ‘Output’ del panel inferior comenzará realizar peticiones a los sitios de nuestra lista y mostrar las respuestas.

Salida - Output

Una vez finalizado el scanning, en la pestaña ‘Sites’ veremos los targuets analizados y en la parte inferior, si vamos a ‘Alerts’ tendremos las vulnerabilidades identificadas en cada una de las urls.

Listado de Sitios

Las Apis de Zap

Zap está desarrollado en Java, pero cuenta con apis para poder integrarlo a otros lenguajes de programación como Ruby, Python, PHP, entre otros. En el siguiente ejemplo veremos la forma de integrar Python a la herramienta.

Existen dos opciones para instalar la api de python en zap:

La primera es desde PyPI.

pip Install

para luego desde el directorio de python.

Instalación desde Python

La segunda opción (que es la recomendada), es bajando la api desde Sourceforge para luego seguir con los mismos pasos del procedimiento descrito arriba.

Una vez ejecutado el install, tenemos que inicializar el daemon de zap.

Inicio de demonio ZAP

Hasta aquí ya tenemos instalada la api y lista para utilizarla. Ejemplos de scripts que usan la api de python pueden encontrar aqui o aqui.

Port Discovery

  • He, pero eso lo hago con nmap.
  • Perfecto, pero también podés hacerlo con Zap papu!

Por si alguien aún no sabe qué es un port scanner, se trata de identificar los puertos abiertos de un servidor. Generalmente los puertos abiertos (si están bien configurados) tienen un servicio corriendo, como smtp en el 25, https en el 443, o pop3 en el 110 por ejemplo.

Con Zap, podemos ver los puertos y servicios asociados sin la necesidad de abrir un nmap o la tools que usen para éste propósito. El conocer los puertos y servicios de un servidor, nos pueden orientar para saber de qué sistema operativo (SO) se trata y validar en una análisis de vulnerabilidades o pentest si algunos críticos como ftp o ssh son bypasseables fácilmente o si cuentan con las medidas de seguridad correspondientes.

Para el siguiente ejemplo, llamemos nuevamente a listado de urls que vimos más arriba con ‘Ctrl+i’. Ahora, vamos a la pestaña ‘View’ y elegimos ‘Show all tabs’.

Visualizar todos los Tabs

Si miramos las pestañas del panel inferior, notaremos que hay muchas más de las que trae por defecto cuando se inicializa la herramienta.

Listado

Elegimos la pestaña ‘Port Scan’ y en ‘Host’ el target a utilizar para la identificación de puertos abiertos.

Listado de sitios

Luego, sólo click en ‘Play’ y a esperar.

Ejecución de Scanning

Al 37% ya encontró dos puestos abiertos con sus respectivos servicios asociados

Puertos Identificados

Generador de Cookies

El generador de token nos sirve para validar una cookie, probar si podemos loguearnos a un sitio con una cookie inventada o utilizar alguna cookie capturada para realizar la auditoria desde adentro.

Para éste ejemplo, seleccionaremos la primer alerta que nos dió Zap al importar el listado. Nos paramos sobre ‘Insecure Componnent’ y veremos la versión del IIS de Microsoft, pero debajo encontramos el ‘PHPSESSIONID’

PHPSESSIONID

Al hacer click secundario, abajo tenemos la opción de ‘Generate tokens’.

Generate Tokens

Aquí podremos setear la cantidad, el tipo y el nombre.

Configuración de Tokens

Vamos a ‘generar’ y visualizamos los resultados.

Resultados

Si vamos al icono de la carpetita, podemos incorporar las cookies que tengamos para realizar las pruebas.

Cookies Generadas