
DNS 리바인딩 공격 프레임워크.
최근 업데이트:
신규 (2025-11-25): Chrome 릴리스 142에는 DNS 리바인딩 공격 기술을 방지하는 Local Network Access(LNA)가 추가되었습니다. Singularity of Origin의 LNA-from-Non-Secure-Contexts 브랜치는 Trial for Local Network Access from Non-Secure Contexts를 지원합니다. 이는 비보안 컨텍스트에서 로컬 네트워크의 리소스에 일시적으로 접근할 수 있도록 하여, Chrome을 사용할 때 DNS 리바인딩 공격을 조금 더 오래(2026년 5월 18일까지) 실험할 수 있게 합니다.
신규 (2025-05-19): 데모 사이트인 rebind.it이 IPv6를 지원하도록 업그레이드되었습니다 (커밋 3c5ee9a). 이는 DNS 쿼리 형식이 수정되었기 때문에 (Singularity Manager UI 외부의) 수동 쿼리에 대한 호환성이 깨지는 변경 사항입니다. 자세한 내용은 How to Create Manual DNS Requests to Singularity of Origin를 참조하세요. 또한, 정기적으로 새로운 공격 페이로드를 추가하고 있으니 꼭 확인해 보세요.
(2023-04-27) 2023년 4월 DNS 리바인딩 현황을 설명하는 블로그 게시물을 확인하세요. 일부 브라우저에 현재 구현되어 DNS 리바인딩을 방지하는 것을 목표로 하는 새로운 W3C 초안 사양인 Local Network Access에 대해 설명하고, 이러한 제한을 우회하는 두 가지 방법을 보여줍니다. 또한 WebRTC IP 주소 유출 완화와 DNS Bit 0x20이 DNS 리바인딩 공격에 미치는 영향에 대해서도 논의합니다.
(2020-03-30) DoH가 DNS 리바인딩 공격에 미치는 영향에 대한 새로운 블로그 게시물 Impact of DNS over HTTPS (DoH) on DNS rebinding attacks입니다. 요약: DoH(DNS over HTTPS)는 리바인딩 공격에 아무런 영향을 미치지 않으며, 제공업체가 광고하는 보호 조치는 우회될 수 있습니다.
DEF CON 27 동영상 및 BSidesLV 프레젠테이션 State of DNS Rebinding: Attack & Prevention Techniques and the Singularity of Origin을 확인하세요.
Singularity of Origin은 DNS 리바인딩 공격을 수행하는 도구입니다.
이 도구에는 공격 서버 DNS 이름의 IP 주소를 대상 머신의 IP 주소로 다시 바인딩하고 대상 머신의 취약한 소프트웨어를 악용하기 위한 공격 페이로드를 제공하는 데 필요한 구성 요소가 포함되어 있습니다.
또한 단순한 홈 페이지 캡처부터 원격 코드 실행 수행까지 다양한 취약한 소프트웨어 버전을 악용하기 위한 샘플 페이로드가 함께 제공됩니다. 이는 DNS 리바인딩 공격에 취약한 소프트웨어의 악용을 용이하게 하고 이러한 공격이 어떻게 작동하는지, 어떻게 보호하는지에 대한 인식을 높이는 프레임워크를 제공하는 것을 목표로 합니다.
자세한 문서는 위키 페이지에 있습니다.



Singularity를 설정하려면 DNS 레코드를 편집할 수 있는 DNS 도메인 이름과 실행할 Linux 서버가 필요합니다. 자세한 지침은 설정 및 설치 위키 페이지를 참조하세요.
문서는 위키 페이지에 있습니다. 시작하기 위한 몇 가지 포인터는 다음과 같습니다.
데모 목적으로 http://rebind.it:8080/manager.html에서 테스트 인스턴스를 사용할 수 있습니다.
Singularity는 다음 브라우저에서 최적 조건 내 3초 이내에 작동하도록 테스트되었습니다:
Singularity는 다음과 같은 공격 페이로드를 지원합니다:
simple-fetch-get.js): 이 샘플 페이로드는
루트 디렉토리('/')에 GET 요청을 하고 fetch API를 사용하여 서버 응답을
표시합니다.
이 페이로드의 목적은 추가 기여를 최대한 쉽게 하기 위한 예제 요청 역할을 하는 것입니다.exposed-chrome-devtools.js): 이 페이로드는
버전 1.19.3에서 수정된 Microsoft VS Code의 원격 코드 실행(RCE) 취약점을
시연합니다.
이 페이로드는 localhost에 Chrome Dev Tools를 노출하는 모든 소프트웨어를 악용하도록 수정할 수 있습니다.etcd.js): 이 페이로드는
etcd 키-값 저장소에서 키와 값을 검색합니다.pyethapp.js): 이더리움 클라이언트
Pyethapp의 Python 구현을 악용하여
소유한 eth 주소 목록을 가져오고 첫 번째 eth 주소의 잔액을 검색합니다.rails-console-rce.js): Rails Web Console에서
원격 코드 실행(RCE) 공격을 수행합니다.aws-metadata-exfil.js): 헤드리스 브라우저가 개인 키를 포함한 AWS 메타데이터를
지정된 호스트로 유출하도록 강제합니다. 공격 설정에 대한 추가 세부 사항은 페이로드 내용을 확인하세요.duplicati-rce.js): 이 페이로드는
Duplicati 백업 클라이언트를 악용하여 원격 코드 실행(RCE) 공격을 수행합니다.
이 공격이 작동하려면 파일의 매개변수를
실제 RCE 페이로드(쉘 스크립트)를 포함하는 유효한 Duplicati 백업을 가리키도록 업데이트해야 합니다.| 브라우저 | 운영 체제 | 악용까지 소요 시간 | 리바인딩 전략 | 가져오기 간격 | 대상 지정 |
|---|
Multiple answers (fast) | |||||
Multiple answers (fast) | |||||
| Firefox | Windows 10 | ~3s | Multiple answers (fast) | 1s | 127.0.0.1 |
| Chromium | Ubuntu | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Firefox | Ubuntu | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Chrome | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Firefox | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Safari | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
payload-duplicati-rce.htmltargetURLwebpdb.js): 웹소켓을 통해 노출된 Python 디버거인 PDB를
악용하는 일반적인 RCE 페이로드입니다.hook-and-control.js): 대상 브라우저를 가로채서 사용자 자신의 브라우저 또는 기타 HTTP 클라이언트에서 접근할 수 없는 리소스에 접근하는 데 사용합니다. 가로챈 브라우저 목록은 기본적으로 포트 3129에서 Singularity 관리자 호스트의 "soohooked" 하위 도메인(예: http://soohooked.rebinder.your.domain:3129/)에서 검색할 수 있습니다. 인증하려면 Singularity 서버가 시작될 때 콘솔에 출력된 비밀 값을 제출하세요.jenkins-script-console.js): 이 페이로드는
Jenkins Script Console을
악용하고 저장된 자격 증명을 표시합니다.docker-api.js): 이 페이로드는
Docker API를 악용하고
Docker 호스트의 /etc/shadow 파일을 표시합니다.ollama-exfil.js): Ollama(대규모 언어 모델(LLM)을 실행 및 관리하기 위한 오픈 소스 시스템)를 실행하는 호스트에서 파일을 유출합니다. 블로그 게시물을 참조하세요.html/payloads)에서 확인하세요.