오늘은 DNS Spoofing 프로그램을 이어서 완성해보겠다.

어제까지 DNS 패킷까지 필터링 하는 것까지 했다.

이제 DNS 응답 패킷을 만들어서 보내주면 된다.
가짜 IP주소로 192.168.3.151로 보내줄 것이다.
여기에 가짜 사이트를 만들어두었다.



(가짜 사이트)



이 사이트로 유도할 것이다.

어제까지 만들었던 것에서 DNS 데이터의 모양을 확인해보겠다.




(이전까지 만들었던 코드)




(DNS 패킷 전송)




(데이터 출력 화면)



여기서 우리는 출발지 주소와 목적지 주소를 교환해서 입력해줄 것이다.

DNS 응답 내용을 채워서 보낼 것이다.




(패킷 채우기)




(패킷 채우기)



(결과 확인)




(결과 확인)



결과를 보니 잘 들어가는 것을 확인 할 수 있다.
뒤에 0들이 있는 부분에 answer 필드를 채워서 보낼 것이다.




(answer 필드)




(결과화면)




결과화면을 보니 Answer필드도 채워졌다.
이제 이대로 전송하면된다.

전송 결과
피해자가
naver.com를 입력하니 가짜 사이트로 접속되는 것을 확인 할 수 있었다.









(1)에서
ARP Spoofing까지 프로그램을 마무리했다.

그리고 포워딩 기능을 추가하기로 했는데
포워딩을 그냥 윈도우의 라우팅 서비스를 이용할 것이다.

이제 받아온 패킷에서
DNS 패킷을 구별하고
www.naver.com 특정 도메인 네임에 맞는 패킷들을
필터링 할 수 있어야
그 패킷에 대한 응답을 먼저 할 수 있다.
그리고 그래야 DNS Spoofing을 할 수 있다.

먼저 DNS 패킷을 구별해보자.

DNS는 53번 포트를 사용하므로 udp 헤더의 도착지 포트번호를 확인하면 된다.




(DNS 포트 53번 확인)




(DNS 패킷 생성)





(DNS 패킷이 수집된 모습)



DNS 내용이 수집된 화면이다.
맨 앞 두바이트가 Trx ID이고 (DNS Spoofing때 필요한 항목이므로 뽑아낼 수 있어야한다.)
그 다음 2바이트 0x0100 Flag가 보인다.
그 다음 2바이트 Question, Answer, Authority, addional 이 보인다.
그리고 3으로 시작하는 DNS 주소가 보인다.
DNS 패킷이 맞는걸 확인 할 수 있다.

이제 여기서 DNS Question의 주소부분만 떼올 수 있어야한다.
unpack을 사용해서 질문 필드만 떼어내 보았다.




(쿼리 내용 추출)





(내용 화면)



처음에는 출발 포트번호 53번도 적용시켜서 응답까지 봤는데
잠깐 우리가 패킷을 분석하면서 확인해야하므로
목적지 포트 53번만 검사하도록 잠깐 수정했다.
(또, 내 호스트에서 나가는 패킷으로 검사할 것이므로 내 패킷이 보이도록 수정했다.)




(확인을 위한 수정)





(www.naver.com 검색)





(결과화면)



naver 를 검색한 DNS 패킷 내용만 잘 출력되는 것을 볼 수 있다.

여기서 DNS Spoofing에 필요한 정보
1. Src Port Number
2. Transaction ID
3. DNS 물어보는 내용

위 내용을 확인해보도록 하겠다.




(확인 코드)




(결과)



이제 여기서 주소 도메인 네임만 정확히 뽑아내야한다.

그러기 위해 바이트형식으로 되있으니 decode()를 해주었다.



(decode() 코드 추가)





(결과 화면)



www.naver.com이 잘 보인다.
이제 이 것을 문자열로 뽑아내는게 일이다.



(도메인 부분만 뽑아내는 코드)



