An URG-ACK-PSH-RST-SYN flood is a DDoS attack designed to disrupt network activity by saturating bandwidth and resources on stateful devices in its path.
By continuously sending URG-ACK-PSH-RST-SYN packets towards a target, stateful defenses can go down (In some cases into a fail open mode). This flood could also be used as a smoke screen for more advanced attacks. This is true for other out of state floods too.
URG-ACK-PSH-RST-SYN Packets are considered an illegal packet by the Original TCP RFC. While it left room for customized behavior it is virtually unused today. Thus different systems can react differently to these packets and may cause unexpected issues and behavior.
Below an analysis of an URG-ACK-PSH-RST-SYN flood is shown. The following images depict a high rate of URG-ACK-PSH-RST-SYN packets being sent from a single source IP towards a single destination IP.
In Image 1 below, you can see the flood of URG-ACK-PSH-RST-SYN packets coming from a single source. Notice the rate at which the packets are sent.
“Image 1 – example of single URG-ACK-PSH-RST-SYN packet being sent to port 80”
As seen in Image 2. The capture analyzed is 8.96 seconds long and the average number of packets per second are at 58, with a rate of around 25Kbps. Attack rates could be much higher.
“Image 2 – URG-ACK-PSH-RST-SYN Flood stats”
A typical URG-ACK-PSH-RST-SYN flood running against an unsuspecting host will look similar to the above analysis. Generally what is seen is a high rate of URG-ACK-PSH-RST-SYN packets (not preceded by a TCP handshake) and a slightly lesser rate of RST packets coming from the targeted server.
Analysis of an URG-ACK-PSH-RST-SYN flood in Wireshark – Filters
Filter URG-ACK-PSH-RST-SYN packets – “(tcp.flags.urg == 1) && (tcp.flags.ack == 1) && (tcp.flags.push == 1) && (tcp.flags.reset == 1) && (tcp.flags.syn == 1)”.
Goto Statistics -> Summary on the menu bar to understand the rate you are looking at.
Download Example PCAP of URG-ACK-PSH-RST-SYN Flood
*Note: IP’s have been randomized to ensure privacy.Download