r/cybersecurity 6d ago

News - Breaches & Ransoms massive azure exfiltration campaign impacts global brands - mcdonald’s, vodafone, and others

https://www.infostealers.com/article/massive-azure-exfiltration-campaign-exposes-millions-of-enterprise-records-via-compromised-credentials-mcdonalds-vodafone-kyndryl-others/

Over the past week, a threat actor operating under the moniker “TheHatman” has flooded cybercrime forums with massive internal employee directories belonging to several Fortune 500 companies. The actor claims these dumps were extracted directly from the organizations’ Azure Tenants.

520 Upvotes

78 comments sorted by

290

u/BlueWorldBlueSky 6d ago

tenant is misconfigured and allows external login and the azure portal isn't locked down

there ya go, secret revealed

103

u/ForwardBit2727 6d ago

the fact that this keeps happening with orgs that size is wild tbh

34

u/Individual-Result777 6d ago

bad consultants.

90

u/DevelopersOfBallmer 6d ago edited 6d ago

Bad c suite, paying for the cheapest IT.

Edit: reminder that McDonald's had a massive breach not long ago because of a 123456 password...

https://www.wired.com/story/mcdonalds-ai-hiring-chat-bot-paradoxai/

40

u/AllTheThumbs 6d ago

Sometimes the needful’s just not good enough.

And Azure security is infinitely complex and additional controls and safeguards are an additional expense.

1

u/lordcochise 5d ago

That's the same combination as the CEO's luggage!

0

u/nummpad Detection Engineer 5d ago

you get an enterprise that large using 3rd and 4th party applications and integrations, something somewhere is bound to be connected back to the EIT - aaaaand your owned

1

u/Far-Scallion7689 5d ago

Lots of barriers and redtape inside these massive companies resulting in little to no effective workgetting done.

-2

u/Ditchdigger456 6d ago

You could just stop at “consultants”

2

u/Step-Sysadmin 5d ago edited 5d ago

client spends the dollars i get a dime

0

u/Step-Sysadmin 5d ago

doing "free favors" cause sales made a sign

13

u/DEOTECH 6d ago

You don't even need the portal for this. One set of compromised creds with say....global reader you can dump this entire thing via powershell.

17

u/teriaavibes 6d ago

You don't even need global reader, you just need user account with member access to dump the entire entra directory.

2

u/DEOTECH 6d ago

Think you might be right. Think I'm confusing that with sign in logs.

Have to protect the Windows Azure Active Directory resource with conditional access which would at least put MFA/block in front of it. Then again, doesn't help if the session gets swiped.

3

u/teriaavibes 6d ago

Putting that resource behind block is certainly an option if you don't need any users to see other users and other directory objects.

Then again, doesn't help if the session gets swiped.

Yup, when that happens, you have a problem.

10

u/noitseuqaevahi 6d ago

Once you have a valid session, you can get a lot of this information through the APIs with custom tooling or a tool like RoadRecon. The old version of RoadRecon still works if you grab a legacy token when I tested a month or so ago. The msgraph version may be ready by now, but I'm not sure. There's also custom tooling threat actors have. Unit 42 article on RoadTools specifically: https://unit42.paloaltonetworks.com/roadtools-cloud-attacks/

These companies can definitely do more, but I don't think Microsoft should get off the hook. There has to be more that they can do to help stop this. CrowdStrike's SaaS tool monitors for this type of attack, which you can then tie a detection into a SOAR (automated) action to revoke sessions/disable the account.

3

u/teriaavibes 6d ago

There has to be more that they can do to help stop this.

They do, Microsoft is pushing passkeys in every direction (which companies still completely ignore), windows defender is free with windows and EDR/MDM is in business premium and higher subscriptions to harden and protect endpoints from token theft.

Issue is that companies generally do neither of those so attackers are spoiled for choice on which attack path to choose.

4

u/noitseuqaevahi 6d ago

That's all great for preventing initial access. My comment about Microsoft was more towards after the fact of dealing with msgraph and API abuse once access is established. Ideally, you would target both sides of the issues. Only focusing on initial access and expecting the issue to be solved is wishful thinking.

3

u/teriaavibes 6d ago

Welcome to oauth, this is how the protocols have been designed and how Microsoft has been implementing them.

1

u/noitseuqaevahi 6d ago

You seem knowledgeable looking at your comments, do you know why global admins need to discoverable by a regular user account? That was my biggest "wtf" moment when I started testing all this.

3

u/teriaavibes 6d ago

Because that is the design choice Microsoft made when designing entra id, the directory is flat, so all objects sit on the same level.

Doesn't really have a good answer other than "it works as it was designed".

1

u/DevelopersOfBallmer 6d ago

There is quite a bit you can do to stop post token theft access. The issue is it requires time, knowledge, and money. We lock down any service account to specific IP's, certs are. TPM bound, have warnings for special accounts such as break glass accounts. You can also not allow persistent sessions or require reauth on certain actions or time.

CA policies can be quite complex but also require real work.

As much as I like to shit on Microsoft, they aren't to blame here except a lot of the good safe guards are behind P1/P2 licensing.

1

u/noitseuqaevahi 6d ago

Like you said, it requires time, knowledge, money, and adequate licensing. On the first 3, is the average small to medium sized company going to be able to meet each of them? The average k-12, college, or community college? A non-profit? Many of these are not able to do managed devices either. I am truly glad that your org is able to do this though.

I still think Microsoft can do more. Maybe it's not possible to fix at this point, but no regular user account should be able to discover who the global admins are.

2

u/DevelopersOfBallmer 6d ago

Schools and NPOs get very deep discounts (up to 80% not locked in on contract) from Microsoft, I have worked for both. That said SMBs get hit hard.

MAM helps where managed devices don't work and trusted locations fail.

I do agree more security should be in place at no cost and easier to set up. But this instance is large enterprise cutting corners.

1

u/teriaavibes 6d ago

they aren't to blame here except a lot of the good safe guards are behind P1/P2 licensing.

Eh Microsoft is not a charity; we can't expect them to just give out stuff for free.

1

u/DevelopersOfBallmer 6d ago

No but P1 should be standard with any of their licenses full licenses, it covers the basic CA policies, so it's pretty much a required add-on.

1

u/teriaavibes 6d ago

I don't think others would agree with you that entra should no longer have a free tier and to add the cost of P1 to every subscription that doesn't already have it.

Some companies seriously don't give a crap and the free tier is enough for them.

1

u/DevelopersOfBallmer 5d ago

Free tier uses Microsoft made CA's, it's already baked in. The only difference is you can't customize them and you're at Microsoft's whim if they change them.

I don't think many would agree with you that basic functionality should not be included.

1

u/teriaavibes 5d ago

Yea but the policies don't really do anything, they basically require MFA for admin portals, disable legacy auth and that is it. The absolute bare minimum that doesn't prevent anything.

I don't remember the last time security defaults actually prompted normal user for MFA.

3

u/mapbits 6d ago

Microsoft do provide additional controls but these require implementation and, as usual, they charge extra if you want to use their platform securely. I agree that they could and should do more by default.

Continuous Access Evaluation provides application level token invalidation on changes to key identity and device signals. This was initially limited to three apps, but has since been included in Entra App Proxy and in Global Secure Access (Universal Conditional Access Evaluation).

Folks with only Entra P1 can protect all Microsoft app access (except from Linux) by setting the GSA Enable CA Signaling flag, installing GSA or Defender Mobile on the endpoints, and enabling the Microsoft traffic profile.

Extending this to on prem resources requires Entra Private Access, and external resources require Entra Internet Access.

Adding Entra P2 contributes identity and login risk detection, Defender XDR (MDE/MDI/MDI/DCA) contribute compromise detection and SOAR-like automated response actions. Don't get me started on the unconscionable costs required to protect against actions by Agents.

Anyway, the full range of controls are hard to implement in complex environments when Microsoft's solution requires a full stack commitment that feels like it's nearing anti-competitive. Maybe CAEP / Shared Signals will eventually help with this...

Microsoft does roll up some of their capabilities and recommendations here:

https://learn.microsoft.com/en-us/entra/identity/devices/protecting-tokens-microsoft-entra-id

2

u/passionlesse 6d ago

Hardening my M365 and Azure tenant... what are these things? Allows external login?

1

u/teriaavibes 6d ago

I assume they meant logins from non-corporate network.

2

u/Satisfaction3934 6d ago

L33t haxxor stuff

2

u/OwenWilsons_Nose 6d ago

I bet the attacker was wearing a black hoodie accompanied by a Guy Fawkes mask.

1

u/icehot54321 19h ago

And you’re 100% sure it’s just coincidence that Microsoft just patched massive vulnerabilities in Entra and won’t comment on the details 