(결과 화면)



도메인 네임만 잘 보이게 되었다.

이제 다시 src_ip != 100 으로 수정하여 나의 IP를 제외한 다른 패킷들을 볼 것이다.
조건을 수정해주고

ARP Spoofing을 해준다음
아래의 코드를 실행시켰다.
그리고 피해자는 www.naver.com에 접속하였다.





(완성한 코드)





(입력한 naver.com가 보인다.)



피해자가 보낸 패킷의 내용을 덤프 받을 수 있고
확인 할 수 있었다.

여기 까지 했으니 (3)에서는
이 패킷을 받아서 naver.com을 물어보는 패킷에 대해
응답패킷을 만들어서 피해자에게 보낼 것이다.

그렇게 되면 DNS Spoofing 공격에 성공하게 되는데
그 결과를 확인해 볼것이다.




DNS의 동작 까지 확인해보았고
오늘은
DNS 동작을 이루는 패킷이 어떻게 이루어져 있는지 분석해보겠다.

호스트의 DNS IP주소를 확인해보겠다.




(DNS 서버 주소)



164.124.101.2 로 되어있다. 아래 IP주소도 맞다.
DNS 캐시 서버이다.

이제 패킷을 덤프해서 확인해보겠다.
와이어샤크 실행
간단하게 캡쳐 필터링 룰을 설정하였다.




(캡쳐 필터링 룰 설정)



멀티캐스트를 제거하였다.
멀티캐스트와 브로드캐스트를 제거해야하는데 지금보니
위에 오타가 있었다. :)

간단한 룰을 설정해주고 naver.com에 접속하였다.
(도메인 네임을 가지고)




(naver.com 입력)



그리고 디스플레이 필터 룰을 dns 로 설정하여
dns 패킷만 확인하였다.
아래 화면에
같은 Trx Id 를 가진 패킷들을 빨간색 표시해두었다.




(DNS 패킷)



디스플레이 필터링 룰을 dns.id == 0x0e68 로 설정하여
해당 아이디의 패킷만 필터링 하였다. (보기 좋게)



(필터링 룰 적용)



이제 query (Qeustion) 패킷부터 살펴보겠다.




(Trx ID)



DNS query 패킷의 첫번째 요소는
Transaction ID 이다.
UDP 통신이기 때문에 패킷을 구별할 수 없다. 그렇기 때문에 이 ID가 존재하고
이 ID로 해당 질문에 대한 답변을 구분 한다.




(Flag)



두번 째는 Flag이다.
질문, 응답 등의 패킷 타입을 결정한다.




(Question)



Question 필드에는 물어보는 도메인 네임의 수이다.
보통 한개가 생기면 바로 물어보기 때문에
한개 이상의 패킷을 보기는 힘들다.




(나머지 필드)



나머지로 Answer , Authority, Addional 이 있다.
Answer는 질문에 대한 답이고
Authority는 그 답에대한 근거(?) 출처(?) 정도이다.
Additional은 추가적인 내용이 붙는다.

정리하자면
DNS Header
 1. transaction id (2바이트)
 2. Flag (2바이트)
 3. qeustion(2바이트)
  - 질의 갯수
 4. answer(2바이트)
 5. authority(2바이트)
 6. additional(2바이트)

이렇게 구성되어있다.
도메인 네임의 전송을 살펴보겠다.



(www.naver.com 이 담겨져 있는 모습)



살펴보면
먼저 문자의 수가 나온다. 03, 그 뒤로 www (77 77 77) 이 나온다.
그리고 다시 문자의 수 05, 그리고 naver 5글자가 나오고
마지막으로 03 , com 3글자가 나온다.




(응답 패킷)



응답 패킷을 보면
DNS 헤더의 똑같은 양식에
응답부분이 채워져서 전송되었음을 확인 할 수 있다.

그러면 위에서 작성했던 도메인 네임을 여러번 쓸까?

