본문 바로가기
보안

🌐 DNS Rebinding: 도메인을 내부 네트워크 IP로 변조하여 내부 시스템 침투 🚨

by IT 분석가 2025. 2. 20.
반응형

DNS Rebinding

📌 목차

  1. DNS Rebinding이란?
  2. 공격 원리와 작동 방식
  3. 주요 공격 기법
  4. 보안 위협과 실제 사례
  5. 방어 방법 및 대응 방안

🔍 DNS Rebinding이란?

DNS Rebinding(도메인 네임 시스템 리바인딩)은 공격자가 도메인의 DNS 응답을 조작하여, 피해자의 브라우저가 내부 네트워크 IP로 접속하도록 유도하는 공격 기법이다.

 

일반적인 DNS 요청 흐름

  1. 사용자가 attacker.com에 접속
  2. DNS 서버는 attacker.com → 192.168.1.100(공격 서버)로 응답
  3. 사용자의 브라우저는 공격 서버와 통신

 

DNS Rebinding 공격 흐름

  1. 사용자가 attacker.com에 접속
  2. 초기 DNS 응답: attacker.com → 123.123.123.123(공격 서버)
  3. 이후 DNS 응답 변경: attacker.com → 192.168.1.1(내부 라우터)
  4. 피해자의 브라우저가 내부 네트워크에 접근 가능

 

🚨 결과:

  • 내부 시스템 접근 (http://192.168.1.1/admin)
  • 기업 내부 서버 공격 가능 (http://10.0.0.5/api)

⚙️ DNS Rebinding 공격의 원리

웹 브라우저는 Same-Origin Policy(SOP)로 인해,
attacker.com에서 192.168.1.1에 직접 요청을 보내지 못함.

그러나 DNS Rebinding을 사용하면:

  1. 공격 도메인의 DNS 응답을 주기적으로 변경
  2. 동일한 도메인(attacker.com)으로 내부 네트워크에 접근 가능

📌 공격자가 사용하는 악성 DNS 응답

attacker.com → 123.123.123.123 (초기 공격 서버)
attacker.com → 192.168.1.1 (내부 네트워크 라우터)

 

📌 브라우저에서 실행되는 악성 JavaScript

fetch("http://attacker.com/api"); // 초기 요청
setTimeout(() => {
    fetch("http://attacker.com/private"); // 이후 내부 네트워크로 변경된 IP 접근
}, 5000);
 

 

🚨 결과:

  • 사용자의 내부 IP, 라우터 설정, 사설 서버 정보가 공격자에게 노출
  • 내부 API에 요청을 보내 데이터 유출 가능

🚨 주요 DNS Rebinding 공격 기법

1️⃣ 라우터 및 IoT 기기 해킹

📌 공격 방식

  • http://192.168.1.1/admin에 접근하여 로그인 우회 시도
  • 기본 계정(admin:admin)을 이용하여 설정 변경

공격 예제

fetch("http://192.168.1.1/change_password?new_password=hacked");
 

🚨 결과:

  • 피해자의 라우터 비밀번호 변경
  • DNS 서버 설정 조작 가능 (피싱 사이트로 리디렉션)

2️⃣ 기업 내부 네트워크 침투

📌 공격 방식

  • 내부망에서만 접근 가능한 API 서버(10.0.0.5:8080) 공격

공격 예제

fetch("http://10.0.0.5/api/secret_data");
 

🚨 결과:

  • 내부 API 서버에서 민감한 정보 유출 가능

3️⃣ 웹 애플리케이션 공격 (CSRF 연계)

📌 공격 방식

  • CSRF와 결합하여 피해자의 내부 네트워크 데이터를 수정

공격 예제

fetch("http://192.168.1.100/update_settings?dns=attacker.com");
 

🚨 결과:

  • 피해자의 네트워크 설정을 조작하여 트래픽을 공격자가 제어

⚠️ 보안 위협과 실제 사례

보안 위협

  • 🛡️ 라우터 및 IoT 기기 해킹: 공격자가 내부 네트워크 장비를 장악
  • 🎭 기업 내부 시스템 침투: 방화벽 뒤의 서버에 직접 접근 가능
  • 🚀 데이터 탈취: 내부망에서만 접근 가능한 API를 통해 정보 유출
  • 💣 DNS 변조: 피해자의 네트워크 트래픽을 공격자가 제어

 

실제 발생 사례

  1. 2018년 Google Home 및 Chromecast DNS Rebinding 취약점 발견
    • 공격자가 피해자의 스마트 기기를 원격 제어 가능
  2. 2021년 여러 라우터 제조사에서 DNS Rebinding 취약점 보고됨
    • 기본 비밀번호를 변경하지 않은 라우터에서 설정 변경 및 DNS 하이재킹 가능

🔐 방어 방법 및 대응 방안

1. 웹 브라우저의 DNS Rebinding 방어 기능 활성화

  • Chrome, Firefox는 의심스러운 DNS 변경을 차단
  • 브라우저에서 network.dns.disablePrefetch 설정 변경

2. 사설 IP 주소로의 요청 차단

  • 서버에서 192.168.*.*, 10.*.*.* 등 내부 네트워크 IP 요청을 차단
  • 예제 (Nginx 설정)
location / {
    if ($remote_addr ~* "^192\.168\.|^10\." ) {
        return 403;
    }
}

 

3. DNS TTL(Time-To-Live) 증가

  • DNS 서버가 너무 빠르게 IP를 변경하지 못하도록 TTL 값을 높임
  • 예제 (BIND DNS 설정)
example.com.  IN  A  123.123.123.123
example.com.  IN  TTL  86400  ; 1일 동안 변경 불가

 

4. 내부망 접근 제한 (Firewall 설정)

  • 외부 DNS에서 사설 IP(192.168.0.0/16, 10.0.0.0/8)로의 요청을 차단
  • 예제 (iptables 설정)
iptables -A OUTPUT -d 192.168.0.0/16 -j DROP

 

5. DNS 보안 강화 (DNSSEC 적용)

  • DNSSEC을 사용하면 DNS 응답 위변조 방지
  • 예제 (BIND DNSSEC 설정) 
dnssec-enable yes;
dnssec-validation auto;

 

6. 웹 애플리케이션 방화벽(WAF) 적용

  • WAF에서 의심스러운 DNS Rebinding 요청 감지 및 차단

7. 정기적인 보안 테스트 수행

  • Burp Suite, OWASP ZAP 등을 사용하여 DNS Rebinding 취약점 점검

🔎 더 알아보기

🔗 자세히 알아보기

📌 해시태그
#DNSRebinding #웹보안 #네트워크보안 #정보유출 #보안취약점 #IoT보안 #라우터해킹 #서버보안 #기업보안

반응형