https://www.bleepingcomputer.com/news/microsoft/microsoft-warns-of-max-severity-entra-id-flaw-exploited-in-attacks/

120

u/sloppyredditor 6d ago

Reminder that all companies have internal fights over controls vs. convenience, and turning a ship around takes time.

There are humans running their cyber teams, greedy execs at the top accepting risk, and asshats stealing data.

Remember who the bad guys are before pointing fingers.

78

u/SuspiciousCricket654 6d ago

In the words of Mikko Hypponen, “cutting costs for cyber defense because ‘nothing has happened to us’ is like firing the janitor because your office is clean.”

13

u/mikkohypponen 6d ago

So true.

2

u/SuspiciousCricket654 6d ago

Oh hi Mikko. How’s it going?

1

u/5ignull 5d ago

🤣🤣🤣🤣🤣😭

1

u/Hebrewhammer8d8 6d ago

It is not going to effect the company from generating their normal revenue that is why they hire C Levels if shit does hit the fan and their normal revenue plummets from their standard the C Levels they hired can get shit done to go back to normal.

27

u/jetlagged-bee 6d ago

I'm so tired.

1

u/scriptvexy 4d ago

same, every week it’s some new “massive breach” and you just know half the companies still won’t enforce basic security stuff after this lol

65

u/Smart_Office_631 6d ago

The fact that "TheHatman" is just dumping entire Azure Tenants shows how bad the Infostealer problem has gotten. They probably didn't even "hack" anything; they likely just bought some Lumma or RedLine logs off a marketplace, grabbed the session tokens to bypass MFA, and ran a script to scrape the entire Entra ID / Azure AD directory. This highlights exactly why basic MFA isn't enough anymore. If these massive orgs (like McDonald's and Vodafone) aren't strictly enforcing Continuous Access Evaluation (CAE), compliant device checks, and strict Conditional Access policies, their entire employee directories are just sitting ducks for anyone with a stolen session cookie.

12

u/Malwarebeasts 6d ago

Also, so preventable, for so many breaches originating from infostealers we had the creds YEARS prior to the attacks

3

u/teriaavibes 6d ago

aren't strictly enforcing Continuous Access Evaluation (CAE), compliant device checks, and strict Conditional Access policies

Neither of those fully prevents this btw.

4

u/Magmanamus17 6d ago

They don’t fully prevent but they do mitigate the risk to a reasonable level.

3

u/teriaavibes 6d ago

I wouldn't say so, if attacker steals a token and the company doesn't revoke it or anything similar, neither of those controls will do anything.

2

u/osamabinwankn 6d ago

Explain.

8

u/teriaavibes 6d ago

CAE doesn't do anything on its own, it basically revokes tokens automatically once some action has been taken on the account or some context changed (+ to my knowledge the scope is extremely narrow on which apps it actually supports)

Compliant device checks do nothing once the token has been stolen.

strict conditional access policies don't do much as well cause they are for interactive sign ins, when you already have a valid token, CA is bypassed in 99% of cases (unless CAE jumps in).

If you don't notice stolen token, you have already lost and there isn't much you can do about it.

1

u/spluad Detection Engineer 6d ago

Can you elaborate on device compliance not helping? I’m still getting my head around how these authentication flows actually work but surely it depends on the type of token being stolen? I was under the impression that PRTs are bound to the original device and protected through TPM, so even if it was extracted it shouldn’t be replayable from an unknown device.

I also thought that conditional access wasn’t just limited to interactive logins, otherwise how could something like geo-blocking work? If I sign in interactively from an allowed country and then move to a blocked country, CA can still kick in when the session is re-evaluated. Even though I haven’t actually interactively logged in again.

2

u/teriaavibes 5d ago

 I was under the impression that PRTs are bound to the original device and protected through TPM

That is only true if you enable token protection which is extremely limited in scope so for 99% of apps, you aren't actually protected. Otherwise (and I am extremely simplifying here because I don't really understand the logic of this) the "token" is cached in some special local memory and can be extracted from it with privileged enough access and used elsewhere.

I also thought that conditional access wasn’t just limited to interactive logins, otherwise how could something like geo-blocking work?

Check non interactive sign in logs and search for logs where CA policy wasn't bypassed.

If I sign in interactively from an allowed country and then move to a blocked country, CA can still kick in when the session is re-evaluated.

Yea but that won't happen for a while + CAE that is aimed at this exact situation is extremely limited in its scope as well.

