베지밀

hping3 툴을 활용한 Kali Linux에서의 DoS 공격 실습 본문

Network

hping3 툴을 활용한 Kali Linux에서의 DoS 공격 실습

vegimil 2025. 2. 26. 17:22

Kali Linux와 Bee box 웹서버를 띄워서 DoS 공격 실습을 진행해보자.

실습은 동일한 host PC의 가상머신에서 NAT 네트워크로 진행했다.

 

0. 실습 구성

 

공격자(Kali Linux) : 192.168.46.130

희생자(Bee box) : 192.168.46.129

 

공격 툴 : nikto, hping3

 

1. 통신 확인

칼리에서 비박스 ip로 웹 접속이 잘 된 것을 확인했다.

 

 

2. nikto로 취약점 스캔

$ nikto -h <ip>

 

비박스의 접속 로그를 확인하면 칼리의 공격 내용을 확인할 수 있다.

 

 

3. 포트스캔

# hping3 --scan 1-1024 -S <ip>

위 명령을 통해 웹 서버의 열린 포트들을 확인할 수 있다.

서버에서 wireshark 확인 결과 포트 1번부터 순차적으로 SYN을 보내고 있다.

 

 

 

4. TCP SYN Flooding

# hping3 -S <ip> -p <포트> --flood

80포트로 대량의 SYN 패킷을 전송했다.

 

서버에서 netstat을 확인해보면 동일한 출발지의 여러 포트들과 수많은 SYN_RECV를 맺고 있다.

 

이번엔 출발지를 랜덤하게 변경해서 SYN FLOODING을 수행해보자.

# hping3 -S 192.168.46.129 -p 80 --flood --rand-source

전부 다 다른 출발지다.

 

htop으로 cpu 사용량을 확인해보면 3% 이하를 유지하는 평소와 달리 cpu 사용량이 70% 이상으로 급증한 것을 확인할 수 있다.

 

 

5. ICMP Flooding

# hping3 -1 <ip> -p 0 -i u1000

1초에 1000개씩 icmp 패킷(ping)을 보내도록 설정했다.

 

tcpdump로 확인 결과 빠르게 ICMP 패킷이 오가는 것을 확인했다.

 

6. LAND Attack

# hping3 -1 <victim ip> -d 65000 --flood -a <victim ip>

LAND Attack은 출발지 주소를 서버의 주소로 설정하여, 희생자가 자기 자신과 요청/응답을 보내도록 한다.

자기 자신과 icmp를 보내고 있다.

 

7. Teardrop

# hping3 --frag -d 120 -S 192.168.46.129 -p 80 --flood

teardrop은 패킷을 보낼 때 offset 값을 조작하여 서버가 패킷을 재조립하기 어렵게 만드는 공격이다.

--frag -d 120을 통해 IP Fragment 패킷을 120바이트로 분할하여 보낸다.

 

하나의 SYN에서 여러개의 패킷으로 분할된 것을 확인할 수 있다.

 

 

 

대표적인 몇 가지만 확인해보았다.

 

이 외에도 다양한 옵션으로 공격을 수행할 수 있다.