- 개요
● DNS에서 전달되는 IP 주소를 변조하거나 DNS의 서버를 장악하여 사용자가 의도하지
않는 주소로 접속하게 만드는 공격 기법
● 사용자로부터 입력받은 도메인 주소 (URL, 주소 입력창)는 DNS 서버에 의해서
IP 주소로 변환한 후 서비스한다.
● 이때 DNS 주소로 UDP 프로토콜을 이용하여 질의하는 과정에서 중간자 공격을
이용한 공격 (MITM) 또는 DNS 주소의 변조가 되었을 경우를 이용한 공격을 행한다
- 기본 실습
● 시스템 환경설정(NAT)
→ Attacker(kali)
: 192.168.10.128 C Class 192.168.10.2 192.168.10.2
→ Victim (Win 10)
: 192.168.10.129 C Class 192.168.10.2 192.168.10.2
● Victim의 웹 브라우저에서 www.naver.com 창을 띄운다
● Kali 와 Win10에서 IP 주소, GW 주소 Mac 주소 확인
(kali) # ip link show eth0
(kali) # arp –a
(kali) # ifconfig 00:0c:29:7b:ca:fb : win 10의 Mac 주소 00:50:56:e1:37:52 : G/W Mac Add
(win) ipconfig /all 00-0C-29-7B-CA-FB : 시스템 Mac Add (win) arp -a 00:0c:29:dd:53:67 : G/W Mac Add
● 패키지 설치 및 개요
(kali) # dsniff
(kali) # arpspoof -i(I/F) eth0(Attacker의 이더넷) -t 192.168.10.129(victim의 IP) 192.168.10.2(Victim의 G/W)
(kali) # arpspoof -i eth0 -t 192.168.10.129 192.168.10.2
● 실습 1
→ kali 에서 명령어 입력하기 전 window10 상태
→ kali 에서 명령어 입력한 후 window10 상태
→ 결과
: kali에서 네이버 창이 나오지 않는다
: 공격이 멈추면 다시 win10에서 웹 브라우저가 나온다
: G/W의 맥 주소가 Kali의 맥주소로 변경된다
: G/W의 주소가 이상한 주소로 변하면서 인터넷이 안되게 되버림
● 시나리오 → DNS Server 구축한 후 Kali에서 ARP Spoofing 후 Windows 10에서 확인 ● 실습 환경(NAT) → Attacker(Kali) 192.168.10.128 C class 192.168.10.2 192.168.10.130 → 확인(Windows 10) 192.168.10.129 C class 192.168.10.2 192.168.10.130 → Victim(CentOS) 192.168.10.130 C class 192.168.10.2 192.168.10.130 ● 결론 → 시스템들끼리는 ping이 나간다 하지만 외부(게이트웨이)로 ping이 나가지 않는다 → G/W의 Mac 주소 변경 확인(arp –a)
● 실습 환경(Bridge) → kali 10.10.10.21 → Win10 10.10.10.71 → CentOS1 10.10.10.11 → CentOS2 10.10.10.61 ● 시나리오 → DNS Server를 두 개 구축한다. 그리고 그 DNS들은 서로 아래 그림과 같이 연동시킨다 → index.html 로 <div id="write_btn"> <a href="www.a.com/a.html"><button>버튼</button></a> </div> → CentOS1 에서 www.samadal.com 으로 접속해서 버튼을 누르면 www.gusiya.com으로 넘어가게 index파일을 만든다
→ Kali로 DNS 하나를 공격한다 그러면 다른 연결된 링크가 제대로 창이 나오지
않는다
● 시나리오 → DNS Server 구축한 후 Kali에서 ARP Spoofing 후 Windows 10에서 확인 ● 실습 환경(NAT) → Attacker(Kali) : 192.168.10.128 C class 192.168.10.2 192.168.10.130 → 확인(Windows 10) : 192.168.10.129 C class 192.168.10.2 192.168.10.130 → Victim(CentOS) : 192.168.10.130 C class 192.168.10.2 192.168.10.130 ● 네임 서버 조회 → ns.gusiya.com → www.gusiya.com → attack.gusiya.com : kali에 새로운 호스트(attack)를 부여(Linux에서 rev, zone파일 수정) ● Kali 작업 → (kali)# vi /etc/network/interfaces → 아래 내용 추가한다
● CentOS 에서 kali(128)로 호스트 부여하고 네임서버 조회해 본다
● (kali)# service apache2 restart
● Windows 10 에서 attack.gusiya.com 을 검색하면 아래 화면 처럼 나온다
● 이것이 피싱사이트의 기본이다.
● 실습 환경(NAT) → Kali : GW와 nameserver를 모두 동일(192.168.10.2)하게 수정 : host 파일 수정 192.168.14.100 www.naver.com 192.168.10.128 www.google.com → Windows 10 : nameserver를 google Default DNS(8.8.8.8)로 변경
● 테스트
→ Spoofing을 실행하지 않은 경우
: Windows 10에서 두 개가 사이트 출력된다
: MAC address의 변화가 없다(Windows 10 자신 꺼 그대로 출력)
→ Spoofing을 실행한 경우
: Windows 10에서 두 개가 사이트 출력되지 않는다
: MAC address의 변화가 있다(Kali의 주소로 바뀜)
● 결론
→ ARP Spoofing 만으로는 사이트에 어떠한 변화도 줄 수가 없다
→ 다만 GW 주소만 변경될 뿐이다
● 실습 환경(NAT)
→ Kali
: GW와 nameserver를 모두 동일(192.168.10.2)하게 수정
: host 파일 수정
192.168.14.100 www.naver.com
192.168.10.128 www.google.com
→ Windows 10
: nameserver를 google Default DNS(8.8.8.8)로 변경
● 작업
→ Kali에서 Packet Forwarding을 실행한다
(kali)# arpspoof -i eth0 -t 192.168.10.129 192.168.10.2
→ 터미널 창을 하나 더 띄운다
(kali)# fragrouter -B1
: 패키지 다운로드 후 실행
● 결론
→ 앞의 실습처럼 Kali에서 Win10으로 공격을하면 Mac 주소는 동일하게 바뀐다
→ 앞의 실습과 다른 점은 이번엔 Win10에서 웹 브라우저가 나타난다
● 실습 환경(Bridge) DNS 1 10.10.10.28 C class 10.10.10.2 DNS 2 10.10.10.29 C class 10.10.10.2 Kali 10.10.10.21 C class 10.10.10.2 10.10.10.28, 10.10.10.29 Win10 10.10.10.71 C class 10.10.10.2 10.10.10.28, 10.10.10.29 Web 1 10.10.10.78 C class 10.10.10.2 10.10.10.28, 10.10.10.29 Web 2 10.10.10.79 C class 10.10.10.2 10.10.10.28, 10.10.10.29 ● 작업 결과 → Spoofing 공격 하기 전 ![](https://velog.velcdn.com/images/yoondonggyu/post/deb198fb-7f76-4ac1-bf26-0e3c5c8c9a8f/image.png) → Spoofing 공격 후(G/W의 MAC 주소) ![](https://velog.velcdn.com/images/yoondonggyu/post/bf48fbd8-bac3-49cd-87b8-f8e7faf8f17f/image.png)
● 실습 환경(NAT) → Kali : 192.168.10.128 C class 192.168.10.2 192.168.10.2 → win 10 : 192.168.10.129 C class 192.168.10.2 8.8.8.8 ● 작업 → (kali)# arpspoof -i eth0 -t 192.168.10.129 192.168.10.2 → (kali)# fragrouter -B1 → kali에서 wireshark 키고 win 10에서 네이버 실행 → kali 에서 실행한 명령어들 중지 시키고 wireshark 확인
Source Destination Protocol Length Info
192.168.10.129 210.102.55.92 HTTP 1040 POST /index.php?act=procMemberLogin HTTP/1.1
(application/x-www-form-urlencoded)
● 작업 환경 (NAT) → Linux(php 압축 풀기) : db연동까지 되어있어야함 : 192.168.10.130 C class 192.168.10.2 192.168.10.130 → Win10 : 192.168.10.129 C class 192.168.10.2 192.168.10.130 → Kali : 192.168.10.128 C class 192.168.10.2 192.168.10.2 ● 작업 → (kali)# arpspoof -i eth0 -t 192.168.10.129 192.168.10.2 → (kali)# fragrouter -B1 → kali에서 wireshark 키고 win 10에서 네이버 실행 → kali 에서 실행한 명령어들 중지 시키고 wireshark 확인
● 시스템 구성(Bridge) → DNS / WEB X 2 → WEB X 4 ● 작업 환경 → 각자 php 게시판을 만든다 → 각자 만든 php WEB 서버에 DNS 서버에서 호스트를 부여해준다 : a.samadal.com : b.samadal.com : www.samadal.com : kms.gusiya.com : kdj.gusiya.com : shs.gusiya.com ● 작업 → Kali 에서 악성 코드 PUTTY.exe 실행 파일을 만들고 WEB 사이트에서 실행파일을 실행 시킬 수 있도록 만든다 → 이 악성코드 exe 파일은 index파일이 있는 var/www/html 경로로 이동한다 → php 서버에서는 악성코드를 심을 링크를 만든다 ![](https://velog.velcdn.com/images/yoondonggyu/post/00058f84-a30d-468a-9eb8-b59f27d6755b/image.png)
→ 다람쥐 클릭 시 실행파일이 실행된다
→ msf로 공격당한 시스템을 크래킹 한다
→ arpspoof -i eth0 -t 192.168.10.224(win) 192.168.10.114(dns)
: 앞의 실습에서는(kali)# arpspoof -i eth0 -t 192.168.10.129 192.168.10.2
입력을 했는데 뒤에는 GW 주소인데 조별 실습에서는 실습 환경이 Bridge이므로
GW주소가 필요 없다
따라서 무조건 거쳐야하는 DNS 주소(숫자로 된 아이피 주소를 문자로 된 도메인
주소로 바꾸는 역할)를 입력해서 확인한다
● 시스템 구성(NAT) → Kali : 192.168.10.128 C class 192.168.10.2 192.168.10.2 → win 10 : 192.168.10.129 C class 192.168.10.2 8.8.8.8 ● 작업 → 명령어(터미널창 3개 띄워서 작업) # fragrouter -B1 # arpspoof -i eth0 -t 192.168.10.129 192.168.10.2 # tcpdump src 192.168.10.129 and port 80 → 위의 3개의 명령어를 실행 시킨 후에 창을 하나 더 띄워서 아래 작업 # driftnet -i eth0(일반사용자에서 명령을 해야됨) : 패키지 설치 후 동작 → 루트에서 하면 작동 안됨
→ samadal 사용자 창에서 실행(관리자가 아닌 일반 사용자에서 실행해야한다)
$ sudo driftnet –i eth0
→ 위의 창이 나오면 win10(129)에서 웹 브라우저 실행 후 이미지들을 클릭한다
: 해상도가 높으면 빠르기 안 나올 수 있다
→ 덤핑한 이미지는 /tmp/driftnet-it41C4 디렉터리에 저장되어 있다
: cd /tmp 하고 drif로 시작하는 디렉터리를 들어가면 파일들이 있다