This service is accessible to every VM in Azure. As far as I know, there's no reason to ever disable this service for a VM, so it should always be accessible to every Azure VM.
IMDS's REST API is available to each VM at the non-routable, local IP of 169.254.169.254.
This feature allows anyone with write access to the VM object to write to a property called userData. This property must be base64 encoded text, limited to 87,384 characters (which is 65 kilobytes plus the base64 overhead).
The VM itself can read this property, but can't write to it by default. With enough privilege you can grant the VM or anyone else write access to the VM object and therefore the userData property.
Ok. Why is this interesting? This is interesting to me because the IMDS API is *always* available to the Azure VM, regardless of whatever firewall rules you have set up for the VM, the VPC, etc.
Even if the VM is "100% isolated", you can still talk to it through this property.
The Azure substrate and the various services involved will carry your c2 messages for you regardless of firewall rules. C2 traffic is yellow, authentication traffic is in purple:
This c2 method might be very difficult to detect if you are only relying on network telemetry, as I don't believe you can get between the Azure VM and IMDS. Maybe yo can set up a "span" port in the VPC to collect this traffic? Not sure. Anyone know?
At the host level, @Haus3c has some good info at the bottom of this post, which covers much of the same stuff I just said in this thread: hausec.com/2021/12/03/abu…
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Enough time has passed now that we are starting to see the outcomes of this methodology, which I'd like to talk to you about:
Strip away the brands, the tools, the people, and everything else, and you are left with the only thing that REALLY matters:
The problem.
The problem that APM seeks to solve is the persistent availability and reliability of attack paths.
Pentesters, red teamers, and real attackers have been abusing attack paths, specifically in Active Directory, for over 20 years. AD attack paths are INSANELY reliable. They can be abused with reliable tools, including legitimate admin tools like Powershell and PsExec.
Lina is writing the technical content our industry needs: deeply technical, clearly explained, and appropriate for both offense and defense audiences. See her writings here: inversecos.com
“Attackers think in graphs. Defenders think in lists. As long as this is true, attackers win.”
If you’ve seen more than one of my talks, you might think I’m contractually obligated to include this quote in every talk I do.
This quote means a lot to me. A LOT. Graph theory, to me, almost seems like it was invented solely for the information security field. Its purpose and reach is obviously waaaaaaay further than our field, but…
… we have BARELY scratched the surface of what’s possible with applied graph theory in information security. The core feature of #BloodHound is finding the shortest path between two nodes. The algorithm this is based on was first published in 1959.
There are worlds of untapped security research opportunities in Azure - growing, dynamic, and multiplying worlds. The next few years will produce amazing research. Get a head start with the following resources: