본문 바로가기

네트워크 관련/네트워크

[DNS Spoofing] 예제실습과 hosts정리

주의!! 본 게시글은 교육목적으로 교육받고 정리한 게시글입니다. 악용하셔서 받으시는 법적 처벌은 절대 책임지지 않습니다

Spoofing이란?

말그대로 '속이다' 라는 뜻으로 IP를 붙이면 자신의 IP를 속이는것, arp spoofing은 arp를 속이는것입니다.
즉. DNS Spoofing은 자신의 DNS정보를 속여 다른 시스템을 공격할때 사용합니다.


해보기전 hosts의 원리를 먼저 아셔야 합니다.

Hosts란?

이런 파일이 있을겁니다


봐도 이해가 안가시겠지만 #은 주석이고 주석은 코드로 이해하지 않으니 그냥 지나치는것 정도는 아시겠죠?


이해를 돕기위해 실험을 해보겠습니다

CentOs로 웹서버를 열어놓고 웹서버의 IP를 넣고 해당 도메인을 입력하고 저장해줍니다.


그리고 www.naver.com을 들어가주면 이렇게 네이버가 아닌 CentOs에 있는 웹서버의 페이지로 접속이 됩니다




무슨원리로 이런 일이 벌어질까요?



그림을 보면 쉽게 이해하실 수 있습니다.
1. rednooby.tistory.com 으로 가려고 요청을 했습니다.
2. 빠른 접속을 하기위해 컴퓨터내부에서 Host파일안에 rednooby.tistory.com에 대한 경로가 있나 찾아봅니다
Yes: 등록된 주소대로 연결시켜줍니다.
No: DNS서버 검색을 시작합니다.
3. 그렇게 DNS서버 검색을 해서 찾으면 정보를 PC로 가지고 오는 순서입니다.

왜 굳이 이렇게 해야하나?

속도차이입니다. DNS서버를 검색하는것 보다는 내부에 있는 정보를 활용 하는것이 훨씬 빠르기 때문입니다.
하지만 요즘엔 네임서버들이 워낙 잘되어있고 인터넷속도도 빠르기 때문에 일반적인 웹서핑에는 속도차이가 나지 않습니다.



실습으로 알아보겠습니다

필요한 시스템

kali(attacker)
IP:    192.168.110.128
mac: 00:0c:29:b0:b2:24
win7(victim)
IP:    192.168.110.129
mac: 00:0c:29:22:9b:69

오늘 저는 arspoofing, ip forwarding, dns spoof를 같이 사용하겠습니다.
먼저 희생자(victim)pc의 방화벽과 윈도우 업데이트를 off 시켜줍니다.


win7의 DNS서버 주소를 Gateway 밖에있는 곳으로 설정합니다

그래야 공격자보다 늦게 도착을해서 누락시켜버립니다.



먼저 가짜 웹서버로 쓰일 서버를 열어줍니다.



tmp안에 hosts파일을 만들어서 앞에서 배웠던대로 입력해줍니다.

naver.com으로 접속하면 공격자1의 웹서버로(강사님 웹서버입니다)

daum.net으로 접속하면 방금 열어준 웹서버로 접속하게 됩니다.



arpspoof를 해줍니다

-t: 타겟

110.129는 win7

110.2는 Gateway입니다.



포트포워딩을 활성화 시켜줍니다(새 터미널에서)


dnsspoof 활성화(새 터미널에서)


이제 공격준비가 완료되었습니다


win7으로 와서 잘 먹히고 있는지 확인합니다

cmd창에서 nslookup으로 www,naver.com과 www.daum.net를 쳐주게되면

0.121과 110.128이 물려있는것을 확인하실 수 있습니다.



페이지에서 직접 확인을 했습니다.

www.naver.com의 페이지가 192.168.0.121의 웹서버로 가게 되었습니다, 



이 페이지는 정상입니다

제가 칼리에 /var/www/html/에 있는 index.html을 태그를 다 지워버려서 이렇습니다.

html수정하시거나 기본값하시면 이렇게 안나옵니다~!

어쨋던 www.daum.net도 저의 웹서버에서 가져왔습니다.



와이어 샤크로 패킷을 잡아보겠습니다.

안보이시는분은 클릭하셔서 보십시오


먼저 129(win7)에서 출발하여 8.8.8.8을 도착지로 보냅니다

그러면 칼리가(칼리맥주소) 129(win7)에게 자신의 hosts안에 정보로 먼저 보내버립니다.

그리고 진짜 naver.com정보가 왔지만 이미 값이 들어왔으니 반응이 없고 버려짐을 확인하시면 되겠습니다.




종합정리.

공격자가 해당 도메인을 입력시 자신이 원하는 페이지로 들어갈 수 있게 hosts를 수정한다(kali에서)

피해자가 해당 도메인을 입력하면 공격자에서 감지를 해서 진짜 정보가 들어오기전에 자신이 심어놓았던 웹서버의 페이지로 갈아치워 버린다.




본 게시글은 수업받으며 제가 이해한 대로 정리한 글입니다.

틀릴수도 있으며 지적해주시면 수정하겠습니다