XSS Catcher
Un framework de detección de XSS ciego y captura de datos XSS que funciona con Flask, VueJS y PostgreSQL.
XSS Catcher es una herramienta intuitiva que automatiza ataques de Cross-Site Scripting (XSS) ciego y la recopilación de datos, incluyendo capturas de pantalla. Cuenta con un generador de payloads fácil de usar para crear payloads XSS personalizables y ofrece funcionalidades como notificaciones por webhook y correo electrónico, autenticación multifactor y acceso multiusuario. Diseñado para ser sencillo, se integra fácilmente con plataformas como Slack y Discord, captura datos completos incluyendo cookies, almacenamiento local y almacenamiento de sesión, y proporciona información detallada como cabeceras HTTP y instantáneas del DOM. Además, soporta claves API para automatización avanzada, simplificando las pruebas XSS y haciendo que escenarios de ataque complejos sean más accesibles y manejables.
Características •
Instalación •
Actualización •
Primer inicio de sesión •
Documentación de la API •
Demo •
Solución de problemas •
Créditos

Características
- Genera payloads XSS simples y personalizables con un generador de payloads fácil de usar
- Envía notificaciones cuando se captura un nuevo XSS mediante webhooks (Slack, Discord o formato de automatización) y correo electrónico
- El destino del correo electrónico o webhook se puede configurar globalmente y por cliente
- Multiusuario con administrador y usuarios de privilegios bajos
- Autenticación multifactor con TOTP
- Permite capturar cookies, almacenamiento local, almacenamiento de sesión y más
- Almacena información adicional sobre el XSS, como cabeceras HTTP, dirección IP de origen, marca de tiempo, etc.
- Actúa como un endpoint "catch-all". Simplemente envía tus datos en la cadena de consulta (GET) o en el cuerpo (POST) a la URL de tu cliente y ¡XSS Catcher los capturará!
- Aprovecha html2canvas y fingerprintjs
- Captura el DOM completo para que puedas saber fácilmente dónde se activó el payload
- Permite añadir etiquetas personalizadas a tus XSS para categorizarlos y buscarlos mejor.
- Permite ejecutar código JavaScript personalizado y capturar la salida.
- Soporta hasta 5 claves API por usuario para automatizar escenarios de ataque avanzados cuando se combinan con webhooks
Instalación
La forma más fácil de ejecutar XSS Catcher es usando la imagen de Dockerhub (necesitarás Docker):
# Ejecutando la aplicación exponiéndola en el puerto 8080
$ docker run -p 8080:80 daxhackerman/xss-catcher
# Por defecto, el contenedor no tiene persistencia. Si necesitas algo, puedes configurar un volumen
$ docker volume create xsscatcher-db
$ docker run -p 8080:80 -v xsscatcher-db:/var/lib/postgresql/14/main/ -d --name xsscatcher daxhackerman/xss-catcher
Si deseas construir la imagen tú mismo, necesitarás Git, y opcionalmente make. Desde tu línea de comandos:
# Clona este repositorio
$ git clone https://github.com/daxAKAhackerman/XSS-Catcher.git
# Entra en el repositorio
$ cd XSS-Catcher
# Todos los siguientes comandos usan make. Si estás en un sistema donde make no está disponible, simplemente echa un vistazo al Makefile y ejecuta manualmente los comandos necesarios (bajo build, start o stop)
# Si nunca has ejecutado la aplicación, constrúyela
$ make
# Inicia la aplicación. Escuchará en el puerto 8080.
$ make start
# Detén la aplicación cuando hayas terminado
$ make stop
# Puedes actualizar la aplicación cuando sea necesario
$ git pull && make stop; make && make start
Primer inicio de sesión
- Las credenciales por defecto para conectar a la interfaz web son admin:xss
- El puerto web por defecto cuando se ejecuta a través del Makefile es 8080
Demo

Documentación de la API
Las colecciones de Postman se pueden encontrar aquí: https://www.postman.com/maintenance-architect-74448403/workspace/xss-catcher
Solución de problemas
Error de contenido mixto de JavaScript
Para evitar errores de contenido mixto de JavaScript cuando se activa el payload XSS, se recomienda encarecidamente poner XSS Catcher detrás de un proxy inverso que proporcione certificados TLS válidos.
Créditos
Aviso legal
El uso de esta herramienta para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. No asumimos ninguna responsabilidad y no somos responsables de ningún uso indebido o daño causado por esta herramienta.
También te puede interesar...
GitHub @daxAKAhackerman