A DDoS Attack Explained: TCP SYN ACK Flood

Continuing on with explanations of attack vectors, we will be discussing a TCP SYN ACK flood. A TCP packet with the SYN ACK flag enabled is used as part of the three step process involved with establishing a TCP connection.

1. SYN packet. During this stage, a client (such as a desktop computer, laptop, or smartphone) initiates an outgoing connection to a server (such as a web or gaming server).
2. SYN-ACK packet. The server responds with an acknowledgement of the initial request, signaling it is ready to finish initiating the connection.
3. ACK packet. The client sends a final acknowledgment, signifying that both the client and server are ready to send and receive data.
This process is known as a “three-way handshake”.

A TCP SYN ACK flood involves sending a large amount of TCP packets with both the SYN and the ACK bit enabled on it. This kind of flood is very similar to the more common SYN flood.

First, let’s take a look at what an SYN ACK flood looks like. This is a spoofed SYN ACK flood against server IP address on port 80.

12:43:52.835860 IP > Flags [S.], seq 2130742457, ack 1965920245, win 512, length 0
0x0000: 4500 0028 31ac 0000 3f06 466e f01a b578 E..(1…?.Fn…x
0x0010: 4814 160f 06a0 0050 7f00 8cb9 752d 8ff5 H……P….u-..
0x0020: 5012 0200 924f 0000 0000 0000 0000 P….O……..
12:43:53.835899 IP > Flags [S.], seq 1590728177, ack 1831211018, win 512, length 0
0x0000: 4500 0028 d4d7 0000 3f06 6939 fae2 e4b9 E..(….?.i9….
0x0010: 4814 160f 06a1 0050 5ed0 95f1 6d26 100a H……P^…m&..
0x0020: 5012 0200 f72f 0000 0000 0000 0000 P…./……..
12:43:54.835938 IP > Flags [S.], seq 1450754368, ack 932352526, win 512, length 0
0x0000: 4500 0028 ba9b 0000 3f06 c2df 5398 4c9a E..(….?…S.L.
0x0010: 4814 160f 06a2 0050 5678 c140 3792 920e H……PVx.@7…
0x0020: 5012 0200 c731 0000 0000 0000 0000 P….1……..
12:43:55.835978 IP > Flags [S.], seq 1615424763, ack 1978575496, win 512, length 0
0x0000: 4500 0028 e6ba 0000 3f06 33fc f306 0ff0 E..(….?.3…..
0x0010: 4814 160f 06a3 0050 6049 6cfb 75ee aa88 H……P`Il.u…
0x0020: 5012 0200 580a 0000 0000 0000 0000 P…X………

The [S.] flag indicates that it is a SYN ACK packet.

A TCP session is required for a server to accept any TCP packet (other than a SYN packet which is meant to initiate the connection). If a session does not exist for the source/destination pair, the packet will not be accept by the server. In the case of a SYN ACK packet, the server will reply with a RST (reset) packet, telling the client that there is no established connection.

A SYN ACK flood consists of sending a lot of spoofed IP to a destination server. If the packets are allowed to get to the destination, the server has to send a RST packet back out for each packet that it sees does not have a valid TCP connection. Every packet that a server processes costs resources, even if it’s just to deny the connection. For this reason, a SYN ACK flood can be very effective. A SYN ACK packet is an allowed “initial” receive packet if the server sent out a SYN request first.

This type of flood, as with any other TCP flood, is effective because it forces the server to drop the packets. This causes resource exhaustion as it has to process each packet. A SYN ACK flood can potentially be more effective than a SYN flood in the case where the DDoS mitigation provider handles SYN floods better than SYN ACK floods, which is often the case. A SYN flood is a more effective solution to taking down a server though in the sense that once the packets hit the server, a SYN packet half-opens a TCP connection. Even with DDoS mitigation, there is a potential for some packets to get through to the server. It takes a smaller amount of SYN packets to impact a server and as such is the more effective choice.

A DDoS Attack Explained: TCP ACK

We’re continuing along with our explanations of types of DDoS attacks today, with emphasis on the TCP ACK flood. Much like we discussed on Tuesday, this form of attack is a part of making a TCP connection. When a client establishes a TCP connection to a server, the connection goes through a three step process.

1. SYN packet. During this stage, a client (such as a desktop computer, laptop, or smartphone) initiates an outgoing connection to a server (such as a web or gaming server).
2. SYN-ACK packet. The server responds with an acknowledgement of the initial request, signaling it is ready to finish initiating the connection.
3. ACK packet. The client sends a final acknowledgment, signifying that both the client and server are ready to send and receive data.
This process is known as a “three-way handshake”.

An ACK flood, as the name describes, involves sending a whole bunch of TCP packets with the ACK bit enabled on it. This kind of DDoS attack has its advantages and disadvantages when compared to the more common SYN flood.

First, let’s take a look at what an ACK flood looks like. This is a spoofed ACK flood against server IP address on port 80.

20:02:48.983378 IP (tos 0x0, ttl 63, id 32488, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0xb469 (correct), seq 751014783, ack 2048786021, win 512, length 0 0x0000: 4500 0028 7ee8 0000 3f06 40a3 4814 160e E..(~...?.@.H... 0x0010: 4814 160f 0410 0050 2cc3 937f 7a1d fe65 H......P,...z..e 0x0020: 5010 0200 b469 0000 0000 0000 0000 P....i........ 20:02:49.983439 IP (tos 0x0, ttl 63, id 43793, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0x1c45 (correct), seq 135907827, ack 760402314, win 512, length 0 0x0000: 4500 0028 ab11 0000 3f06 147a 4814 160e E..(....?..zH... 0x0010: 4814 160f 0411 0050 0819 c9f3 2d52 d18a H......P....-R.. 0x0020: 5010 0200 1c45 0000 0000 0000 0000 P....E........ 20:02:50.983479 IP (tos 0x0, ttl 63, id 44213, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0x3320 (correct), seq 227681609, ack 1655186570, win 512, length 0 0x0000: 4500 0028 acb5 0000 3f06 12d6 4814 160e E..(....?...H... 0x0010: 4814 160f 0412 0050 0d92 2549 62a8 248a H......P..%Ib.$. 0x0020: 5010 0200 3320 0000 0000 0000 0000 P...3......... 20:02:51.983525 IP (tos 0x0, ttl 63, id 52759, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0x5f9f (correct), seq 379954490, ack 794534482, win 512, length 0 0x0000: 4500 0028 ce17 0000 3f06 f173 4814 160e E..(....?..sH... 0x0010: 4814 160f 0413 0050 16a5 a53a 2f5b a252 H......P...:/[.R 0x0020: 5010 0200 5f9f 0000 0000 0000 0000 P..._......... 20:02:52.983569 IP (tos 0x0, ttl 63, id 23290, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0x8634 (correct), seq 242507686, ack 1779207888, win 512, length 0 0x0000: 4500 0028 5afa 0000 3f06 6491 4814 160e E..(Z...?.d.H... 0x0010: 4814 160f 0414 0050 0e74 5fa6 6a0c 8ed0 H......P.t_.j... 0x0020: 5010 0200 8634 0000 0000 0000 0000 P....4........ 20:02:53.983607 IP (tos 0x0, ttl 63, id 42657, offset 0, flags [none], proto TCP (6), length 40) > Flags [.], cksum 0x03ae (correct), seq 984467710, ack 563135552, win 512, length 0 0x0000: 4500 0028 a6a1 0000 3f06 18ea 4814 160e E..(....?...H... 0x0010: 4814 160f 0415 0050 3aad c8fe 2190 c440 H......P:...!..@ 0x0020: 5010 0200 03ae 0000 0000 0000 0000 P.............

The [.] flag indicates that it is an ACK packet.

Where The ACK Flood Flows

When a server encounters any TCP packet, it will only accept the packet if there is an already established TCP connection between the source and destination.
There are two common scenarios where an ACK flood takes place:

1. The less common scenario: The attacker sends an initial SYN packet using a bunch of different spoofed IP addresses, calculates the sequence number, and then sends a bunch of properly constructed ACK packets from those same spoofed IP addresses. This keeps all of the connections in an open state, causing the server to run out of resources with seemingly legitimate connections that don’t close. This kind of attack is very difficult to pull off.
2. The more common scenario: The attacker just sends a whole bunch of TCP packets with the ACK bit enabled and the source IP spoofed. This kind of attack is very easy to execute.

Scenario 1’s advantage vs a SYN flood is that it actually opens a connection to the server, and can keep the connection open indefinitely. This is extremely effective when it comes to taking up server resources. A SYN flood on the other hand just opens up a half connection, which times out. It is also much simpler for a DDoS protection device or service to mitigate a SYN flood. The disadvantage is that it’s extremely difficult to execute this kind of attack.

In Scenario 2, the application receiving the packets will simply drop them because there are no active TCP connections between the source and the destination IP addresses. It doesn’t actually open any connections. The reason it’s effective is that the flood forces the server to drop the packets. This causes resource exhaustion as it has to process each packet. The server has to do the same kind of thing with a SYN flood, except it also opens a connection with the server, which is much more effective. The only advantage an ACK flood has is that DDoS protection devices and services are more tuned to handle SYN floods as they are significantly more common. An ACK flood is a clever way to potentially trick DDoS protection services into actually allowing the packets through the filter, which can end up overwhelming the server.

DDoS Attacks Against Data Centers

data centerDDoS attacks come in all shapes and sizes. They are used to harm businesses, extort money, annoy system administrators, test vulnerabilities, and many other, mostly malicious reasons. A DDoS attack is typically meant to target a specific service, such as a website. By taking the website offline, the attacker accomplishes whatever goal he set for.

A data center is a facility that hosts many online services. They are indirectly the target of the majority of DDoS attacks, as they host most of the services on the web. These data centers all have various methods of dealing with DDoS attacks.

In order to understand the kind of impact DDoS attacks have on a data center, first we need to define at a high level what the network infrastructure of a typical data center looks like. Of course, network architecture is much more complicated, but at a high level, traffic entering the data center comes in through either the data center’s transit or peering network to the core layer, then aggregation layer, and finally the access layer prior to getting to the server hosting the online service.

Transit and peering links are connected to the large core router that sits at the edge of the network. This hardware is meant to be able to handle a large amount of data coming in. The aggregation layer is meant to handle a smaller amount of traffic. This is handled by having a larger number of aggregation layer hardware than core. The aggregation layer is typically where things like load balancing and firewalls are located. Prior to hitting the server, the traffic is sent to the access layer. The access layer is typically a top of rack switch, where a whole cabinet worth of services receive their internet connectivity from. There usually isn’t much going on at the access level. Access layer routers usually have a single or redundant uplink from the aggregation layer and either 1G or 10G. What this means is that a cabinet full of servers all share this 1G or 10G port upstream of them.

As far as vulnerability to DDoS is concerned, the end server is typically the most vulnerable due to two major factors: 1. that’s where the application is located, and as such its resources can quickly be depleted by a DDoS attacks, and 2. it only has a limited amount of network capacity (in this example, we’ll say it has a 1G port). A 1 gbps DDoS attack can take down almost any server solely due to the fact that it takes up all of the available network capacity of the server.

Moving up the chain, the access layer is the next most vulnerable part of a datacenter’s network when it comes to DDoS. This is due to the fact that it also has a more limited amount of network connectivity powering it. In this example, we’ll say the access layer switches have a 10g port coming from the aggregation layer. What this means is that a 10g DDoS attack target against a single server can take out every single server that shares an access layer switch with it. This is a huge problem for data centers. They can’t have one person getting hit by an attack impact potentially hundreds of other customers.

Aggregation and core routers are less vulnerable to DDoS attacks since they are limited almost exclusively by their network capacity.

How does a data center prevent a single customer getting DDoSed from impacting hundreds of other customers?

In order for a DDoS attack to not impact other customers at the access layer, the DDoS traffic must be stopped prior to it ever reaching the access layer. There are a couple of ways data centers handle this. One of the most typical strategies is for the data center to issue a blackhole on the destination IP address under attack to its transit providers. What this means is that when their transit providers receive traffic to that IP address, they don’t forward the traffic to the data center. This ensures that it never hits the access layer as it doesn’t even reach the core layer. Of course the issue with this is that it impacts all traffic, not just DDoS, so the web service is completely offline. This is a safe strategy for a data center though since it completely protects them against collateral damage at any layer. Another strategy is to have some sort of DDoS protection either using a cloud service where the traffic goes through another network before getting to the data center, or by using onsite hardware to scrub traffic at the core or aggregation layer prior to being forwarded to the access layer.

I mentioned two important things that get into the next part of this article. One was cloud protection and the other was blackholing IP addresses.

What happens if a data center receives an attack so large that it exceeds its total network capacity?

This is potentially the most devestating thing that can happen to a data center short of a critical event like power or cooling going out completely. Those things are less likely to occur due to the fact that data centers spend a lot of money ensuring that critical services have massive redundancy and backup. Many data centers have around 40 gigabits per second worth of network capacity. Very few of those ever get remotely close to using that much bandwidth. The reason for having so much capacity is to handle larger DDoS attacks that can wreck the entire network. Just like at the access level where a 10 gbps DDoS attack could impact potentially hundreds of customers (everyone at that specific access level), a 40 gbps DDoS attack, which would saturate the data center’s total network capacity, would take literally everyone being hosted in that data center offline. This is a very effective way to DDoS someone. By hitting them for so much that their data center can’t handle the traffic at all, they are forced to take that IP offline by blackholing it at the transit provider level. Since it never gets forwarded to the data center, it solves their problem at the cost of the one person being attacked being completely offline. This is an acceptable solution for data centers as the needs of the many outweigh the needs of the few. It costs too much for a company to invest in a massive network backbone just to handle these volumetric DDoS attacks. The other solution is for the datacenter to have a cloud DDoS protection provider that is specifically built to be able to take massive DDoS attacks. The data center can always have their traffic running through the DDoS protection provider, or have a manual or automatic method to send the DDoS traffic over to the DDoS protection provider when an attack occurs.

Free Cloud Services and How They Are Used for DDoS


Free cloud services have become popular in recent years. These services provide developers a platform to test software, and collaborate with others easily. While this sounds amazing, in reality these platforms can be a goldmine for attackers if not properly secured. Many of these services require only an email for verification. Setting up fake emails and automating this sign up process is all too simple for attackers.

A couple years ago at Black Hat in Las Vegas, security researchers Oscar Salazar and Rob Ragan demonstrated just how easy this process was. They managed to accumulate 1,000 free cloud accounts during one weekend. With this free botnet they performed LiteCoin mining, allowing them to average $1,750 per week in pure profit.

This was a proof of concept exercise and as such restraint was shown. A malicious user on the other hand, would feel no need to limit themselves. Imagine tens of thousands of free cloud services being utilized for DDoS attacks. Being able to bypass email authentication is simple for any skilled coder, free cloud providers need to be aware of this, and take the necessary steps to improve authentication. These types of services are ideal for attackers to perform distributed network scanning, distributed password cracking, DDoS attacks, click-fraud, crypto currency mining and data storage.

Moving forward we need to keep security in mind as we offer free services and connect more devices to the internet. The threat landscape is constantly evolving, as a community we need to evolve as well. Take any and every step possible to remain secure and up to date.

DDoS, Baidu, and China’s Great Cannon

Recently the New York Times announced that CloudFlare has partnered with Internet search giant Baidu in China, Google’s eerily similar competitor, to deliver Yunjiasu, a CloudFlare-like service in China. The service is aimed at speeding up Internet connectivity and providing some level security services for its customers, including limited DDoS mitigation. It will likely operate similar to CloudFlare itself, with the exception of falling within the jurisdiction of the Chinese government and therefore Chinese censorship and draconian Internet laws. The New York Times considers this as possibly a “new model for American tech firms that are considering doing business in the delicate areas of China’s tech industry.”

China and Its Internet

There are many countries that provide some level of censorship and control over their population, especially with regards to the Internet. China, however, stands fairly unique in the world in this regard. It has managed to shield the entire country – all 1.35Bn people from what it deems as inappropriate or subversive to the current political regime. This is by no means a trivial matter. The sheer volume of data that passes in and out of China is immense. They’ve managed to control this flow with a comprehensive firewall known as the Great Firewall. This is a defensive system.

Continue reading

What is a DDoS ATTACK

DDoS is an abbreviation for distributed denial of service. Ddos is done by transmitting packets of information in a rapid manner to the extent that the machine under target can no longer bear it or respond to legal requests anymore. This is a common form of attack which is used by hackers with the intent of causing a loss of income or to cause intimidation.
A simple way to explain this is to imagine a scenario where 10 fat men are pushing their way through a small entrance at the same time. This will only prevent other persons from finding their way through to either enter or leave. It is pretty much the same with internet connections; the DDoS makes it impossible for any signal to pass through and the motive at the end of the day is to hinder your connection to the World Wide Web.
For some, DDoS is considered legal while to some others it is not. The Computer Fraud and Abuse act is the only law against DDoS that can be considered in court. It can easily be argued in court and only a few persons have been indicted in such cases.
There were only a few ways to carry out a DDoS attack in the past, either you own a botnet or you gain illegal entry to a server and upload shells which basically are webpages used to send packets of information without the knowledge of the webservers. Nowadays, shells have been substituted by purchased servers from data centers that ignore the activities of these servers. That is also what you will be using whenever you make use of an IP booter or an IP stresser.
There is absolutely no difference between an ip stresser, a DDoSer, a botnet and a booter. Whenever a person calls an ip stresser a booter, they are just concealing their shady deals.

Stop DDoS Attacks Against your Website!

This is the reality and the impacts Distributed Denial of Service (DDoS) attacks have on your websites and their associated server resources. A DoS/DDoS can happen within seconds / minutes and the impacts can be devastating. The impacts will range from less severe issues like down time, to getting banned by your host for Terms of Service (ToS) violations. This doesn’t account for the economic impacts to your business (i.e., downtime = no purchases, no availability).

Understanding a [Distributed] Denial of Service (DoS / DDoS) Attack

Denial of Service (DoS) attacks and Distributed Denial of Service (DDoS) attacks are the same thing, only thing differentiating the two is scale. When you hear someone mention a DoS attack, you can expect the attack to be marginal (Qualifier: obviously marginal is very subjective and many would disagree that any DoS is marginal). In most instances, when you hear someone say DDoS, you can think the opposite (i.e., think grand!).

Whether a DoS or DDoS attack, the attacker is making use of one or more computers. DoS attacks are on the lower end of that spectrum while DDoS attacks are on the higher end of it, very large DDoS attacks can span 100’s if not 1,000’s of systems. The proliferation of DoS/DDoS attacks are directly attributed to the proliferation of DDoS-For-Hire service market, also known as Booter Services.

An attacker that is leveraging a Denial of Service (DoS) attack method has one goal in mind, to disrupt your websites performance. They disrupt your website performance by making it slow to respond to legitimate requests or disabling the website entirely, making it impossible for legitimate users to access your website. This type of disruption, depending on your configuration, can be devastating to your business.

There are three main DDoS / DoS attack types:

Each of these attacks types are designed to consume your web server resources, in one way or another and each have the same outcome – your web server / website slow to a halt or crash.

1. Volume Based DoS Attacks

As the name implies, this type of attacks depends on volume. The attacker employs a basic tactic, more resources wins this game. If they can overload your resources, they win. For most everyday website owners, this is an easy win. Most website owners are leveraging everyday Shared hosts and those with VPS environments are often configured in the smallest tiers and configurations.

2. Protocol Based DoS Attacks

The internet is all based on protocols, it’s how things get from point A to point B. This type of attack can include things likes Ping of Death, SYN Flood, Packet modifications and number of other variations.


3. Application Layer Attacks

The basis for this attack is often targeting applications like Web Servers (i.e., Windows IIS, Apache, etc…), but more and more we’re seeing this type of attack evolve to application platforms like WordPress, Joomla and other similar applications.

Website Firewall Protects Against DDoS / DoS Attacks

There are a number of DoS / DDoS attacks that we, Sucuri, deal with on a daily basis. These are the ones that the Sucuri Website Firewall will protect your website against:

1. HTTP Flood Attack

This type of Layer 7 application attack happens when an attacker makes use of standard GET / POST requests in effort to overload your web servers response ability. This attack is also known as a volumetric attack, it doesn’t require malformed packets, spoofing or any variation of reflection techniques. This attack can occur over HTTP or HTTPS and is much easier to implement, making them the much preferred attack method, cheaper too, for a lot of booter services targeting websites. They can generate thousands of requests a second.

2. Simple Service Discovery Protocol (SSDP) DoS Attack

The Simple Service Discovery Protocol (SSDP) is often used for Plug & Play (UPnP) devices, and it was only in 2014 that we started to see DoS attacks leverage this protocol. It’s a relatively new attack vector for DoS attacks. It often targets traditional SSDP ports, (1900) and destination port 7 (echo). It’s a form of a UDP attack, which unlike SSDP is more common. The latest reports show that SSDP attacks have the ability to increase the amplification of the attack by 30 times which might explain why it’s being employed.

3. User Datagram Protocol (UDP) DoS Attack

The User Datagram Protocol (UDP) DoS attack will flood various ports on your web server, randomly, with packets – also known as Layer 3 / 4 attacks. This forces the web server to respond, in turn chewing through your web server resources forcing it to come to a halt or die completely. UDP is a connection-less protocol, meaning it doesn’t validate source IP addresses. It’s because of this that UDP attacks are often associated with Distributed Reflective Denial of Service (DRDoS) attacks.

4. Domain Name Server (DNS) Amplification DoS Attack

DNS Amplification DoS attacks are very popular today, they occur at Layers 3 / 4. They make use of publicly accessible DNS servers around the world to overwhelm your web server with DNS response traffic. Your web server is overwhelmed by the influx of responses in turn making it difficult to function as it’s resources are depleted, making it impossible to respond to legitimate DNS traffic.

Continue reading

How to Launch a 65Gbps DDoS, and How to Stop One

How to Launch a 65Gbps DDoS, and How to Stop One

Yesterday I posted a post mortem on an outage we had Saturday. The outage was caused when we applied an overly aggressive rate limit to traffic on our network while battling a determined DDoS attacker. In the process of writing it I mentioned that we’d seen a 65Gbps DDoS earlier on Saturday. I’ve received several questions since that all go something like: “65Gbps DDoS!? Who launches such an attack and how do you defend yourself against it?!” So I thought I’d give a bit more detail.

What Constitutes a Big DDoS?

A 65Gbps DDoS is a big attack, easily in the top 5% of the biggest attacks we see. The graph below shows the volume of the attack hitting our EU data centers (the green line represents inbound traffic). When an attack is 65Gbps that means every second 65 Gigabits of data is sent to our network. That’s the equivalent data volume of watching 3,400 HD TV channels all at the same time. It’s a ton of data. Most network connections are measured in 100Mbps, 1Gbps or 10Gbps so attacks like this would quickly saturate even a large Internet connection.

How to Launch a 65Gbps DDoS, and How to Stop One

Continue reading