
Ferramenta de teste de exfiltração de dados baseada em DNS com transferência bidirecional, interface web e script cliente para detectar vulnerabilidades de RCE/XXE cego em ambientes restritos.
O request.bin de solicitações DNS
DNSBin é uma ferramenta simples para testar exfiltração de dados via DNS e ajudar a testar vulnerabilidades como RCE ou XXE quando o ambiente tem restrições significativas. O projeto é dividido em duas partes: a primeira é o servidor web e seus componentes. Oferece uma interface web básica; para a maioria dos casos, você não precisará de mais do que isso. A parte do cliente oferece um script Python que permite transferir dados em ambas as direções via DNS usando o serviço web.
A configuração DNS atual que tenho para o servidor de demonstração é a seguinte. Note que fiz isso por tentativa e erro, então a configuração pode ser excessivamente complicada ou ter problemas. Se você tiver mais conhecimento, sinta-se à vontade para abrir uma issue.
É altamente recomendável iniciar o receptor DNS e o endpoint WebSocket com o módulo Node.JS "forever".
forever start index.js
Para o frontend, o arquivo "index.html" pode ser hospedado no servidor web de sua escolha. Certifique-se de que a URL do WebSocket aponte para o seu servidor.
O script do cliente requer que o "dnspython" esteja instalado em ambas as pontas. Esteja você enviando ou recebendo dados, primeiro deve iniciar o script na máquina que está fora da zona restrita. O script fornecerá um token único que você deve passar ao executar o script na máquina que está dentro da zona restrita.
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