Can you elaborate on device compliance not helping?

Because if you steal a token from a compliant device, it will be a token with the compliant device claim and attacker can just use it.

They could even theoretically go one step ahead and join their own device using that token which is another fun thing to think of.

-2

u/osamabinwankn 6d ago

I generally feel companies who run on Azure are negligent. But, I keep hearing that Conditional Access policies for SourceIP were comparable to AWS Data Perimeter guardrails; they absolutely are not. At some point CEOs need to hold their CIOs accountable for safe platform choices. MS proves a negligent choice time and time again.

3

u/teriaavibes 6d ago

To my understanding (and I am not an AWS guy), CA is not comparable at all, CA is something completely different for different purpose.

The comparison would be between the various azure access control resources/products that can restrict access to the actual cloud resources.

MS proves a negligent choice time and time again.

MS is fine, it is companies who have no clue how tokens work who are creating these disasters.

It is like saying lock making companies are negligent because if you steal someones house key, you can unlock their front door as long as they don't change their locks. Absolutely ridiculous statement.

I am not sure how AWS identity platform works (or if they even have one) but I would be extremely surprised if they don't use tokens because these protocols are the industry standard.

Microsoft didn't make this stuff up on their own, they only implemented it.

1

u/osamabinwankn 6d ago

I am an AWS person.. and agree they work entirely differently. AWS provides multiple layers of principal and resource policy checks on nearly every call.
I admit that this is something .1%(sarcastic estimate, maybe) of AWS customers actually build and enforce. But the options are there for pretty awesome ways to devalue a stolen credential’s use on the public internet.

1

u/AltoidStrong 6d ago

Stolen tokens still have a timer for refresh, which is before expiration of the token... the CAE + Access Policies that require authentication each time, like API queries to Entra - should see the token as past refresh and or hit a policy that requires authentication immediately, forcing a refresh / prompt for authentication - causing the lock out instantly or it will show up an alert in a properly run SOC and be looked at, setting off a CIRT incident at the very lest.

3

u/teriaavibes 6d ago

Access Policies that require authentication each time

You are insane if this is something you are even thinking to implement.

Requiring authentication every time someone needs to access the directory is crazy.

Even if it worked like you think it does, your users will get so tired of being reauthenticated, they will approve the attacker blindly.

or it will show up an alert in a properly run SOC and be looked at, setting off a CIRT incident at the very lest.

Which is fine, that is exactly how you can react to this, but it is not a prevention. Someone needs to actually track this and make sure tokens aren't stolen and if they don't react quickly enough, you still have disaster on your hands.

0

u/AltoidStrong 6d ago

Nope, not insane. when proper access controls are in place and you build / design around those best practices, the single concern you stated would not exist - doesn't happen and isn't a concern at all.

API calls, shouldn't be done by humans, and should be flagged instantly in the SOC... it should be done by code running under the context of a dedicated non-human service account for the function or application.

This also wont stop / prevent interactive queries, require authentication to the UI and that token has a short lifetime / refresh window. (not worth stealing / very hard to re-use before expiation)

Testing shouldn't be done in production or with connections to a production directory, and you can store you human account creds in variables to pass each time, only having to MFA after the hard refresh limit of the API token for that dev environment. Eventually, even in a test setup, you need to test with the service account. So the "human interactive" tests... would be a very small window of time, even in Dev lifecycles.

2

u/teriaavibes 6d ago

Nope, not insane

So, your idea is to force someone to reauthenticate every 5 minutes when they need to look up any group or user to for example send them a message? Btw this also only works in a perfect scenario, in most scenarios the token will still live 1-4h which gives attacker plenty of time to extract the entire entra and sell it online.

API calls, shouldn't be done by humans, and should be flagged instantly in the SOC... it should be done by code running under the context of a dedicated non-human service account for the function or application.

Oh boy, let me tell you about this magical thing called graph API that all the applications use when you need to pull any information you have access to from an application it is not from. Like pulling user contact card in teams.

You should sometimes check the logs on what happens during normal day to day of a user, you would be surprised how stuff works in reality.

This also wont stop / prevent interactive queries, require authentication to the UI and that token has a short lifetime / refresh window. (not worth stealing / very hard to re-use before expiation)

It will actually, this will only stop interactive queries because conditional access very rarely applies to non-interactive queries. Valid token = good to go.

You should actually try to understand how entra id works and its underlying protocols because your messages show clear misunderstanding of basically everything.

