Two Most Common Brute Force Attacks We See

PUBLISHED ON October 6, 2023
LAST UPDATED April 2, 2024

The ThreatX Protection-as-a-Service team sees a lot of brute force attacks – or attacks that feature attackers using trial and error to try to access a system.  

These attacks come in a variety of shapes and sizes, but the one we see most frequently is credential stuffing attacks, and one type that is becoming increasingly more common is API brute forcing.  

Credential Stuffing Attacks 

Credential stuffing is the brute force attack we see most often. In a credential stuffing attack, attackers use previously compromised usernames and passwords to gain unauthorized access to user accounts. The attacker attempts to reuse the credentials across various services, exploiting the common practice of users reusing passwords. 

Learn more about credential stuffing attacks.

For example, if an attacker breaches one website or service and steals all the usernames and passwords, they will then try to break into a variety of other sites and services using those same usernames and passwords. This tactic is worth the effort because so many people use the same username and password for multiple sites and services.  

API Brute Force Attacks 

We have also seen an uptick in brute force attacks against APIs recently. An API brute force attack is when attackers attempt to brute force API endpoints by systematically trying different inputs, parameters, or authentication tokens to gain unauthorized access or extract sensitive information. 

A big reason for the uptick in these types of attacks is that implementing secure authorization techniques with API tokens is difficult. Also, as with password re-use and credential stuffing attacks, API tokens are rotated infrequently — even after they’ve been leaked. 

Do yourself a favor and double check your GitHub repo to ensure you don’t have API tokens available. Attackers commonly check GitHub and code repositories for API tokens uploaded by accident. Do not store API keys anywhere in clear text; they should be treated like passwords.   

Evasion Tactics 

We see attackers employ several evasion techniques in an attempt to disguise their brute force attacks, including: 

Timing: This is a common evasion technique that involves varying the timing of requests – for example, they’ll try one request every 10 seconds, then 30 seconds, then continue to switch up the timing.  

Randomizing header values: Another tactic to disguise identity and intent is to change the order of the headers and their values. For example, if they have been blocked once by a WAF, they will try to disguise themselves by moving the host header up and down, moving cookie headers around, or removing unneeded values. 

For example, this HTTP request: 

GET / HTTP/1.1 

Host: www.threatx.com 

Upgrade-Insecure-Requests: 1 

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.5938.63 Safari/537.36 

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 

Accept-Encoding: gzip, deflate, br 

Cookie: SomeCookie 

Accept-Language: en-US,en;q=0.9 

Connection: close 

And the HTTP request below would return the same result, but if it were a malicious request, a traditional WAF set-up does not identify this as an evasion technique. 

GET / HTTP/1.1 

Host: www.threatx.com 

Upgrade-Insecure-Requests: 1 

Cookie: SomeCookie 

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.5938.63 Safari/537.36 

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 

Accept-Encoding: gzip, deflate, br 

Accept-Language: en-US,en;q=0.9 

Connection: close 

IP rotation: Attackers often have lots of IP addresses, so rotating through different IP addresses is a common evasion tactic. 

Encoding: Attackers will try encoding their requests, often in multiple ways, in an effort to disguse their intent. 

The ThreatX platform is very effective and efficient at decoding payloads in order to completely evaluate its contents for risk.  Traditional WAFs and techniques struggle with this evasion technique. 

Spotting the giveaways  

Attackers successfully bypass most security solutions with these evasion tactics, but the ThreatX platform plus Protection-as-a-Service team are ideally suited to identify and thwart these maneuvers by using the following: 

TLS fingerprint: Often an attacker is using a script or platform to execute an attack. In these cases, the TLS fingerprints, even though they might be coming from different IP addresses, might be the same. So we might start tracking one TLS fingerprint and associate some risk value with its occurrence. 

Obvious things in request: Sometimes, attackers simply put obvious giveaways in a request. For instance, we’ve seen requests that say 1337haxor, PWNCaptain or things like that. And because our solution is backed by human beings, we immediately recognize and block obvious malicious requests like these.    

Skipping workflows: Another common way we identify malicious actors is through skipped workflows. When a normal user goes to a website, they go to the homepage, then the login page, and then submit their login credentials. But if somebody is not visiting the homepage or the login page and just hammering at the sending credentials part of the workflow, we know they’ve skipped A and B, and are clearly not a normal user.  

Reusing IPs or common attack patterns: Finally, we often identify malicious actors because they are reusing IPs or common attack patterns. For instance, we might notice payloads or special characters that we’ve seen before.  

Our Secret Sauce 

The secret sauce that really sets us apart and pulls together all the identification tactics above is our ability to aggregate risk around things that look potentially nefarious.  

For example, if we see a suspicious TLS fingerprint, we don’t block it immediately because the attacker could be using a browser or similar setup as some of our customers, and we don’t want any false positives, or to bock customers from using a website as intended. Instead, that TLS fingerprint would be one data point. Based on the analysis of several data points, we would decide to block. For example, if we observe that a suspicious TLS fingerprint, plus a user skipped a workflow, and included a common attack marker, that would lead to a blocking decision. 

This secret sauce is why ThreatX is so successful in effectively and accurately blocking so many attacks, especially brute force attacks.  

It’s also why the ThreatX Platform shines when addressing low-and-slow attacks that combine attack types and techniques slowly, over time, and are missed by traditional WAFs. More on that later … 

Check out our new short demo video to get a look at the ThreatX platform and see how it successfully manages cyberattacks like brute force attacks.

Tags

About the Author

Neil Weitzel

Neil is the Manager of the ThreatX Security Operations Center and is located in Boston, MA. He has 15 years of experience working in various roles, from user support to leading security programs. Neil has profound experience in security architecture and cybersecurity best practices, which helps him provide valuable insight to security teams. Before ThreatX, Neil worked with organizations such as Cognizant as an Application Security Architect, Cigital (now Synopsys) as their Practice Director of Vulnerability Assessments, and EIQ Networks (now Cygilant) as their Director of Security Research. Neil also served as a Cybersecurity Instructor and delivered numerous Security and Defensive Programming courses to various clients such as NASA and PayPal. He is an active member of the security community and has delivered lectures at DEF CON, OWASP and local security meetups. Neil also acts as an adjunct lecturer on Software Engineering at his alma mater, Indiana University.