Network/Network

스니핑과 스푸핑

🌐 스니핑(Sniffing)


스니핑(Sniffing)은 네트워크 상에서 자신이 포함되지 않은, 다른 상대방들의 패킷 교환을 엿듣는 공격 방법을 말한다. 쉽게 말하면, 타인의 네트워크 트래픽을 도청하는 과정이라고 할 수 있다. 이 때 사용되는 도구가 스니퍼(Sniffer)다. 

 

🤜 스니핑 공격 방법

컴퓨터에서 스니핑 공격이 발생하는 것은, 일반적으로 작동하는 IP 필터링과 MAC 주소 필터링을 수행하지 않고, LAN 카드로 들어오는 전기신호를 모두 읽어 다른 상대방들 사이의 패킷을 관찰해 정보를 유출시킨다. 

 

스니핑 공격은 앞서 말한 필터링을 무시하고, 모든 트래픽을 볼 수 있는 Promsicious Mode(무차별 모드; 유무선 네트워크 인터페이스 컨트롤러를 위한 모드로, 컨트롤러가 수신하는 모든 트래픽이 중앙 처리 장치로 전달)로 설정해 트래픽을 도청한다. 

 

① 스위치 재밍 공격 (Switch Jamming Attack; MACOF Attack)

스위치가 MAC 주소 테이블을 기반으로 포트에 패킷을 스위칭할 때 정상적인 스위칭 기능을 마비시키는 공격 방법이다. 스위치는 관리하는 MAC 주소 테이블이 갇그차면 허브처럼 패킷을 브로드 캐스트하도록 되어 있는데, 이러한 점을 악용해 위조된 MAC 주소를 계속해서 스위치에 전달하고, 위조된 MAC 주소로 MAC 테이블을 가득 채우게 되면 브로드 캐스트로 인해 모든 패킷을 공격자가 받을 수 있게 된다. 

 

② SPAN Port Tapping/Mirroring Attack

스위치가 가지고 있는 포트 미러링(Port Mirroring) 기능을 이용한 공격 방법이다. 이 때, 포트 미러링이란, 스위치의 어떤 포트에서 확인할 수 있는 패킷 또는 전체 네트워크에 속한 모든 패킷들을 다른 모니터링 포트로 복제하는 기술을 말한다. 공격자를 이러한 기능을 악용해 미러링 된 포트에 다른 포트에 전송된 데이터를 동일하게 전달받아 모든 정보를 볼 수 있게 된다. 

 

③ ARP Redirect Attack / ICMP Redirect

ARP Redirect는 공격자가 자신이 라우터인 것처럼 속여 도청하는 방법으로, 위조된 ARP Reply를 주기적으로 브로드캐스트함으로 주변 기기들이 공격자를 라우터로 인식하도록 하고, 외부로 전달되는 모든 패킷이 공격자를 거칠 수 있도록 한다. 공격자는 ARP Redirect를 통한 스니핑 이후 패킷을 IP Forwarding으로 Gateway에 전달해 공격자임을 숨길 수 있다.

 

ICMP Redirect는 ARP Redirect와 비슷하며, 공격자는 라우터인 척 하며, 최적의 경로라고 수정된 ICMP Redirect를 보내 데이터를 전달받는다. 


🤛스니핑 탐지/방지 방법

① Ping 을 이용한 탐지

공격자로 의심이 되는 호스트에 네트워크에 존재하지 않는 MAC 주소로 위조된 ping을 보내면 전송 계층에서 다시 reply를 보내게 된다. 만약 스니핑을 하지 않는 일반적인 호스트라면 ping request를 볼 수 없는 것이 정상이다.

 

② ARP를 이용한 탐지

위조된 ARP request를 보냈을 때 ARP Response가 온다면, Promisicous 모드로 설정된 것이므로 탐지가 가능하다.

 

③ DNS를 이용한 탐지

일반적으로 스니핑 프로그램은 스니핑한 시스템의 IP주소에서 DNS의 이름을 해석하는 과정인 Reverse-DNS lookup(역방향 DNS 조회) 과정을 거치고, 이를 감시하면서 탐지가 가능하다.