그렇지 않다.
패킷을 잘 보면 c0 이 보이는데
c0은 포인터라는 뜻이다.
c0 뒤에 2b는 43이라는 숫자로 DNS 헤더의 43번째에 있는 주소를 나타내는 뜻이다.



(포인터 표시)



지금까지 DNS 패킷을 분석해보았다.

이제 DNS 패킷을 조작하여 할 수 있는 공격기법을 살펴보겠다.

* DNS Spoofing
- DNS를 속이는 공격 기법
 - trx id와 포트번호를 맞춰야한다.
 - Birthday Attack(추측성 공격, trx id를 추측하는 공격기법)
 - 그래서 보통 ARP Spoofing과 함께 공격을한다. (클라이언트가 대상일때)
 - 스푸핑 환경을 만든 후에 공격을 한다.
 - 공격자와 피해자가 같은 환경에 있어야한다.


DNS Spoofing을 해볼 것이다.

우리가 작성해야할 프로그램
1. ARP spoofing (pcap library를 이용)
 1) arp cache poisoning
 * ARP request 메세지를 작성하여 스푸핑
 * 브로드 캐스팅은 사용하지 않는다
 * 유니 캐스팅을 할 수 있도록 작성
target : 192.168.3.99
 - mac : 90-9f-33-ec-cc-37
attacker : 192.168.3.100
 - mac : 90-9F-33-EC-CB-0B
게이트웨이
 00-10-f3-4e-58-40

2. DNS spoofing (pcap library를 이용)
 
0) packet forwarding
  - 자기 패킷이 아니라면 원래 목적지로 포워딩
 1) DNS Query 패킷을 모니터링
 2) 타겟 도메인(www.daum.net) 모니터링
 3) 속이려고 하는 도메인에 대한 DNS 쿼리
     패킷이 검출되면 가짜 응답을 만들어서 전송해준다.
  - 출발지 포트번호와 TRX id 정보를 알아야 한다.

먼저 ARP Spoofing도구를 만들것이다.
(이건 우리가 전에 작성했던 코드로 바로 여기서 사용하겠다.)




(ARP Spoofing 코드)



이 프로그램으로 ARP 스푸핑이 된 결과를 확인 할 수 있었다.

두번째로
DNS Spoofing을 해주는 프로그램을 만들 것이다.
우리가 ARP 스푸핑을 해서 스니핑을 할 때 포워딩 기능이 없었다.
그래서 DNS Spoofing 코드에 포워딩 기능을 추가할 것이다.

먼저 포워딩 기능 부터 구현해보겠다.

arp_cache_table 변수는
subprocess를 이용해 arp table을 받아 가지고 있는 arp table이다.
IPv4 패킷만 걸러내보겠다.




(IPv4 필터링)




(결과 화면)



끝에 2048이 16진수로 0x800이다. IPv4만 걸러낼 수 있다.

여기서 IP 주소를 보고 구별 할 것이다.

나에게 오는 것이 아닌것 그리고 브로드캐스팅 되는 것 멀티캐스팅되는것을 제외하고는
포워딩을 해줘야할 필요가 있다.
그 패킷들만 필터링 해보겠다.



(포워딩할 패킷 필터링)



자 여기까지 포워딩이 되야할 필터링을 마쳤다.
이제 ARP 스푸핑과 지금까지 작성됬던 프로그램을 동작시켜서
포워딩 해야할 패킷들이 잘 필터링 되는지 확인해 보겠다.
두개 같이 동작 시킨후
피해자가 8.8.8.8 외부 IP로 핑 메세지를 보냈다.



(결과화면)




결과 화면을 보면
99(피해자)가 보낸 핑 메세지들이 필터링 되서 내 화면에 출력되고 잇는 것을 확인할 수 있다.

이제 여기서 포워딩을 추가해주고
DNS Spoofing 프로그램을 만들어 보겠다.


 

 

 

어제에 이어서  DNS서버 구축을 마무리 해보겠다.

도메인 설정

 설정 도메인 : 100.A.localdomain.com  (내가 해야할 DNS  서버 이름)

 

 

(vi 편집기를 이용해 복사한 zone 파일을 연다.)

 

 

복사된 샘플 zone 파일이다.

 

(복사된 샘플 zone 파일)

 

 

레코드(항목)
  - SOA ( Start Of Authority ) 도메인에대한 권한을 가지고 있는 것
  - NS ( Name Server ) : Name 서버에 대한 주소
  - A  (Address) : 주소.

 - IN   ( Internet 클래스 )
 TTL : 조회해간 IP주소를 얼마동안 참조할 것인가. 1D 는 하루동안 참조한다는 뜻이다.
 @ : 대체문자  나의 경우 100.A.localdomain.com 파일이름을 대신 적어주는 것이다.
      도메인 이름으로 주소를 적는다면 100.A.localdomain.com.  이렇게 마지막에 점을 찍어줘야한다.
      도메인 이름이 끝난다는 표시이다. 반드시 찍어줘야한다.
 
 serial : 도메인 네임에 대한 식별자. 보통은 날짜를 적어주는 것이 일반적이다. 
 refresh : TTL과 같다.
 expire : 파기시간
 minumum : 최소시간

 

 

 

(설정)

 

 

나는 이렇게 설정하였다.
DNS 서버 이름은 100.A.localdomain.com 이고
내가 가지고 있을 win 호스트의 주소를 적어주었다.

 

 

(파일 권한 보기)

 

 

DNS  서버를 실행시키기 전에 파일 권한을 확인해보았다.

읽기 권한이 없으면 zone파일에서 읽어서 주소를 알려줘야하는데
못알려주기 때문이다.
위 화면처럼 확인해보니 root 권한만 존재했다.

파일의 권한 설정을 해주었다.

 

 

(파일 권한 설정)

 

 

권한부여까지 끝났으면
DNS 서버를 실행시켜준다.

 

 

 

(DNS 서버 실행)

 

 

 

실행 화면을 확인해보겠다.

현재. 내 DNS 주소와 win 호스트 하나의 주소밖에 입력되지 않았다.

 

 

 

(nslookup 으로 확인해보는 화면)

 

 

 

확인해본결과 도메인 네임에 대한 주소를 잘 알려주고 있다.

 

 

(호스트 추가한 모습)

 

 

 

나 이외에 다른 호스트들도 추가한 모습이다.

 

 

 

(다른 도메인 네임의 영역까지 주소가 잘 전달되는 모습)

 

 

 

나는 A 도메인 안의 100이라는 DNS 서버를 만들었고
전체적으로 localdomain이라는 DNS 서버로 묶여져있었다.

마지막까지 잘 동작하는 것을 확인한 모습이다.

오늘은 정확히 말하면

공격, 모의해킹은 아니다.
하지만 모의해킹의 칼럼에 글을 올리는 이유는
DNS 서버 구축을 이용해 다른 공격을 할 수 있기 때문이다.

그래서 오늘은 DNS 서버를 구축하는 과정을 공부했다.

bind라는 프로그램을 사용할 것이다.
먼저 설치 과정이다.



(bind9 설치 명렁어)



설치가 끝나면
구성 파일부터 볼것이다.
명령어 : cd /etc/bind

ls 를 입력해서 목록을 확인해보면
db.local 파일이 보인다. 바로 여기에 zone 파일의 샘플이 들어있다.




(파일 목록)



우리는 zone 파일을 작성해야한다.
zone 파일은 도메인 네임과 IP를 매핑한 정보가 들어있는 파일이다.
DNS 서버 동작 과정에서 zone 파일을 읽어서 도메인 주소를 IP 주소로 바꾸어주는 것이다.

샘블인 db.local을 복사해서 쓸것이다.



