여러 네트워크의 DNS 서버를 동시에 활용하여 DNS 요청을 자동으로 빠르게 보내는 것입니다. 예를 들어, 공격자가 다양한 네트워크에 대해 DNS 쿼리를 보내고 이를 기반으로 도메인 정보를 얻어낸다고 가정합시다.
192.168.1.1
10.0.0.1
8.8.8.8
(Google DNS)이제 각 네트워크에서 제공하는 DNS 서버를 /etc/resolv.conf
에 설정하여 동시에 여러 DNS 서버에 질의를 보내게 만들겠습니다.
/etc/resolv.conf
설정먼저 /etc/resolv.conf
파일을 수정하여 세 개의 DNS 서버를 설정합니다.
# /etc/resolv.conf 파일 내용
nameserver 192.168.1.1 # 네트워크 A의 DNS 서버
nameserver 10.0.0.1 # 네트워크 B의 DNS 서버
nameserver 8.8.8.8 # 네트워크 C의 DNS 서버 (Google DNS)
이 설정을 하면, 시스템은 DNS 쿼리를 보낼 때 이 세 개의 DNS 서버에 동시에 요청을 보내게 됩니다.
이제 dig
나 nslookup
명령어를 사용하여 도메인 이름에 대한 DNS 쿼리를 보냅니다. 예를 들어, www.example.com
에 대해 DNS 요청을 보낸다고 가정해 봅시다.
dig www.example.com
/etc/resolv.conf
**에 설정된 세 개의 DNS 서버를 동시에 사용합니다.dig
명령어는 첫 번째 DNS 서버인 192.168.1.1
에 쿼리를 보내고, 동시에 **두 번째 서버인 10.0.0.1
**과 **세 번째 서버인 8.8.8.8
**에 쿼리를 보냅니다.이 과정은 동시다발적으로 이루어지므로, 각 서버에서 응답을 받는 시간도 짧아집니다.
각 DNS 서버는 요청을 받으면 응답을 보냅니다. 예를 들어, 세 개의 DNS 서버가 각각 다른 응답을 줄 수 있습니다.
192.168.1.1
)는 www.example.com
에 대해 IP 주소 192.168.100.1을 반환할 수 있습니다.10.0.0.1
)는 www.example.com
에 대해 IP 주소 192.168.100.2을 반환할 수 있습니다.8.8.8.8
)는 www.example.com
에 대해 IP 주소 192.168.100.3을 반환할 수 있습니다.이처럼 각 서버는 동일한 도메인에 대해 다른 응답을 줄 수 있지만, 동시에 응답을 받을 수 있기 때문에 빠른 시간 안에 여러 네트워크의 DNS 응답을 받을 수 있습니다.
최종적으로 dig
명령어는 여러 DNS 서버에서 받은 응답을 빠르게 조합하여 출력합니다. 예시 결과는 아래와 같습니다:
; <<>> DiG 9.10.6 <<>> www.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; ANSWER SECTION:
www.example.com. 3600 IN A 192.168.100.1
;; AUTHORITY SECTION:
example.com. 3600 IN NS ns1.example.com.
;; Query time: 10 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat May 3 14:55:32 UTC 2025
;; MSG SIZE rcvd: 85
위 결과에서 dig
는 첫 번째 DNS 서버인 192.168.1.1
로부터 받은 응답을 출력합니다. 만약 192.168.1.1
이 응답하지 않으면, 두 번째 서버인 10.0.0.1
으로 요청을 보내고, 그 결과를 출력합니다.
이제 이 과정이 반복됩니다. 여러 도메인에 대해 동시에 DNS 요청을 보내면, 각각의 네트워크에 대해 동시에 여러 개의 DNS 서버로 질의를 보내게 되며, 공격자는 대규모 네트워크를 대상으로 하는 공격을 훨씬 빠르게 수행할 수 있습니다.
예를 들어, 한 네트워크에서 여러 도메인에 대해 공격을 시도하고, 동시에 다른 네트워크에서도 다른 도메인에 대해 DNS 쿼리를 날리는 식입니다. 이로 인해 공격자는 많은 네트워크를 빠르게 스캔하고 정보를 얻을 수 있습니다.
/etc/resolv.conf
파일에 여러 DNS 서버를 설정하면, 시스템이 자동으로 동시에 여러 서버에 요청을 보낼 수 있습니다.