El escaneo web es una de las técnicas principales en las pruebas de penetración modernas. Sirve para encontrar huecos y vulnerabilidades y aquí vamos a ver dos herramientas de escaneo habituales: Nikto y Zap.

Nikto

Empezamos repasando varias de las opciones para escanear con Nikto, usando su menú de ayuda.

¿Qué opción nos sirve para establecer el host o máquina objetivo?

-h

Los sitios web no siempre redirigen adecuadamente a su puerto seguro y pueden tener problemas, dependiendo de la manera en la que son escaneados. ¿Cómo deshabilitamos el transporte seguro?

-nossl

¿Y lo contrario? ¿Cómo forzamos un transporte seguro?

-ssl

¿Y si queremos especificar un puerto específico a escanear?

-p

La web evoluciona constantemente y Nikto también. La base de datos de vulnerabilidades es uno de los componentes clave de Nikto, ¿cómo verificamos que esta base de datos funciona y está libre de error?

-dbcheck

Si se le dice (con la opción mutate), Nikto tratará de adivinar y probar archivos, directorios y nombres de usuario. ¿Qué opción y valor numérico hemos de poner para que Nikto enumere nombres de usuario en Apache?

Ten en cuenta que esta opción está desfasada en favor de plugins, sin embargo, todavía es una gran opción que tener en cuenta para uso situacional.

-mutate 3

Supongamos que sé el nombre de usuario y contraseña de un foro web. ¿Cómo configuro Nikto para hacer un chequeo con credenciales? El nombre de usuario es admin y la contraseña es PrettyAwesomePassword1234.

-id admin:PrettyAwesomePassword1234

Vamos a escanear la máquina objetivo de la habitación. ¿Qué servidor web descubrimos y qué versión tiene?

nikto -h IP_Objetivo

Apache/2.4.7

Esta máquina es vulnerable a un control de directorios muy pobre, debido a su versión web, ¿qué directorio es indexado y no debería serlo?

(Aparece en el escaneo básico).

config

Los escaneos de Nikto pueden tardar bastante, ¿qué opción le ponemos para establecer un límite de tiempo? (Nos sale con nikto -H que saca la ayuda extendida)

-until

¿Cómo sacamos una lista de todos los plugins disponibles?

-list-plugins

Los plugins son otro componente clave de Nikto. ¿Qué opción usamos para decirle a Nikto que use chequeos de plugins para encontrar software desfasado en el objetivo?

Ten en cuenta que, cuando probemos este comando, necesitamos especificar el objetivo contra el que lo corremos.

Primero hacemos nikto -list-plugins para verlos y examinamos los que hay, encontrando el que buscamos.

-Plugins outdated

¿Y si queremos usar plugins para realizar una serie de pruebas estándar contra el objetivo?

-Plugins test

Zap

Veamos ahora un breve test y tutorial sobre el escaner OWASP Zap.

Empecemos lanzando Zap. Esto se puede hacer de muchas maneras (owasp-zap, zaproxy) o a través del interfaz gráfico en Kali.

Lanzamos Zap, ¿qué opción debemos usar para especificar lo que estamos atacando? (Lanzamos ZAP con interfaz gráfico y ahí aparece, en el lugar en el que debemos poner la IP).

URL to attack

Lanzamos Zap contra el objetivo, veremos que es similar a Nikto, como Nessus es similar a OpenVAS.

Nikto y Zap ofrecen perspectivas diferentes de un objetivo y, por eso, es útil saber cómo usar ambas herramientas de escaneo a fin de maximizar la visibilidad en una situación en la hacer ruido no importa mucho.

Zap descubrirá un archivo que, normalmente, contiene páginas que los buscadores que se portan bien leerán a fin de saber qué secciones del sitio evitar. ¿Cuál es el nombre del archivo?

robots.txt

Hay una entrada en la parte disallow de este archivo, ¿cuál es?

/

Zap encontrará un directorio que contiene imágenes para nuestra aplicación. ¿Cuál es la ruta para ese directorio? (Esta es la que sigue al nombre/ip del sitio).

/dvwa/images/

Esta web no fuerza una conexión segura por defecto y a Zap no le gusta esto. ¿Con qué cookie relacionada está molesto Zap?

httponly

Mostrado en varias habitaciones de Tryhackme, el Cross-Site Scripting es un ataque viciosa que se está volviendo más común en la web abierta. ¿Qué alerta produce Zap para hacernos saber que este sitio es vulnerable a XSS? Ojo, hay varios avisos de esto, buscamos uno más relacionado directamente con el cliente web.

Web Browser XSS Protection Not Enabled

El proxy Zap representa al componente responsable de hacer crawling al sitio. ¿Qué sitio está fuera del alcance?

http://www.dvwa.co.uk

Zap usará principalmente dos métodos a fin de escanear un sitio web. ¿Cuál de esos dos métodos HTTP hace una petición de contenido?

GET

¿Qué opción trata de enviar contenido al sitio web?

POST