(복사 화면)


명령어 cp db/local db.zone

파일은 db.zone으로 복사되는 것이다.



(vi 편집기로 연다)



vi 편집기로 복사한 파일을 열어준다.

여기에 이제 우리가 원하는
도메인 네임과 IP주소를 매핑시켜서 작성해주면 된다.



(작성한 모습)



이제 이 작성한 파일의 경로를 conf 파일에 설정해줘야한다.

named.conf.local 파일을 수정할 것이다.



(vi 편집기로 연다.)




아래와 같이 수정해준다.



(수정 화면)




자 이제 여기까지 DNS 서버 설정은 끝났다.

DNS 서버를 재시작 시켜준다.
명령어 : service bind9 restart




(재시작)



이제 우리가 설정한 DNS 서버로 DNS 서버 지정을 해줄 것이다.
DNS 서버 설정은
/etc/resolv.conf 파일에 있다.
vi 편집기를 이용해 수정할 것이다.



(DNS 설정 파일)




우리가 만든 DNS 서버 주소와 이 DNS 서버에 없는 정보를 얻기 위해
168.126.63.1 주소도 추가해주었다. (이 주소는 한국 DNS 서버 주소다.)



(DNS 서버 설정화면)



ping 으로 humanist.hum.kr 을 입력해보았더니
IP주소
192.168.1.100 으로 잘 매핑되어 ping이 나간다.



(잘 매핑된 IP주소)



이제 컴퓨터를 바꾸어서 다른 리눅스를 틀어서 확인해 보겠다.

마찬가지로 /etc/resolv.conf 파일에 우리가 만든 DNS 서버를 등록시켜주었다.



(DNS 서버 등록)



dnsmap 을 이용해 humanist.hum.kr  이 IP주소로 잘 매핑되는 검색했다.



(dnsmap)





(결과화면)




결과 화면을 보면
우리가 설정했던 (작성했던) 대로 IP주소가 나오는 것을 확인 할 수 있다.

이렇게 DNS 서버 구축을 해보았다.
(잘 동작하는)



'Linux' 카테고리의 다른 글

Linux(Kali) - iptables 방화벽 구축  (0) 2017.01.17

오늘은 DNS에 관해 알아볼 것이다.

* DNS ( Domain Name System )
 - 문자 주소 사용을 가능하게 해주는 서비스이다.
 Domain Name (문자주소)란?
 ex) www.naver.com 이런 형태의 주소이다.

이 주소로는 통신을 할 수 없다. 실제로 통신하는 것은 IP주소로 통신하기 때문이다.
우리가 편하게 쓰려면 우리가 알아보기 쉬운 문자주소를 IP주소로 바꾸어주는
서비스가 필요하다. 바로 이 서비스가 DNS 이다.


도메인이란 영역을 묵어주는 것이다.

국가 Domain ( .kr  ,  .jp   ,   .de   ,   .be  ...  )
국제 Domain  (  .com   ,   .net   ,   .org   ,  ... ) -> 나라와 상관없이
교육 Domain ( .edu ... )
미국 Domain  ( .gov  )

Root DNS  -> 최상위 DNS 서버 총 세계에 약 7~8대 정도 모든 도메인을 관리한다.

Domain 이름에 대한 정보를 가지고 있는 서버 DNS 서버

- 트리구조의 계층 구조다.

DNS 역할
-> 이름 주소를 주면 IP 주소를 알려준다.
ex) www.naver.com 주소를 물어볼때의 동작
1. Root DNS 에 먼저 물어본다.  ( .com ) 의 DNS서버 주소를 물어본다.
2. .com  DNS에 .naver 의 DNS 서버 주소를 물어본다.
3. .naver DNS에 www의 주소를 물어본다.
-> 역질의구조  (위에서부터 물어보면서 내려온다.)
(지금은 이렇게 동작하지 않는다.)
-> 이렇게 하면 시간이 너무 오래걸린다.