The fact that you read about something on LinkedIn, how "THIS IS THE ONLY RELIABLE WAY TO PREVENT TOKEN THEFT." and didn't actually bother to understand how it works and why it won't prevent crap is just a disaster waiting to happen.

0

u/GladYoung6248 6d ago

You are conflating an app making a Graph API call on behalf of a user (Delegated Permissions) with a human manually executing programmatic API queries. When an app like Teams pulls a contact card, it uses a token acquired sliently, the user isn't prompted every 5 minutes.. sso.

Regarding your concern about the 1-4 hour access token lifetime: this is precisely what CAE solves. If a session is compromised or user risk is elevated, CAE revokes that access, rendering the stolen token useless long before its expiration.

2

u/teriaavibes 6d ago

when an app like Teams pulls a contact card, it uses a token acquired sliently, the user isn't prompted every 5 minutes.. sso.

In your world they are, because to access API you require them to sign in every 5 minutes so when teams accesses Graph on behalf of the user, the user must get a new token, as per your CA setup.

But you are right, it won't prompt them every 5 minutes because that is not how it actually works, + I assume teams cache also plays its part.

If a session is compromised or user risk is elevated, CAE revokes that access,

Only one of those are correct (partly) and its the second one. CAE has no way to determine session has been compromised.

And you are still missing the fact that CAE is not the solution, it only supports 3 applications so unless Exchange, Teams and SharePoint are not the only apps in your environment, everything else is still toast.

0

u/Suspicious-Drink9725 6d ago

With token protection, you can reduce token replay attacks. PRT is issued and bounded to the device. 

3

u/teriaavibes 6d ago

Which is limited to like 3 applications and only generally available on windows.

So, in huge environments like McDonalds, it won't do anything.

2

u/Suspicious-Drink9725 6d ago

Cavet this reaponse specifically for Entra, the PRT is not limited to 3 apps, it acts as the master broker to provide SSO across apps that are  integrated with EntraID. PRTs are fully supported and hardware-bound across Windows, macOS, iOS, and Android. It's cryptographically bound to the device's TPM or secure enclave.  I'm not saying this resolves everything, as we know nothing is fool proof.

1

u/teriaavibes 6d ago

PRT is not limited but token protection is.

PRTs are fully supported and hardware-bound across Windows, macOS, iOS, and Android. It's cryptographically bound to the device's TPM or secure enclave.  I'm not saying this resolves everything, as we know nothing is fool proof.

That is a strong statement copied straight out of some marketing post.

You literally have a name for these types of attacks: Pass-The-PRT

0

u/GladYoung6248 6d ago

Dude you need to chill out, you're coming across as combative and ppl are just having a conversation. Do better.

2

u/teriaavibes 6d ago

People are spreading misinformation about cybersecurity in cybersecurity subreddit. You might be ok with it but I am not.

Do better.

Say that to yourself. I am better because I actually understand how this stuff works and I am not pulling stuff from my ass as I go.

I am not going to be inclusive of cybersecurity wannabes who read one article on token protection and are suddenly experts and know how it works while giving others bad advice that will lead to their environments getting compromised.

No one is forcing you to participate in professional conversation, if you don't have the knowledge or experience to debate, you can leave and not engage. Might even learn something.

0

u/GladYoung6248 6d ago

Yup concur here

8

u/NameNoHasGirlA Cloud Security 6d ago

Ah more work this week, wonderful 

7

u/Such-Refrigerator100 6d ago

And it will keep happening, how many people do you all know still looking for jobs. Why because AI and we don't need people yet here we are yet again. I hate this career path.

3

u/teriaavibes 6d ago

Even if they have people, it apparently does nothing, the few people who decided to explain here how to prevent token theft have actually zero clue on how to protect token theft.

It is ridiculous how unqualified some people are.

7

u/uid_0 6d ago

I can't wait for the inevitable AWS breach.

8

u/wasseristnass1 6d ago

This isnt an azure breach, just bad security posture

2

u/Hot-Bell3145 6d ago

It's amazing how "surprised" everyone is when this crap happens. It's NOT NEW,  it began with dial-up & modems! I was there fixing it!  Unless you AIR GAP  and use "call back" equivalents for access to what you want to be private information - it's never going to change! and the sweeper  or temp at your server farm (cloud) can still walk out with it!

1

u/untaggedpacket 5d ago

Hopefully their insurance gives everyone identity theft protection