New tool published which is proving to be useful. Cred1py allows execution of the CRED-1 SCCM attack published by
@Raiona_ZA
over SOCKS5 UDP by wrapping the awesome from
@0xcsandker
. Enjoy :)
My Okta for Red Teamers post is up! We look at how Kerberos SSO works, how to intercept credentials via a fake AD Agent, decrypting AD Agent tokens, adding skeleton key's, and even how to deploy a janky SAML IdP server to auth as any user for good measure.
Want to stop ETW from giving up your loaded .NET assemblies to that pesky EDR, but can't be bothered patching memory? Just pass COMPlus_ETWEnabled=0 as an environment variable during your CreateProcess call ๐
Just pushed a new blog post documenting the process of creating an exploit for a Windows 10 kernel vulnerability. Hopefully useful for anyone looking at kernel exploitation
New blog post looking at how Cobalt Strikeโs โblockdllsโ command works, how to recreate it in our own payloads, and a quick look at Arbitrary Code Guard.
New blog post is up starting a series of looking at just how Mimikatz achieves its magic, beginning with WDigest (and ending with a bit of lsass DLL loading fun).
Quick POC this evening looking at how LAPS (v2) passwords are stored and decrypted on Active Directory (tl;dr, msLAPS-EncryptedPassword attr and NCryptStreamUpdate for crypto)
New blog post up which shows just how we build our ActiveBreach Adversary Simulation Lab using Terraform, DSC, InSpec, AWS Systems Manager, and Gitlab CI/CD pipelines.
Quick blog post after spending the weekend looking at how Azure auth tokens are loaded into Office, how we can recover them from the Token Broker cache, and some MSA authentication RPC internals thrown in for good measure.
New blog post is up... Identity Providers for RedTeamers. This follows my
#SOCON2024
talk, and provides the technicals behind the presentation, looking at other IdP's and what techniques are effective beyond Okta.
New blog post looking at an alternative way to execute .NET code within managed processes, focusing on the debugger API. Been wanting to look at this for a while, hopefully useful for anyone who has wondered how the .NET debugging framework works.
Man Iโm calling it, bye bye Cobalt Strike, hello Sliver! Not had to use CS on an engagement for a while but when you donโt wanna burn your internal stuff and need to use public tools, the pain involved around evasion for simple tasks in CS is horribleโฆ time for something new.
If you need an alternative way to spawn your payload rather than VBA Shell or CreateObject.., try an OLE object which both auto-open and auto-confirmโs itself. Nice when combined with ACCDE technique shown by
@424f424f
I'm pretty sure that I spend a large percentage of Red Team engagements just reading internal documentation... One day I will tell tales to my grandchildren of the many Wiki's that I've seen... small Wiki's, big Wiki's, multiple Wiki's, Wiki's trying not to be Wiki's.
First con talk done. Was scarier than I thought, but in a good way! Looking forward to doing it again! Also excited that Iโll be joining
@SpecterOps
in April. This is a team that Iโve wanted to work with ever since the company started. Iโve used so many of their revolutionary
Taking a look at SCCM on this lazy Sunday evening? Of course you are, what else is there to do?! One of the things that's likely to draw your interest are just how all those user accounts are stored. Check out the SC_UserAccount table in the SQL DB.
If you're on an engagement, keep an eye out for the SPN HTTP/<company>.kerberos.okta.com. It provides delegated auth to Okta for a compromised AD user (and usually doesn't require MFA when proxied). -spn HTTP/company.kerberos.okta.com.
It's the weekend, so you know what that means... SCCM lab time! New blog post is up looking at some SCCM internals, how Network Access Accounts are retrieved by new clients and how we can "unobfuscate" them.
Had a bit of PTO this week so we know what that means.. Research Time! Let's briefly explore the new Enhanced Phishing Protection feature released in 22H2. ๐งต
Started playing around with
@tiraniddo
awesome Kerberos Relay research. This is just a quick Responder LLMNR patch and a very simple Python script to relay in a lab, works like a charm. Now to continue with some of the other goodies in this post๐ค
Oh man this is why I've always loved the hacking scene, really isn't a "typical hacker" type outside of the movies... 55 year old cardiologist spinning out ransomware in his downtime ๐คฃ๐คฃ๐คฃ
The United States Department of Justice has charged a 55-year-old Cardiologist from Venezuela as the developer of Jigsaw Ransomware and Thanos Ransomware.
Thanos Ransomware Builder is available for download on vx-underground.
More info:
New post up on the
@trustedsec
blog looking at how we can patch Cobalt Strike beacon on target, blend in a little better with generated user-agents, and set C2 destinations dynamically.
My first talk finally landed on YouTube from
@SpecterOps
#socon24
, looking forward to doing it again on a new topic (but canโt bring myself to watch it back ๐)
I've dumped a quick script to show how IIS decrypts AppPool credentials. Uses iisCngWasKey stored in C:\ProgramData\Microsoft\Crypto\Keys, derives a key and decrypts with BCryptDecrypt. Crypto logic is in inetsrv\nativerd.dll.
Published a new blog post looking at the awesome Get-InjectedThread powershell tool, and reviewing potential ways we can evade detection during an assessment:
To all you newbies out there getting into this industry and being worried about not knowing enough.. Unfortunately I'm here to tell you that imposter syndrome never stops! Enjoy what you do and stay humble, because you'll always doubt your skillz... That is all.
On top of moving house, this week I handed in my notice with
@TrustedSec
after 3 and a half years of Red Teaming. Itโs been a wild ride with an amazing group of people (
@curi0usJack
,
@HackingLZ
and
@cantcomputer
are pioneers and always have your back! TargetedOps team, Iโve
New blog post looking at Azure Application Proxy, how it works, how we can create our own connector and of course how we can use it for C2... one for you Service Bus fans ;)
Finally made it to the team member page on
@SpecterOps
"About Us" page. Yes my picture looks like I work at Asda and am about to offer to carry your bags to your car... but still classing this as my win for the month ๐คฃ
Second blog post to finish out the week. Expanding on a previous tweet to look at how LAPS 2.0 crypto works, how the PowerShell Get-LAPSADPassword cmdlet works, and provided a quick BOF to do pull and decrypt msLAPS-EncryptedPassword
ASR rule to harden LSASS is being turned on by default, but remember that this isn't a silver bullet, plenty of ways around this... this has to be one of my favourites ๐
Want to stop ETW from giving up your loaded .NET assemblies to that pesky EDR, but can't be bothered patching memory? Just pass COMPlus_ETWEnabled=0 as an environment variable during your CreateProcess call ๐
New blog post is up which looks at how we can build a CI pipeline with Gitlab, Molecule and InSpec to test our RedTeam infrastructure during development.
Created a quick POC to spoof environment variables by swapping them out on launch ๐ (similar practice to argument spoofing). Might be useful for anyone looking to test detection of COMPlus_ETWEnabled.
Salesforce will match any OpenAI researcher who has tendered their resignation full cash & equity OTE to immediately join our Salesforce Einstein Trusted AI research team under Silvio Savarese. Send me your cv directly to ceo
@salesforce
.com. Einstein is the most successful
A quick post to finish out the year, looking at using the Virtualization framework on ARM64 macOS to spin up a small Linux VM for pivoting. Happy New Year!
Continuing with the macOS security series, just published a new blog post showing how to disable macOS SIP via a code exec vulnerability in VirtualBox's vboxdrv.kext driver
New blog post added looking at how to spoof arguments like Cobalt Strikeโs โargueโ command, and a weird bug which can stop ProcessExplorer from giving the game away.
When someone drops you a message to let you know your blog post helped them in one way or another... that shit right there is why you publish your research ๐
Awesome talk from
@Lee_Holmes
on trolling the Redteam, with some very nice Powershell tips and a few "wait, where is this going, hash table internals... ooooh that's awesome" moments... Blueteam need to turn this into a sport ๐
Revisiting Azure AD Connect as the previous method of dumping the MSOL account password has changed. A few ways around this, but a fun one is to piggyback off the fact that the local sqlserver instance is running as "ADSync"... ;)
Quick blog post drafted while satisfying my curiosity of how PNG steganography works at the byte level to wrap payloads. Sharing in case anyone else finds this interesting too!
Second blog post up for the week, this time a look into Cylance Protect (and a very quick look at CyOptics) to see what tricks can be used to evade detection.
The new Azure AD LAPS functionality now up in public preview. A call to the Graph API with the scope DeviceLocalCredential[.]Read[.]All is used. No additional crypto like the AD counterpart. HTTP samples are at
So today marks the end of my 2 and 1/2 years with
@MDSecLabs
. Itโs been a wild ride, had the chance to work with some very talented people and learned a lot! Now to enjoy a weekend of R&R before starting the next stage of my journey, this is gonna be fun :)
If you are using MiniDumpWriteDump to extract memory from lsass, remember that under the hood, it still uses ReadProcessMemory. Worth knowing if the target AV/EDR is alerting based on this.
@vxunderground
For the last few days we've been wondering if they would show.. now we have our answer. The poor dudes and dudettes working on the booth though ๐
Sat watching some Defcon vids while getting my son to sleep and seeing some of my posts being referenced as part of further research is an amazing feeling. I lack public speaking skills so honestly appreciate anyone sharing my work during their talk, made my day ๐
I found and reported a local privesc vuln in
@KeybaseIO
for MacOS. Seriously impressed with the response and how much effort they went to protect users. Details are here . HackerOne report here
Me To My Kids: Don't download random things from the Internet, even if it comes from someone who pretends to be your friend... No, that goes for Roblox as well...
.
InfoSec Twitter:
Continuing our review of Windows 10 driver exploitation techniques, this post shows how to exploit a kernel NULL pointer dereference vulnerability on Windows 7 x64 and Windows 10 x32.
New blog post up looking at ways to inject into MacOS processes by leveraging third party frameworks, focusing on .NET Core and a cheeky Electron feature to load Apfell
Updated the CVE-2018-1038 (
#TotalMeltdown
) POC with some memory checking to try and reduce chance of a BSOD. Works by querying Hardware\ResourceMap\System Resources\Physical Memory. Hack'y, but seems ok :)
Something I love about late night researchโฆ Music on, lights down, seeing itโs 12am and repeating the mantra โJust another hour and Iโll stopโโฆ knowing full well that itโs gonna be light outside before you actually switch off.