그렇기 때문에!
DNS 캐시 서버를 둔다.

* DNS cache Server
(우리는 이 캐시서버를 사용하고 있는 것이다.)
클라이언트는 제일 먼저 캐시서버에게 Domain Name 주소를 물어본다.
캐싱 : 적어둔다. 적어둔 내용을 일정 시간동안 보관한다.
다른사람이 같은 주소를 물어보면 보관된 내용을 돌려준다.
역질의는 캐시서버가 따로한다.
우리는 캐시서버와만 통신을 해서 주소를 받아온다.
ex) DNS 캐시서버
163.126.63.1
8.8.8.8


이제 우리가 직접 DNS 서버를 구축해볼 것이다.

리눅스에서 DNS 서버를 구축하기위해
bind를 설치해서 이용할 것이다.


(설치 완료모습)



bind를 설치하였다.

먼저 DNS 캐시서버를 만들어보겠다.

이 과정은 간단하다.
설정만하고 실행시켜주면 되기 때문이다.

설정해야하는 파일은
/etc/named.conf 파일이다.
vi 편집기를 이용해 /etc/named.conf파일을 열어준다.




(/etc/named.conf 수정)




(/etc/named.conf 수정)



빨간색 표시 부분을 any로 고친다. 저 부분은 모든 호스트들에게 DNS를 해주겠다는 것이다.
접근 리스트이다.

그리고 DNS서버를 실행시켜준다.




(DNS 서버 실행)



netstat로 확인해보니
tcp, udp 모두 53번 포트가 열려있는 것을 확인 할 수 있다.

이유는
DNS는 53번 포트를 사용하기 때문이다.

그렇다면 이제 캐시서버 설정은 끝이다.
과연 잘 돌아갈지 직접 DNS 서버를 내가 만든 서버로 지정해보았다.



(DNS 서버 지정)





(인터넷 화면)



인터넷이 잘 되는 모습이다.
내가 만든 DNS 캐시 서버가 잘 동작하고 있음을 알 수 있다.

DNS가 잘 동작하는지 직접 인터넷으로 확인해보는 방법도 있지만
다른 도구도 있다.
nslookup 이다.

윈도우의 cmd 창에서 nslookup을 사용하여 보았다.



(nslookup 사용 화면)



nslookup은 리눅스에서도 마찬가지로 똑같이 사용할 수 있다.




(리눅스 nslookup)



캐시 서버가 잘 동작하는 것을 nslookup을 이용해서까지 확인했다.

이제 실제로 DNS 서버를 구축해보겠다.
실제 Domain Name을 사는 것은 돈이 드니
간단하게 사설망에서 임의로 만들어보겠다.

먼저 DNS 서버를 안정적으로 돌리기 위해 IP 주소를 정적으로 바꾸어주었다.



(IP 설정)



그 후 /etc/named.rfc1912.zones 파일을 수정해주어야한다.

만들어볼 DNS 서버는
최상위 DNS -> " localdomain.com "가 있고 그 아래로 A, B, C, D 가있다.
또 그 아래로 다른 DNS 서버들이 있는 형태이다.
A - 100
   -  88
   - 12

나는 A 도메인에 속해있는 100번의 DNS 서버를 구축해 볼것이다.
정리하면
100.A.localdomain.com 의 주소를 가지는 DNS 서버를 만들 것이다.

먼저 vi 편집기를 이용해 /etc/named.rfc1912.zones를 추가해줘야한다.




(/etc/named.rfc1912.zones 화면)




(/etc/named.rfc1912.zones 화면)



여기 아래에 우리가 설정한 DNS 이름을 추가할 것이다.




(/etc/named.rfc1912.zones 추가 모습)



내가 관리하려는 100 DNS 아래 win 의 주소는 여기에 적지 않고 다른 곳에 적어주어야한다.
여기는
내가 만드려는 DNS 서버의 이름을 적어주는 것이다.

