Grabber
Fase(s):
Principal: Descubrimiento.
Secundaria: N/A.
Descripción:
Es un escáner de vulnerabilidades en aplicaciones Web y cuenta un set de pruebas pequeño, enfocado principalmente a la identificación de huecos de seguridad derivados de la falta de validación de datos de entrada en el aplicativo.
Objetivo:
- Identificar las siguientes vulnerabilidades en una aplicación Web (Cross Site Scripting, Inyección de SQL, Inclusión de archivos, Búsqueda de archivos de respaldo).
Funcionalidades:
Tecnologías soportadas: Aplicaciones Web (HTTP).
Modo de ejecución: Activo.
Identificar las siguientes vulnerabilidades en una aplicación Web.
- Realiza un “spidering” sobre la aplicación Web.
- Identifica las siguientes vulnerabilidades: Cross Site Script, SQL Injection, Blind SQL Injection, Path Traversal (File Inclusion), por mencionar algunas.
- Existen dos opciones de configuración de ejecución del escaneo:
- Por un archivo de configuración XML, el cual la herramienta utilizará de manera predeterminada cuando no se proporcionen opciones de configuración en el comando de ejecución.
- Declarando expresamente las opciones de escaneo en el comando de ejecución.
- Proporciona el modulo Crystal, el cual permite realizar un análisis de código fuente PHP con el fin de identificar secciones vulnerables utilizando patrones personalizados y asociados a una vulnerabilidad.
Reportes:
Resultados exportables: ✔
- Genera un reporte en formato XML por cada tipo de vulnerabilidad detectada, incluye las URL vulnerables y el payload que se utilizó para identificar la vulnerabilidad.
Uso básico:
Realizar un escaneo básico utilizando el archivo de configuración XML. Modificar el archivo XML "grabber.conf.xml” y agregar la URL de la aplicación Web a escanear. Indicar a que nivel de profundidad, en URL, se realizara el spider. Habilitar los módulos que se evaluarán durante el escaneo.
<?xml version="1.0"?>
<!-- Grabber configuration file -->
<grabber version="0.1">
<site>
<url>[URL]</url>
<spider>1</spider> <!-- Depth of the spider -->
<scan>
<!--
If the action is in the list... it will be done...
tags:
session
javascript
crystal
xss
sql
bsql
include
backup
crystal
-->
<xss />
<sql />
<bsql />
</scan>
</site>
</grabber>
Dónde:
- URL: URL de la aplicación Web.
El siguiente comando inicia el escaneo y toma por defecto la configuración que se encuentra en el archivo “grabber.conf.xml”.
>python grabber.py
La herramienta comienza a realizar un spidering a la aplicación web.
Start scanning... http://localhost/miaplicacion
runSpiderScan @ http://localhost/miaplicacion | # 2
runSpiderScan @ http://localhost/miaplicacion/adt_txt.html | # 1
runSpiderScan @ http://localhost/miaplicacion/adt_txt.html | # 0
runSpiderScan @ http://localhost/miaplicacion/adt_ur.html | # 0
runSpiderScan @ http://localhost/miaplicacion/adt_ur.html | # 1
runSpiderScan @ http://localhost/miaplicacion/adt_txt.html | # 0
Cuando termina de realizar el spidering comenzará con el escaneo de vulnerabilidades.
Start investigation...
Method = GET http://localhost/miaplicacion/adt_ur.html
Method = GET http://localhost/miaplicacion
Method = GET http://localhost/miaplicacion/adt_txt.html
Al concluir el escaneo no se mostrará ningún aviso, solo regresa el prompt a la terminal.
Ejemplo de reporte XML:
…
<xss>
<method>METHOD</method>
<url>http://localhost/miaplicacion</url>
<parameter name='paramName'><A HREF="http://google.com/">XSS</A></parameter>
<type name='XSS Injection Type'>Removing Cnames</type>
<result>http://localhost/miaplicacion?txt003=%3CA+HREF%3D%22http%3A%2F%2Fgoogle.com%2F%22%3EXSS%3C%2FA%3E</result>
</xss>
…
Referencias:
Liga: http://rgaucher.info/beta/grabber.
Autor (es): Romain Gauche.
Contacto: r [at] rgaucher.info.
Licencia: BSD license.