이번주에는 저번주에 공부한 DNS Spoofing 내용으로 스터디를 진행하였다.
DNS Spoofing의 정의
- DSN Spoofing은 공격자가 DNS 응답을 위조하여, 사용자가 원래 가려던 사이트 대신 가짜 웹사이트로 유도하는 공격이다. 사용자는 주소창에 정상적인 도메인을 입력했음에도 불고하고, 악성 사이트로 접속하게 된다.

DNS Spoofing은 어떻게 공격이 이루어질까?
- DNS 응답 위조
- 공격자는 피해자의 DNS 요청보다 먼저, 가짜 응답 패킷을 DNS 서버나 사용자에게 전달한다.
- 이 응답에는 가짜 IP 주소가 포함되어 있으며, 사용자 PC의 DNS 캐시에 저장되어 이후에도 계속 악성 주소로 접속하게 된다.
- DNS 캐리 중독
- DNS 서버나 로컬 PC의 캐시에 악의적인 DNS 정보를 주입하여, 이후 정상적인 도메인 요청에도 악성 IP로 응답하게 만든다.
- ARP Spoofing (1주차 내용) + DNS Spoofing
- 내부 네트워크에서 ARP Spoofing으로 중간자 위치를 선점한 후, DNS 요청을 가로채서 위조된 응답을 전달한다.
실습 과정 요약
- /etc/ettercap/etter.dns 수정
google.com A 192.168.0.66
*.google.com A 192.168.0.66입력하세요
- 모든 google.com 요청을 공격자의 IP(192.168.0.66)로 리디렉션
- Ettercap 실행
sudo ettercap -T -q -i eth0 -M arp:remote /192.168.0.101/ /192.168.0.1/ -P dns_spoof
- -T -q: 텍스트 모드, 조용히 실행
- -i eth0: 사용할 네트워크 인터페이스
- -M arp:remote: ARP Spoofing(MITM)
- 마지막 /타겟IP/ /게이트웨이IP/ : 피해자와 공유기의 ARP 테이블을 조작
- -P dns_spoof: DNS Spoofing 플러그인 사용
DNS Spoofing은 생각보다 간단하게 실행 가능했으며, HTTPS를 사용하지 않는 사이트는 특히 위험하다는 것을 느낄수 있었다.