자 설정이 잘 적용됬는지 확인해 본다.
명령어 named-checkconf 를 이용해서 파일이 오류가 없는지 체크해본다.




(체크 화면)



아무것도 뜨지 않으면 오류가 없는 것이다.

우리가 관리할 win의 주소를 설정해 보겠다.

아래의 화면처럼 이동해준다.



(이동)



위 화면을 보면 우리가 적어야할 설정 파일이 보인다.
우리는 저 파일의 형식으로 써야하므로
저 파일을 복사해서 사용하겠다.



(우리가 수정해야할 복사본 파일)



복사 까지 했다면
이제 우리가 관리할 DNS 서버의 정보들을 적어주면 된다.
내일 이어서 DNS 서버를 만들어 보겠다.
:)


오늘은 DNS Spoofing 공격을 해볼 것이다.

DNS Spoofing이란 DNS 서버를 조작하거나, 호스트에게 잘못된 DNS 정보를
보내어 잘못된 DNS 정보를 전달해 원하는 IP 주소로 이동하게 하는 것이다.

( 이 공격은 불법이므로 실제로 사용해서는 안됩니다.
 반드시 가상환경을 구축하거나 개인적으로 실험하세요 )
( 본인이 책임져야 됩니다.)

DNS 스푸핑을 쉽게 말하면
피해자가 naver.com 으로 입력했는데 다른 공격자가 원하는 사이트로 이동하는 것이다.

공격 환경
공격자 : 칼리리눅스 (120번 IP)
피해자 : 윈도우 ( 4 번 IP)

공격자인 내가 피해자가 naver로 접속할 때 학교 사이트로 넘어가게 할 것이다.

DNS 서버를 건드리는 것은 불법이므로
피해자의 DNS 캐쉬 테이블을 조작해서 공격을 성공시키겠다.

DNS 스푸핑을 하기 위해 칼리리눅스의 ettercap 툴을 이용할 것이다.
Ettercap 툴은 유명한 MTM 공격 툴로 우리의 공격목적에 알맞다.

먼저
Ettercap을 이용해서 dns spoofing을 조작할 것이므로
DNS 테이블을 조작할 것이다.

공격 계획은 이러하다.
1. 조작된 DNS 테이블을 만든다.
2. 피해자와 게이트웨이 중간에 들어간다. (MTM)
   (ARP Spoofing을 이용해서)
3. DNS Spoofing을 한다.
4. 게임 끝!



(dns 파일로 접속)





(naver 의 주소를 학교 IP주소로 변경한다.)



"*" 표시는 무엇이 들어와도 괜찮다는 이야기이다.
그래서 표현을 *.naver.* 으로 해준 것이다.

자 이제 테이블도 준비됬고 이 정보를 뿌리면 된다.
Ettercap을 열어준다.



(열어서 Unified sniffing 을 클릭한다.)








(네트워크 인터페이스를 선택)





(호스트 스캔한다.)





(스캔된 리스트 화면)






(타겟 설정)



타겟으로 게이트웨이와 피해자 호스트로 설정한다.

이 둘 중간에 들어가서 ARP Spoofing을 먼저 할 것이다.





(ARP 스푸핑)



ARP 스푸핑을 한다.
sniffer remote connections 을 선택한다. 이것은 포워딩도 같이 해주겠다는 것이다.

자 그럼 여기 까지 MTM 까지 왔다.

이제 DNS Spoofing을 해주면 된다.




(DNS Spoofing을 선택해준다.)



이제 피해자는 인터넷 주소창에 naver.com 을 입력하면
DNS 캐쉬 테이블에 적혀있는 아이피 주소로 바로 이동할 것이다.




(DNS 스푸핑된 모습)



naver.com에 입력했지만
naver가 아닌 다른 사이트가 열린다.

이로써 DNS Spoofing 공격을 성공했다.





+ Recent posts