Unmasking a slow and steady password spray attack
petrasecurity.substack.com
petrasecurity.substack.com
> Password spraying is a type of brute force attack. In this attack, an attacker will brute force logins based on list of usernames with default passwords on the application. For example, an attacker will use one password (say, Secure@123) against many different accounts on the application to avoid account lockouts that would normally occur when brute forcing a single account with many passwords.
> This attack can be found commonly where the application or admin sets a default password for the new users.
I guess it's like most/all attacks under this category - the high potential payoff on success and near-zero cost to execute keep the EV positive.
Password spraying is a distinct form of brute-forcing, where there is no link between the password and the user, and the yield is coming from the password being common.
If you try against the same account, for each trial you gain a (very small) piece of information (that the account does not use that password) which you can use in later trials, which seems like an advantage over trials against different accounts, where you don't gain this information.
But we also know that there are a significant number of accounts using weak passwords. If you keep trying against the same account, you will try the weak (high probability) passwords first, but if they don't break the account then you will run out of those and have to try low probability ones. But if you try against different accounts, you can keep retesting the high probability passwords. So trying against a different account each time is almost certainly more efficient - as long as you don't care about which account you break.
I would think that you do gain this info, the question is whether you record it for later use, which seems possible. But the extra effort to do that is a downside.
The upside is of course that 1000 failed login attempts on 1 account is more likely to trigger alarms than 2 attempts on each of 500 accounts.
One of our most standard and most successful playbooks to find a foothold:
1. Pull employee names from linkedin
2. Find an example email for format (first.last@company.com)
3. Setup password spraying for a password like: Spring2025!
4. Leverage a tool like https://github.com/ustayready/CredKing to avoid IP blocking.
5. Get credentials and go from there...
I was so happy when NIST finally recognized that people aren't machines and can't perfectly remember a new strong password with high frequency.
I think the industry is realizing that less is more when it comes to passwords and we're starting to see far more adoption of password managers and a bigger focus on getting SAML/SSO login options for SaaS tools, even if they are often gated behind paywalls or "enterprise" plan options.
Now that I'm in a more "defensive" position my primary focus on the credential front has been pushing password manager adoption across the org and looking for good opportunities to showcase that password managers are both significantly faster and easier to use if people are willing to change their workflow.
The reality is there are loads of “opportunistic attackers”.
Then you also have to realize all is automated so there is no one hand picking stuff so basically harvesters running over those easy credentials. Successful ones are notified to the attackers. So running those harvesters is low effort and low investment - but even single one lucky hit can be a big payoff.
Then imagine big payoff for someone in 3rd world countries is $100.
Makes sense, like you say.
Having investigated similar password spray attacks, I’m guessing they just looked at the entire set of failed Azure CLI logins from the same ASN (AS6939). Then that activity was distinct enough from usual activity in the tenant to suspect it’s part of the same campaign (no prior logins from AS6939, little to no legitimate use of Azure CLI, or the job profile of the targeted users doesn’t align with usage of Azure CLI).
Anyone can come up with multiple hypothetical scenarios and fixes, share it, and as we see reach hn front page.
It's also unclear why using a /48 helps evade their indicators of compromise detection?
> Takeaway: Looking at User Activity Timelines Isn’t Enough
I mean, obviously? You'd only look at a users timeline if a user was compromised. Looking at users timeline looking for infra attacks is like studying the rings on a tree you just cut down, as a means to determine if the forest is on fire.
As a whole this intro to security detection doesn't fill me with a ton of confidence... Everything here is exclusively superficial.
How do you differentiate attack campaign from your everyday-business-as-usual hacking attempts?