🌐 스푸핑(Spoofing)


스푸핑(Spoofing)은 외부의 악의적인 사용자가 임의로 웹 사이트를 생성해, 일반 사용자들의 방문을 유도하고 TCP/IP의 구조적 결함을 이용해 사용자의 시스템 권한을 획득해 정보를 탈취하는 공격 방법이다. 

네트워크 상에서 스푸핑의 대상은 MAC 주소, IP 주소, Port 등 네트워크 통신과 관련된 모든 것이 될 수 있다.

 

🤜 ARP Spoofing

ARP 스푸핑은 LAN 내부에서 ARP 메시지(주소 결정 메시지; IP주소-MAC주소 매칭)를 이용해 상대방의 데이터 패킷을 중간에 가로챈다. 정리하면 ARP 메시지에 저장되는 MAC 주소를 속여 LAN에서의 통신 흐름을 왜곡시키는 수법이다.

 

👩‍💻 ARP Spoofing 실습 - Kali Linux, Windows

준비물

- Kali Linux VM
         - fragrouter, arpspoof 설치
- Windows 10 VM

[Kali] Promiscious Mode 설정

칼리 리눅스의 이더넷(eth0) 설정을 promisc로 설정함으로써, 요청받은 IP 주소와 MAC 주소가 다르더라도 전부 패킷을 수신할 수 있게 된다. 즉 이제 칼리 리눅스에서 모든 패킷을 수신받을 수 있다.

 

[Windows] arp 테이블

arp -a

arp -a 명령어를 통해 ARP 캐시에 저장되어 있는 MAC 주소와 IP 주소를 테이블의 형태로 확인할 수 있다. 

  • 기존 게이트웨이 IP 주소: 192.168.189.2
  • 기존 게이트웨이 MAC 주소: 00-50-56-ec-e2-30
  • Windows IP 주소: 192.168.189.137

[Kali]

이러한 명령을 주게 되면, 기존에는 Windows와 Gateway에서 주고받던 패킷들 사이에 Kali가 끼게 되면서 

Windows - Kali - Gateway와 같은 방식으로 패킷들이 전달된다.

[Windows] ARP Table

윈도우의 ARP 테이블을 보면 기존 게이트웨이의 MAC 주소 값이 Kali의 MAC 주소로 바뀐 것을 확인할 수 있다. 이처럼 ARP 테이블의 값이 변했기 때문에 Windows에서 네트워크에 접속할 때 실제 게이트웨이가 아닌 KaliLinux로 데이터가 전달된다. 이처럼 ARP 테이블에 저장된 MAC 주소를 조작해 공격자에게 패킷이 흘러가도록 하는 공격 방법이 ARP Spoofing이다. 


📜 참고

https://epicarts.tistory.com/53

 

Spoofing(스푸핑), Sniffing(스니핑) - 칼리리눅스

이 글은 교육목적으로 작성하는 것으로 절대 타인의 컴퓨터에 공격을 해서는 안됩니다. 범죄 행위이고 처벌을 받을 수 있습니다. 모든 해킹 행위는 자기 자신에게 책임이 있습니다. 제 블로그는

epicarts.tistory.com

https://onecoin-life.com/21

 

[해킹 기법] 스니핑(Sniffing) 공격 원리와 종류, 탐지 방법

목차 스니핑 공격(Sniffing Attack)이란? 스니퍼(Sniffer)의 개념 Sniffing이란 단어의 사전적 의미로는 ‘코를 킁킁거리다’, ‘냄새를 맡다’ 등의 뜻으로 정의된다. 사전적인 의미와 같이 해킹 기법으

onecoin-life.com

 

SMALL

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

Malware - 트로이 목마(Trojan Horse), 백도어(Backdoor)  (0) 2022.05.27
서브네팅(Subnetting)  (0) 2022.05.27
BurpSuite를 사용해 Proxy 해보기!  (0) 2022.05.20
IP Address - whois, hosts 파일, ping  (0) 2022.05.19
OSI 7계층  (0) 2022.05.13