Analyzing Denial-of-Service Attacks
This project is done by:
Reem Abd-Alhadi
Mohammed Tarawneh
Amer AbuShanab
Omar Al-Bustanji
Supervisor: Prof. Yazeed Ahmad Al-Sbou
TABLE OF CONTENTS:
Abstract
This project aims to investigate different types of Denial-of-Service (DoS) attacks, such as Ping of Death, SYN flood, ARP poisoning, slow and fast HTTP attacks, and deauthentication attacks. The exploration is conducted using VirtualBox and Kali Linux. Furthermore, a Python script with five functions is developed using Scapy to simulate and evaluate potential vulnerabilities. These functions are port scanning, network scanning, slow HTTP, ARP poisoning, and deauthentication attacks.
Objectives:
Introduction
What is DoS Attack ?
1-Virtualbox
2-Kali Linux
3-Windows 10
4-Metasploitable2 VM
5-Wireless card with monitor mode
6-Hping3
7-Slowhttptest,httperf
8-Airmon-ng,Airodump-ng,Aireplay-ng
9-WireShark
10-Nmap
Ping of Death
Ping of Death is a DoS attack where oversized or malformed ping packets are sent to crash or destabilize a target system or network.
IP fragments
Victim machine
Attacker
Ping of Death
….
Ping of Death packet
IP header
ICMP
header
ICMP
data
20 bytes
8 bytes
≥ 65.000 bytes
Attack setup and execution
Options:
to block the oversized ICMP packet requests.
1
2
Solution:
Using Wireshark to capture an incoming request after we added the Rule.
SYN Flood
A SYN Flood attack is a common form of Denial-of-Service attack that sends a large amount of SYN requests to a server to overwhelm the open connections.
Hand Shaking
Hand Shaking involves three steps:
�
�
�
Attack setup and execution
Options:
Let's use Wireshark to analyze the incoming packet :
Solution:
Now and after the port blocked by the firewall we can try the conecction stablity.
ARP Poisoning
Original connection
Router
Victim machine
Attacker
New connection
New connection
Normal Man-in-The-Middle ARP poisoning attack
ARP response
ARP response
Attack setup and execution
Options:
1
2
3
Solution:
HTTP attack
An HTTP attack, a form of cyber attack, attempts to exploit vulnerabilities in the Hypertext Transfer Protocol, targeting web applications, web servers, and users by manipulating or disrupting HTTP traffic. These attacks employ two techniques: slow and fast HTTP attacks
Slow HTTP Attack
Fast HTTP Attack
How slow HTTP attack works
Incomplete HTTP Request
Kali Linux
Metasploitable
Attack setup and execution
Observation: �
Result�
JANE DOE
JOHN DOE
How Fast HTTP Attack Works
Kali Linux
Metasploitable (Data Base)
Metasploitable web app
Fast HTTP attack
Login to the DVWA web page by entering the:
Attack Setup and Execution
CPU utilization before executing an attack :
Execute httperf tool :
CPU utilization after executing an attack :
Web application firewall
Install and Configure WAF
Use iptables for Basic Rate Limiting
Solution:
iptables is a tool that regulates incoming and outgoing network traffic. In Metasploitable, it can be configured to filter and control network packets based on specified rules to enhance security.
De-Authentication
A Deauthentication attack is a form of cyber attack that targets wireless networks ,works by sending Deauthentication frames to the target's device, forcing it to disconnect from the network,using a wireless card that supports monitor mode
What is a Deauthentication frame ?
Monitor mode
Special operating mode in wireless network adapters, allowing them to passively monitor all wireless traffic on a particular channel without connecting with any specific access point or network
Airodump-ng
Aireplay-ng
Airmon-ng
BSSID Search
Launch attack
Enable monitor mode
Options:
A-802.11w Protected Management Frames
B-WPA3 Encryption (Wi-Fi Protected Access 3)
Solution:
RedTeam Python Script
Why You Should Build Your Own Penetration Testing Tool?
Port
Scan
Network Scan
HTTP attack
ARP poisoning
DeAuthentication
Functions:
Script installation
Python libraries:
1-Scapy: it is a Python library that enables the user to send and forge network packets, allowing construction of tools that can attack networks
2-Socket: provides a set of functions for network programming, it allows you to make connections with any devices or server
3-Subprocess: allows you to run system commands from within a Python script and capture their output
4-optparse:This library helps in parsing command-line options and arguments
OPTIONS:
-2, --P2:ending port
1-Port Scan
2-Network Scan
3-ARP poisoning
4-HTTP attack
5-DeAuthentication
Conclusion:
Thanks!