
DNS 기반 데이터 유출 테스트 도구로, 양방향 전송, 웹 UI 및 제한된 환경에서 블라인드 RCE/XXE 취약점을 탐지하기 위한 클라이언트 스크립트를 제공합니다.
DNS 요청의 request.bin
DNSBin은 DNS를 통한 데이터 유출을 테스트하고, 환경에 상당한 제약이 있을 때 RCE나 XXE와 같은 취약점을 테스트하는 데 도움이 되는 간단한 도구입니다. 프로젝트는 두 부분으로 구성되어 있습니다. 첫 번째 부분은 웹 서버와 그 구성 요소입니다. 기본적인 웹 UI를 제공하며, 대부분의 경우 이 이상은 필요하지 않습니다. 클라이언트 부분은 웹 서비스를 통해 DNS를 통해 양방향으로 데이터를 전송할 수 있는 Python 스크립트를 제공합니다.
데모 서버에 대해 현재 설정한 DNS 구성은 다음과 같습니다. 시행착오를 거쳐 이렇게 설정했으므로, 구성이 지나치게 복잡하거나 문제가 있을 수 있습니다. 더 잘 아시는 분은 이슈를 열어주세요.
DNS 수신기와 WebSocket 엔드포인트를 Node.JS 모듈 "forever"로 시작하는 것을 적극 권장합니다.
forever start index.js
프론트엔드의 경우 "index.html" 파일을 원하는 웹 서버에 호스팅할 수 있습니다. WebSocket URL이 서버를 가리키는지 확인하세요.
클라이언트 스크립트는 양쪽 끝에 "dnspython"이 설치되어 있어야 합니다. 데이터를 보내거나 받을 때, 먼저 제한된 영역 외부에 있는 머신에서 스크립트를 시작해야 합니다. 스크립트는 고유한 토큰을 제공하며, 제한된 영역 내부의 머신에서 스크립트를 실행할 때 이 토큰을 전달해야 합니다.
외부 머신
echo test12345 | python main.py -f- -d out -t-
내부 머신
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
외부 머신
python main.py -f- -d in -t-
내부 머신
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU