본문 바로가기
보안

🌐 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보안 #라우터해킹 #서버보안 #기업보안

반응형