Está en la página 1de 15

MASTER UNIVERSITARIO EN

CIBERSEGURIDAD
Actividad 3: Test de penetración a la aplicación web Badstore
utilizando una herramienta de análisis dinámico.

Seguridad en Sistemas, Aplicaciones y el Big Data

Fabio Andrés Ruiz Bermúdez


Realización de pruebas con ZAP
Se instaló una maquina virtual con la herramienta Badstore que es una aplicación de
vulnerabilidades para hacer las pruebas de penetración con ZAP.

Se adiciona en el archivo host la aplicación www.badstore.net

Se ingresa a la aplicación web de Badstore


Se ingresa a What´s New para visualizar los productos.

Se instala la aplicación ZAP de OWASP y se ejecuta.

Para realizar el ataque se agrega en el campo URL la aplicación Badstore


http://www.badstore.net/cgi-bin/badstore.cgi
CRAWLING:

Se da clic en el botón Atacar comienza el ataque hacia la URL ingresada y nos muestra las
alertas encontradas que ZAP almacena.

Estas son las alertas generales que encontró ZAP.


Verificando nos muestra los niveles de riesgo que hay en el Crawling inicial

CRAWLING con un usuario especifico

Elegimos el contexto por defecto de la página web para configurar los parámetros.

Configuración de autenticación.
Se agrega un usuario prueba para realizar mejor Crawling

Como vemos el resultado de análisis nos muestra con mayor detalle las alertas encontradas
con el usuario especifico.

Análisis Activo
Después de realizar el Crawling básico vamos a realizar un escaneo activo el cual nos muestra
las vulnerabilidades existentes en la plataforma.
A continuación, nos muestra las alertas que genero este tipo de ataque activo.

Realizando un análisis más detallado en los resultados del análisis podemos observar las
diferentes vulnerabilidades que la herramienta tiene configurado.

Como podemos ver nos encontró 9 alertas generales categorizadas de la siguiente manera.
Después de realizar un informe encontramos la categorización de los riesgos después del
ataque activo.

SPIDERING-CRAWLING/ANÁLISIS PASIVO
Es una característica que ayuda a descubrir nuevas URL’s en el sitio auditado. Una de las
maneras que realiza esto es analizando el código HTML de la página para descubrir etiquetas
<a> y seguir sus atributos href.
Como podemos ver nos encontró 10 alertas generales categorizadas de la siguiente manera.

Después de realizar un informe encontramos la categorización de los riesgos después del


ataque activo.
Vulnerabilidades auditadas
Según el último escaneo podemos validar que existen varias vulnerabilidades las cueles me
voy a enfocar en las siguientes:

Inyección SQL Nivel Medio


Una de la vulnerabilidad encontrada es inyección SQL donde el atacante por medio de
inyección directa ZAP' OR '1'='1' – en el campo de búsqueda debido a la falta de validación en
la entrada de datos.

Como se puede observar al enviar el parámetro de inyección desde el Firefox developer


muestra una conexión de ingreso de código satisfactoria

Solución.
Validar todos los campos de entrada que el usuario puede ingresar en la aplicación web y
Conceder el mínimo acceso de base de datos que es necesario para la aplicación.
Cross Site Scripting Nivel Alto
Una de las vulnerabilidades encontradas es XSS el cual por medio de la inyección del código
por ejemplo <script>alert(1);</script> podría ejecutar un script para enviar al usuario a otra
sesión donde podría generar un ataque especifico.

Como se puede observar al enviar el parámetro de inyección desde el Firefox developer


muestra una conexión de ingreso de código satisfactoria.

Solución.
Asegúrese de realizar la validación de entrada en las interfaces bien definidas dentro de la
aplicación. Esto ayudará a proteger la aplicación, incluso si un componente se reutiliza o se
mueve a otra parte.

Exploración de directorios Nivel Medio


Es posible ver el listado de directorios. La lista de directorios puede revelar scripts ocultos,
incluyen archivos, copia de seguridad de los archivos de origen, etc., que se pueden acceder
para leer información sensible.
Solución.
Desactivar la exploración de directorios. Si esto es necesario, asegúrese de que los archivos
que estén listados no produzcan ningún riesgo dentro de la aplicación.
Finalizando las pruebas podemos observar que las 3 vulnerabilidades encontradas no son
falsos positivos lo cual la herramienta categorizo bien la vulnerabilidad y la idea a partir de
esto realizar los controles o modificaciones para dar seguridad a cualquier aplicación.

Auditorias De Alertas De Vulnerabilidades.


Para evaluar las vulnerabilidades manuales vamos a enviar peticiones las cuales se enviará una
respuesta a esta solicitud.
En el campo de search&searchquery dando el valor:
%3Cscript%3Ealert%281%29%3B%3C%2Fscript
Vulnerabilidad XSS la cual como muestra la gráfica da una respuesta positiva

Vulnerabilidad SQL inyección


En el campo de search&searchquery dando el valor ZAP%27+AND+%271%27%3D%271%27+-
-+ H
Exploración de directorios
http://www.badstore.net/Procedures/

Análisis de Fuzzing
El fuzzing, es una técnica mediante la cual se puede comprobar la forma en la que responde,
en este caso una web application, ante el ingreso de datos aleatorios o secuenciales para para
identificar directorios o archivos, detectar vulnerabilidades de inyección de código e incluso
para realizar validaciones por fuerza bruta.

Para nuestro caso vamos a analizar las 3 vulnerabilidades anteriores.


Vulnerabilidad XSS
Agregando un payload de XSS para el ataque.

También podría gustarte