ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ARP Spoofing
    카테고리 없음 2023. 3. 6. 11:29

    ARP Spoofing

    • 개요

    : 어떤 IP와 주소를 사용하는 시스템의 2계층인 데이터링크의 주소를 알아내기 위한 프로토콜

    : ARP는 Request와 Response로 이루어져 있다. (PC A에서 PC B로 데이터를 전송하는 경우의 동작)

    ; A는 IP를 누가 사용하고 있는지 ARP Request를 Broadcasting한다.

    ; B는 ARP Response(Reply)를 A에게 보낸다.

    ; A는 B의 MAC Address로 데이터를 전송한다.

    • ARP의 문제점

    : 응답자가 보낸 MAC의 진위여부를 확인할 수 없다.

    • 환경 설정

    : CentOS

    : Windows Server 2019

    : Windows 10

     

    -  Spoofing

    : Sniffing & Spoofing

    ; Sniffing (스니핑)

       -> 네트워크 상에서 자신이 아닌 다른  상대방들의 패킷 교환을 훔쳐보는 행위(도청을) 말한다.

      -> 종류

    : Passive Sniffing

       -> HUB(Switch)와 같이 모든 노드에 동일한 전기적 신호(동기신호)가 복제되는 경우에는 단순히 스니퍼만 동작시켜도 모든 패킷을 잡아내는 방법을 말한다.

    : Active Sniffing

      -> Switch 환경에서는 해당 포트로만 데이터가 전송되기 때문에 데이터 신호를 스니퍼가 설치된 시스템에 경유하도록 ‘유도’하는 방법을 말한다.

    ; Spoofing(스푸핑)

      -> Sniffing 공격의 대표적 기술을 말한다.

       ->외부의 악의적인 네트워크 침입자가 웹사이트를 구성한 후 사용자들의 방문을 유도하고 인터넷 프로토콜(TCP/IP)의 구조적 결함을 이용해서 사용자의 시스템 권한을 획득한 뒤 정보를 빼내가는 해킹 기법을 말한다.

       -> 잘 알려진 기업의 명의로 스팸 메일을 발송하거나 위조 사이트의 접속을 유도하는 기술과 로그인 하려는 컴퓨터가 허가받은 IP를 도용해서 로그인하는 기법 등을 총칭한다.

      -> 기법

    : ARP Spoofing

       -> MAC Address를 속여 LAN에서의 통신 흐름을 왜곡시키는 공격 기법

       -> ARP 테이블(arp -a)이 바뀌면 경고를 보내는 룰을 통해 어느 정도는 예방할 수 있지만 근본적으로 TCP/IP 프로토콜 자체 (공용프로토콜로써의 문제)의 문제이기 때문에 ARP Spoofing에 대한 보안 대책은 없다.

    : DNS Spoofing

       -> DNS에서 전달되는 IP주소를 변조하거나 DNS의 서버를 장악하여 사용자가 의도하지 않는 주소로 접속하게 만드는 공격 기법

    : IP Spoofing

      -> IP주소를 속이는 공격 기법

    : DNS Spoofing

      ; 공격 방법

    -> 사용자로부터 입력받은 도메인 주소는 DNS서버에 의해 IP주소로 변환된 후 서비스를 한다.

    -> 즉, DNS의 주소로 UDP프로토콜을 이용하여 질의하는 과정에서 ‘중간자 공격을 이용한 공격’ 또는 ‘DNS 주소의 변조가 되었을 경우’를 이용한 공격을 행한다.

      ; 실습

    -> 테스트 1.

      : 환경설정(NAT)

    -> Kali(Attacker)

    -> Windows 10 (Victim)

    -> Victim의 웹 브라우저에서 ‘www.samadal.com’ 창을 띄운다.   

       : 공격자와 희생자에서의 IP주소, G/W주소, MAC주소 확인

    -> 공격자

       (kali)# ip link show eth0



      -> 희생자

      (win10)  IP의 MAC주소 00-0C-29-53-7C-99

      (win10) G/W의 MAC주소 00:50:56:f0:94:33

     

    -> 설정되어 있는 MAC Address 확인 결과

      Kali 00:0c:29:53:7c:99

      Windows 10 00-0C-29-53-7C-99

      G/W 00:50:56:f0:94:33

    : 공격자에서 ARP

      -> 사이트 출력(잘된다.)

      -> 명령어 관련 패키지(dsniff) 설치

      -> ARP Spoofing

      -> 희생자의 G/W주소를 확인(arp -a)해보면 공격자의 MAC주소 변경된 것을 확인 arpspoof -i eth0 -t 192.168.10.129 192.168.10.2

      -> 사이트 출력( 안된다.)

    -> 테스트 2. CentOS 에서 DNS를 직접 만들고 위의 ‘테스트 1’을 실습한다. 

       : 시나리오

          -> CentOS에서 ‘DNS서버’ 구축한 후 Kali에서 ARP spoofing 후 Windows10에서 확인

       : 환경설정(NAT)

          -> Kali (Attacker)

          -> Windows 10 (확인)

          -> CentOS (Victim)

       : Kali에 새로운 호스트(Attack)를 부여하고 네트워크 재구성

          -> CentOS에서 호스트(Attack) 부여 

          -> Kali에서 CLI Mode로 네트워크 구성 (GUI Mode보다 우선한다.)

          -> Windows 10 에서 네임서버 조회

       : 사이트 출력

          -> Kali에서 웹서버 데몬(apache2)을 실행한다.

          -> Windows 10 에서 웹브라우저를 통해 ‘atttack.samadal.com’을 입력 후 출력한다.

          -> ‘apache2테스트 페이지’가 출력되어야 한다.

          

    kali vi /etc/network/interface

    이후  service networking restart 해도 안되면 

    service apache2 restart 해본다

    attack.samadal.com 만 128로 통하는거 보면 된다

     

    dns에서 정방향 역방향 attack 추가 해준다

     

     

    이후 다시 kali firefox에서 192 .168.10.128 때려본다

    안되면 ufw status 에 80/tcp 포트가 열려있는지 확인

    확인 완

     

    :Kali에서의 DNS Spoofing 공격

      -> Kali

    1. DNS spoofing 명령 실행
    2. arpspoof -i eth0 192.168.10.129 192.168.10.2
    3. arpspoof -i eth0 192.168.10.130 192.168.10.2

      -> Windows 10

    1. 사이트 출력(attack.samadal.com)
    2. ‘arp -a’를 통해 G/W 주소 확인 (Kali의 MAC 주소 확인)
    3. 사이트 출력(www.samadal.com)
    4. ‘arp -a’를 통해 G/W 주소 확인 (Kali의 MAC 주소 확인)

      -> centOS

     

    : 결론

      -> ARP Spoofing만으로는 사이트에 어떠한 변화도 줄 수가 없다.

      -> 다만 G/W 주소만 변경될 뿐이다.

     

    -> 테스트 3.

      : 선수 작업

    -> PHP 소스 코드를 이용한 웹 페이지와 DB를 연동해서 게시판 사이트 출력 페이지 생성

    -> 테스트4. 패킷 덤핑(패킷 포워딩) 및 가로채기

      : 환경설정

    -> Kali 192.168.10.128 /C Class /192.168.10.2/192.168.10.2

    -> Windows 192.168.10.129 / C class / 192.168.10.2 / 8.8.8.8

        : Kali에서 샥스핀을 미리 실행시켜 놓는다.

        : Putty랑 두 개를 실행시킨 후 다음의 두 명령을 각각 실행시킨다.

         -> arpspoof -i eth0 -t 192.168.10.129 192.168.10.2

    -> fragrouter -B1

        : Windows 10 에서 다음과 같이 실행한다.

    -> 웹브라우저에서 네이버 입력 후 검색창에 파이썬을 입력한다.

    -> 안전하지 않는 페이지…라고 출력되는지 꼭 확인한다.

        : 샥스핀에서 ‘httpd‘를 필터링 한 후 ‘info’ 항목에 /login/login_check.php’로 된 부분 확인

        : 결론

    -> 파일명이 나온다는 것은 보안상 취약하다는 것을 말한다.

    -> 정리 (지금까지 작업한 내용 요약)

        : Step 1. arpspoofing을 이용해서 공격대상 시스템의 ARP 캐시 정보 변경

    -> arpspoofing -i eth0 -t 192.168.10.129 192.168.10.2

        : Step 2. 패킷 포워딩(Packet Forwarding) 설정

    -> fragrouter -B1

        : Step.3. 덤핑 및 가로채기

    -> tcpdump src 192.168.10.129(Client IP) and port 80

    : Client의 80번 포트를 사용하는 모든 IP들을 덤핑한다.

    : 만약, 화면에 아무것도 안 나타나면 화면에 있는 링크를 아무거나 클릭한다.

    -> sudo driftnet -i eth0

    : 패킷을 덤핑할 떄 이미지까지도 덤핑하게 해준다.

    : arpspoof, fragrouter, tcpdump 명령이 모두 실행된 상태에서 해야한다.

    : root가 아닌 일반 사용자에서 실행해야 한다.

    : 작은 창이 나타나면 Windows10에서 사이트를 출력한 후 이미지를 열나게 광클릭

    : 캡처된 이미지는 ‘tmp’ 디렉터리를 확인

     

    -  Spoofing

     

    netenum 192.168.10.0/24 3 0 하면 그 대역대에 있는 사용자 IP 가 다 뜬다 

    내꺼 막는 방법은 password를 바꿔주면 된다 passwd

    ssh 192.168.10.(상대ip) 하고 접속 된 후 dns 서버 찾고 vi /etc/resolv.conf 로 찾으면 됨

    db는 아직 못찾음..

     

Designed by Tistory.