Security/네트워크 보안

정보보안 스터디 - 12주차 1일 - 스니핑, 스푸핑, 플러딩 공격

wonder12 2022. 12. 30. 04:26

☞ 공격과정과 대응방안

 

 

 arp spoofing

arpspoof -i eth1 -t 192.168.20.200 -r 192.168.20.201

arp 응답을 계속 보냅니다. 타겟1, 2의 arp 테이블에 등록됩니다.

타겟1가 타겟2 telnet,ftp,http 등 서버로 접속하면 암호화가 안되었기 때문에

Wireshark 패킷에 잡히며 내용 확인이 가능합니다.

타겟1, 2의 arp 테이블을 확인합니다.

 

ettercap을 이용할 수도 있습니다.

 

대응방안

스위치에서 Dynamic ARP Inspection 기능을 사용합니다.

 

 dns spoofing 

ettercap을 이용한 dns spoofing

보통 KT dns로 설정했다면 구글의 ip가 뭔지 물어서
kt DNS에서 구글 ip를 받아옵니다.

 

공격자가 웹서버를 열어 구글로 접속했을 때 공격자의 IP로 접속하도록 합니다.
wget로 구글을 크롤링하는 작업을 미리해놓습니다.

 

 

vi /etc/ettercap/etter.dns 에


역방향까지 설정해줘야 오류가 생기지 않습니다.

arp spoofing을 켜줘야합니다.

 

플러그인을 들어가 dns spoof을 체크하면 작동합니다.

 

nslookup www.google.com > KT에서 받아오지만 공격자IP 주소로 응답보냅니다.

구글로 들어가보면 판별하기 어려운 피싱사이트가 올라와 있습니다.

(메일을 활용해) 사이트 피싱공격이 가능합니다. 네트워크 측에서 변조이기 때문에 더 판별하기 까다롭습니다.

 

 

 

 Flooding attack

공통사항

wireshark &
타겟의 시스템에서 캡쳐를 시작합니다.
gnome-system-monitor & 을 열어 리소스 확인합니다.
공격 후,
캡쳐된 패킷을 확인합니다.
CPU, 네트워크, 메모리의 사용량이 100%가 되는 것을 확인합니다.

 

 

 

ICMP flooding

hping3 -I eth1 -1 192.168.20.200 --flood -a 1.2.3.4

 

 

대응방안

ICMP echo를 차단합니다.

패킷의 송수신양을 조절합니다.

 

 

ICMP land attack

자기 자신에게 핑을 보내기 때문에 요청, 응답 모두 받게 됩니다.

 

hping3 -I eth1 -1 192.168.20.200 --flood -a 192.168.20.200

하지만 오류인지 패킷을 확인해보면 응답은 찍히지 않습니다.

 

대응방안

출발지와 목적지의 IP주소가 같은 패킷을 차단합니다.

 

 

ICMP smurf

브로드캐스트 주소로 icmp 요청을 보내면

20번대 주소들(예를들어 20.1~30)이 보내온 주소로 모두 응답을 줍니다.

피해자는 공격자가 한번 ping을 했는데도  30번의 응답을 받게 되는 거죠. 일종의 DDOS 공격입니다.

 

hping3 -I eth1 -1 192.168.20.255 --flood -a 192.168.20.200

하지만 오류인지 패킷을 확인해보면 요청만 가고 응답은 찍히지 않습니다.

 

대응방안

ICMP 차단, 서브넷 브로드캐스트 전송을 차단합니다.

 

 

tcp syn flooding

 

hping3 -I eth1 --syn 192.168.20.200 --flood -a 1.2.3.4 -p 80
hping3 -I eth1 --syn 192.168.20.200 --flood --rand-source -p 80 
http에 대해서 syn 플러딩공격합니다.

 

 

요청: syn, 응답: syn,ack 패킷을 확인합니다.

netstat -nt 로 syn을 요청은 받았지만 ack대기 중으로 쌓인 것을 확인합니다.

 

 

대응방안

방화벽에서 syn 패킷의 송수신양을 조절합니다.

라우터/방화벽에서 TCP Intercept 기능을 사용합니다.

 

 

udp flooding

(포트 dns: 53으로 하겠습니다. 포트지정을 안하면 모든 포트로 다 보내게 됩니다.)

hping3 -I eth1 --udp 192.168.20.200 --flood -a 1.2.3.4 -p 53
hping3 -I eth1 --udp 192.168.20.200 --flood --rand-source -p 53

요청: dns, 응답: dns 패킷을 확인합니다.

 

대응방안

방화벽에서 udp 패킷의 송수신양을 조절합니다.

플러딩 공격의 출발지 IP 주소를 파악하여 차단합니다.

 

 

ping of death

데이터 용량을 크게 해서 보냅니다.

ICMP이지만, IP fragments로 나눠져서 보냅니다.

64000바이트 > MTU 1500바이트로 나눠져서 보내집니다.

플러딩 방식 또는 land attack 방식과 연계하면 훨씬 더 큰 부하를 일으킵니다.

hping3 -I eth1 -1 192.168.20.200 --flood -a 1.2.3.4 -d 64000
hping3 -I eth1 -1 192.168.20.200 --flood --rand-source -d 64000

 

icmp or ip.flags.mf 로 more fragement를 확인합니다.

요청, 응답 모두 데이터가 담겨져 있습니다.

 

대응방안

ICMP차단, ICMP 요청의 용량을 제한합니다.

 

 

 

msfconsole을 이용한 syn flooding 공격

msfconsole
search 모듈명(synflood)
use synflood~
show options
set interface eth1
set rhosts 192.168.20.0/24(로 설정하면 전부로 설정됩니다.)
set rports 80

show options

 

 

유니캐스트 방식이라서 외부 사이트에도 요청을 보낼 수 있습니다.

실제로 하면 부하걸리기 때문에 안됩니다.