
Herramienta de prueba de exfiltración de datos basada en DNS con transferencia bidireccional, interfaz web y script cliente para detectar vulnerabilidades RCE/XXE ciegas en entornos restringidos.
El request.bin de las solicitudes DNS
DNSBin es una herramienta sencilla para probar la exfiltración de datos a través de DNS y ayudar a probar vulnerabilidades como RCE o XXE cuando el entorno tiene restricciones significativas. El proyecto consta de dos partes: la primera es el servidor web y sus componentes. Ofrece una interfaz web básica; en la mayoría de los casos no necesitarás más que esto. La parte del cliente incluye un script de Python que permite transferir datos en ambas direcciones a través de DNS utilizando el servicio web.
La configuración DNS actual que tengo para el servidor de demostración es la siguiente. Ten en cuenta que hice esto mediante prueba y error, por lo que la configuración puede ser demasiado complicada o tener problemas. Si tienes más conocimientos, no dudes en abrir un issue.
Se recomienda encarecidamente iniciar el receptor DNS y el endpoint WebSocket con el módulo Node.JS "forever".
forever start index.js
Para el frontend, el archivo "index.html" se puede alojar en el servidor web de tu elección. Asegúrate de que la URL de WebSocket apunte a tu servidor.
El script del cliente requiere que "dnspython" esté instalado en ambos extremos. Ya sea que estés enviando o recibiendo datos, primero debes iniciar el script en la máquina que está fuera de la zona restringida. El script te proporcionará un token único que debes pasar al ejecutar el script en la máquina que está dentro de la zona restringida.
Máquina externa
echo test12345 | python main.py -f- -d out -t-
Máquina interna
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
Máquina externa
python main.py -f- -d in -t-
Máquina interna
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU