harmj0y Profile Banner
Will Schroeder Profile
Will Schroeder

@harmj0y

Followers
47K
Following
1K
Media
150
Statuses
6K

Researcher @SpecterOps. Coding towards chaotic good while living on the decision boundary.

Joined August 2012
Don't wanna be here? Send us removal request.
@harmj0y
Will Schroeder
4 years
5 months ago @tifkin_ and I started looking into the security of Active Directory Certificate Services. Today we're releasing the results of that research- a blog post + a 140-page whitepaper and defensive audit tool (links at the top of the post) [1/6].
31
643
1K
@harmj0y
Will Schroeder
6 years
Active Directory forests are no longer a security boundary thanks to @tifkin_'s printer bug. Check out for weaponization and mitigation details and @Cyb3rWard0g's post for detection guidance
19
787
1K
@harmj0y
Will Schroeder
8 years
So excited - here's my updated "Guide to Attacking Domain Trusts" ! Was a blast to write.
12
597
949
@harmj0y
Will Schroeder
4 years
In case you were worried
Tweet media one
8
81
650
@harmj0y
Will Schroeder
7 years
Y’all knew it was just a matter of time : ) PowerShell is definitely a "gateway drug" to C# - GhostPack is a collection of new security tools (currently C#) details at , code live at
27
377
649
@harmj0y
Will Schroeder
6 years
If you're interested in Kerberos or Active Directory and haven't read @elad_shamir's "Wagging the Dog" post, do yourself a favor and dive in. You won't regret it.
5
244
542
@harmj0y
Will Schroeder
3 years
Hey, do you like tokens? Have you always wanted to "harvest" tokens for offensive purposes? If so check out my new post where I show I can (finally) write a technical post without memes, and then check out the Koh toolset at
14
260
551
@harmj0y
Will Schroeder
7 years
"Operational Guidance for Offensive User DPAPI Abuse" documenting some of the ways to use Mimikatz to play with DPAPI. Thanks @gentilkiwi for all the awesome features! :).
4
338
496
@harmj0y
Will Schroeder
4 years
The offensive AD CS tools from @tifkin_'s and my "Certified Pre-Owned" talk, Certify and ForgeCert, are now live at / ! Thanks to everyone who attended the talk stream!.
7
271
485
@harmj0y
Will Schroeder
5 years
The offensive security community means a lot to me. Following @Antonlovesdnb's great thread that injected some much needed infosec positivity, I wanted to highlight a few (offensive-ish) posts/talks that my team and myself enjoyed over the last year or so.
4
206
480
@harmj0y
Will Schroeder
6 years
Mad props to Microsoft for taking this very very seriously! Reminder that on July 9 things flip, disallowing delegated TGTs across forest trust boundaries by default. This is an awesome fix for the issue that @tifkin_ and I discovered, hats off 👍.
4
198
474
@harmj0y
Will Schroeder
5 years
Finally the end of a very fun ride- I've merged Dev to Master for PowerSploit and marked the project as no longer supported. Offensive PowerShell was how I started my career, and I owe @obscuresec and @mattifestation a debt of gratitude for bringing me in. [1/3].
9
93
452
@harmj0y
Will Schroeder
5 years
Over the last year @tifkin_ and I rewrote GhostPack's Seatbelt from the ground up. Highlights- completely modularized, nearly 2x increase in checks, remote enumeration options, and structured output. Complete changelog at , code at
Tweet media one
20
206
447
@harmj0y
Will Schroeder
6 years
The slides for my @DerbyCon talk "Kerberoasting Revisited" are up at . Thanks to everyone who came out!.
5
193
417
@harmj0y
Will Schroeder
6 years
Have a big post dropping tomorrow, probably one of the more important things I’ve written so far in my career. Should be fun :).
27
50
396
@harmj0y
Will Schroeder
8 years
I promise I'm not dead! New blog: "Pass-the-Hash Is Dead: Long Live LocalAccountTokenFilterPolicy"
9
277
369
@harmj0y
Will Schroeder
6 years
Hey, I heard you like creds! You might like this adaptation of some of @gentilkiwi's DPAPI Mimikatz work: ("Troopers Edition"). Unfamiliar with DPAPI? Check out . Also, @gentilkiwi was right:
Tweet media one
1
176
352
@harmj0y
Will Schroeder
7 years
Thanks for everyone for coming to @tifkin_, @enigma0x3, and my @DerbyCon talk "The Unintended Risks of Trusting Active Directory"! The slides are up at and the printer bug code is live at
5
158
334
@harmj0y
Will Schroeder
8 years
[blog] "The PowerView PowerUsage Series #1" - the start to a series of operationally-focused PowerView posts
2
227
328
@harmj0y
Will Schroeder
8 years
Finally finished drafting my "Guide to Attacking Domain Trusts" post. At 8000+ words, not sure if anyone will read it, but out next week :).
21
42
318
@harmj0y
Will Schroeder
3 years
@tifkin_ and I give you "Certificates and Pwnage and Patches, Oh My!" . We clarify some misconceptions we had about AD CS, explain the KB5014754 patch and its implications, and detail some of the awesome AD CS work from people like @ly4k_ . Enjoy!.
7
181
319
@harmj0y
Will Schroeder
6 years
Nothing revolutionary, but revisiting one of our favorite TTPs in depth, explaining some of the "weird" behavior we've seen in the last few years. Includes details on recent Rubeus kerberoasting enhancements!
4
154
310
@harmj0y
Will Schroeder
8 years
[Blog] "Hunting With Active Directory Replication Metadata" hunting for malicious attack primitives w/ repl metadata.
3
228
306
@harmj0y
Will Schroeder
7 years
[blog/tool] "From Kekeo to Rubeus" - my journey in reimplementing various aspects of @gentilkiwi's #kekeo project. Code is live at !.
6
222
299
@harmj0y
Will Schroeder
4 years
Good news everyone! Rubeus 2.0 is coming _very_ soon, with massive improvements and new features from @exploitph and @_EthicalChaos_ . They've worked hard to bring us all some new fun :)
Tweet media one
4
71
292
@harmj0y
Will Schroeder
7 years
Nothing fancy but found in my notes- some Cobalt Strike situational awareness commands using native CS builtins
4
128
288
@harmj0y
Will Schroeder
2 years
@tifkin_ , @0xdab0 , and I are very proud to announce that the alpha release of Nemesis is now public! The code is at and we have a post explaining details at 1/3.
5
106
290
@harmj0y
Will Schroeder
7 years
The code that @tifkin_ , @enigma0x3, and I built for our ‘The Unintended Risks of Trusting Active Directory’ talk is now up at !.
5
140
288
@harmj0y
Will Schroeder
9 years
[blog] "A Case Study in Attacking KeePass"
13
244
274
@harmj0y
Will Schroeder
5 years
Just released SharpDPAPI v 1.6.0. Landed @lefterispan's PR to incorporate /password:X for masterkey decryption, and integrated the new Chrome v80+ AES key stuff from @djhohnstein's SharpChrome project. Chrome triage is back on the table!
2
125
290
@harmj0y
Will Schroeder
9 years
"Kerberoasting Without Mimikatz" … Kerberoasting background and details on @machosec's sweet PowerView pull request!.
1
270
279
@harmj0y
Will Schroeder
3 years
I've been working on machine learning for a while now. After two years, I think I'm finally starting to (maybe) emerge from the "Valley of Despair". Should have some fun stuff coming out soon!
Tweet media one
16
24
266
@harmj0y
Will Schroeder
4 years
@tifkin_ and I are super excited to present "Certified Pre-Owned: Abusing Active Directory Certificate Services" at BlackHat USA 2021 this year!
Tweet media one
9
90
275
@harmj0y
Will Schroeder
7 years
Really happy with how our @SpecterOps course challenge coins turned out!
Tweet media one
Tweet media two
16
19
272
@harmj0y
Will Schroeder
4 years
For anyone interested, SharpDPAPI/SharpChrome have had some recent mods, including KeePass ProtectedUserKey.bin decryption, a revamp for certificate extraction (including CNG support), and lots of usability updates. Changelog (as always) at
2
109
269
@harmj0y
Will Schroeder
5 years
Rubeus 1.6.0 is out! I had pretty much nothing to do with the new functionality- all @exploitph and @_EthicalChaos_'s awesome work. Writeup on changes at . More detail on @exploitph's #opsec changes is at
1
108
267
@harmj0y
Will Schroeder
4 years
This is an amazing thread for anyone interested in AD and/or kerberos!.
@_nwodtuhs
Charlie Bromberg « Shutdown »
4 years
[thread 🧵] Kerberos basics & (ab)use of Certificates within Active Directory (i.e. AD CS and PKINIT). - Kerberos 101.- Pass-the-Certificate.- UnPAC-the-Hash.- Shadow Credentials.- AD CS escalation (ESC1 to ESC8). (Links and credits at the end)
Tweet media one
2
78
254
@harmj0y
Will Schroeder
5 years
@tifkin_ and myself are happy to announce Seatbelt 1.1.0 ! Various fixes and 10 new modules means we've passed the 100 module mark. Full changelog at
1
113
254
@harmj0y
Will Schroeder
4 years
Tomorrow morning @tifkin_ and I are releasing something we've been working on for over 5 months. We're proud of the work and excited to help shed some more light on the security of Active Directory Certificate Services!.
3
45
248
@harmj0y
Will Schroeder
3 years
Here's first post on my journey into security-focused machine learning, "Learning Machine Learning Part 1: Introduction and Revoke-Obfuscation" Huge shoutout to @danielhbohannon and @Lee_Holmes on blazing the way on this problem set!.
10
101
246
@harmj0y
Will Schroeder
4 years
Nothing fancy, but dug this out of the archives in case anyone else needs to PTH to RDP . tl;dr uses the StdRegProv WMI class to enable Restricted Admin Mode on a remote system you have admin on. The code isn't great but it's functional 👍.
3
77
242
@harmj0y
Will Schroeder
9 years
"Command and Control Using Active Directory" with PoC code at
4
199
232
@harmj0y
Will Schroeder
7 years
"Another Word on Delegation" - abusing resource-based constrained delegation to take over computer objects. Thanks to @elad_shamir for the idea and Rubeus addition!.
1
166
237
@harmj0y
Will Schroeder
7 years
The detailed breakdown of the remote reg DACL modification work from @tifkin_, @enigma0x3, and myself - "Remote Hash Extraction On Demand Via Host Security Descriptor Modification"
3
159
231
@harmj0y
Will Schroeder
8 years
"The Most Dangerous User Right You (Probably) Have Never Heard Of" a follow on to the constrained delegation post.
5
193
226
@harmj0y
Will Schroeder
6 years
Thank you @WEareTROOPERS for another amazing experience! The slides for @tifkin_'s and my "Not a Security Boundary: Breaking Forest Trusts" talk are up at demo video at blog at
0
118
227
@harmj0y
Will Schroeder
9 years
Few goodies for everyone today- first a PowerSploit cheat sheet
3
152
226
@harmj0y
Will Schroeder
3 years
The third post in my adversarial ML series "Learning Machine Learning Part 3: Attacking Black Box Models" is now up at and the Invoke-Evasion repo has been updated with the associated Jupyter notebooks/samples
3
97
217
@harmj0y
Will Schroeder
8 years
[blog] a bit of a niche topic, but here's "A Pentester’s Guide to Group Scoping"
2
153
220
@harmj0y
Will Schroeder
8 years
thinking of releasing Azure build scripts to create the reference trust architecture used in my "Guide to Attacking Domain Trusts" post - any interest?.
34
62
227
@harmj0y
Will Schroeder
8 years
The second post in my "PowerView PowerUsage" series, mapping computer shortnames with the global catalog
0
126
216
@harmj0y
Will Schroeder
8 years
the updated slides for @_wald0's and my @BlackHatEvents/@defcon presentation "An ACE Up the Sleeve" are now up at
2
141
215
@harmj0y
Will Schroeder
7 years
This is freaking awesome Great work guys!!.
1
91
222
@harmj0y
Will Schroeder
8 years
The fourth post in my "PowerView PowerUsage" series - covers enumerating cross-trust DACLs/ACEs.
1
160
208
@harmj0y
Will Schroeder
7 years
Thanks for the warm welcome @Sp4rkCon ! The slides for @tifkin_ , @enigma0x3, and my presentation "The Unintended Risks of Trusting Active Directory" are now up at
2
118
208
@harmj0y
Will Schroeder
3 years
I usually don't share a lot of personal details on Twitter- this past fall my mom died from a rare brain disease and the @ASPCA was one of her favorite causes. Andy/the BH team let me choose them for the charity drive in her honor. Thank you to all who grab a shirt <3.
@_wald0
Andy Robbins
3 years
The #BloodHoundEnterprise team presents: #BloodHound 4.1!. Highlights for this release in this thread 🧵:. With this release, we are selling this limited edition BloodHound shirt. All profits from the sales of this shirt will be donated to the @ASPCA:
21
25
202
@harmj0y
Will Schroeder
3 years
In case you missed it, @tifkin_ and I recently rolled up changes for Seatbelt into a 1.2.0 release with details in the CHANGELOG at . Definitely have some fun new things, thanks to everyone who contributed!.
2
84
202
@harmj0y
Will Schroeder
9 years
"Building an EmPyre with Python" - a Python-based Empire-like agent with a focus on OS X post-exploitation.
9
168
194
@harmj0y
Will Schroeder
2 years
I know I haven't blogged for a bit, but I promise @tifkin_, @0xdab0, and I have been working on something cool! This is the first blog in a series on the problem set we've been tackling, leading up to what we've built to address it - "On (Structured) Data"
9
69
193
@harmj0y
Will Schroeder
8 years
Wheels down in Vegas, not sure we brought enough stickers :)
Tweet media one
17
18
188
@harmj0y
Will Schroeder
4 years
It's almost here! @tifkin_ and I will finally be releasing Certify (for AD CS misconfig abuses) and ForgeCert (for "golden" forged certificates) during the virtual session at #BHUSA Wednesday of our "Certified Pre-Owned" talk!
3
58
191
@harmj0y
Will Schroeder
8 years
GUYS, THIS IS WHO I GET TO WORK WITH EVERYDAY AND RAPHAEL MUDGE IS MY BOSS, I DON’T KNOW HOW THIS HAPPENED.
20
21
177
@harmj0y
Will Schroeder
6 years
"A Case Study in Wagging the Dog: Computer Takeover" - another example of @elad_shamir's recent resource-based constrained delegation work!.
1
101
188
@harmj0y
Will Schroeder
1 year
It's a big day- @tifkin_, @0xdab0, and I are proud to announce that Nemesis 1.0.0 has landed! We have a ton of awesome new features and a streamlined installation, check out the details at and the code at
1
62
188
@harmj0y
Will Schroeder
9 years
note to anyone I chatted with in Vegas- pdfs of cheatsheets for PowerView/PowerUp/PowerSploit/Empire/Beacon are at
2
141
174
@harmj0y
Will Schroeder
7 years
Proud to announce that I've been renewed as a Microsoft MVP!.
13
2
181
@harmj0y
Will Schroeder
8 years
[Blog] Roasting AS-REPs how to abuse accounts w/o Kerberos preauth enabled, basic toolset at
2
135
173
@harmj0y
Will Schroeder
6 years
“I sometimes resort to using Mimikatz as my password manager” - @tifkin_.
2
29
173
@harmj0y
Will Schroeder
3 years
My second post in my adversarial ML series "Learning Machine Learning Part 2: Attacking White Box Models" is now up at and the Invoke-Evasion repo has been updated with the Jupyter notebooks/samples from the post
3
70
175
@harmj0y
Will Schroeder
3 years
I finally landed @exploitph's new `nopac` Rubeus goodness landed in master! Check out his writeup at if you haven't already 👍.
0
59
173
@harmj0y
Will Schroeder
8 years
I love working with people smarter than myself who are convinced they are surrounded by people smarter than themselves, keeps ya grounded.
4
52
165
@harmj0y
Will Schroeder
8 years
The slides from my @BlueHatIL talk "The Travelling Pentester: Diaries of the Shortest Path to Compromise" are up at
2
132
169
@harmj0y
Will Schroeder
5 years
So long PowerSploit, and thanks for all the shells. [3/3].
13
7
164
@harmj0y
Will Schroeder
7 years
Version 0.2.0 of Seatbelt, summary of changes at . A few fun new goodies!
Tweet media one
Tweet media two
Tweet media three
2
79
159
@harmj0y
Will Schroeder
9 years
"The Empire Strikes Back" - details on the Empire 2.0 beta released at @DerbyCon
1
162
158
@harmj0y
Will Schroeder
5 years
Pushed a new Rubeus release after getting some additional feedback from our most recent AT:RTO students. The full changes are detailed here . To highlight a few new features- "/nowrap" globally prevents base64 blobs from line-wrapping, (1/4).
2
82
162
@harmj0y
Will Schroeder
3 years
Very cool Kerberoasting implementation using LsaCallAuthenticationPackage, all through a macro
3
53
159
@harmj0y
Will Schroeder
8 years
[Blog] "Offensive Encrypted Data Storage (DPAPI edition)" nothing too fancy, but might be interesting to some.
2
104
156
@harmj0y
Will Schroeder
8 years
Hrmmm seems familiar ;)
2
77
153
@harmj0y
Will Schroeder
9 years
I've built out a series of cheat sheets for PowerView, PowerUp, and Empire PDFs at
0
117
154
@harmj0y
Will Schroeder
7 years
The demo videos from @tifkin_ , @enigma0x3 , and my #DerbyCon2018 talk "The Unintended Risks of Trusting Active Directory" are up at and , and the video recording is at
0
85
154
@harmj0y
Will Schroeder
9 years
Where My Admins At? (GPO Edition) aka enumerating what users have admin rights where with only DC communications.
3
131
150
@harmj0y
Will Schroeder
4 years
I missed this post when it first dropped but it's a really neat trick! Why is this useful? Say you're in domain A, and A -external_trust-> B -any_trust-> C. Because external trusts don't have transitivity, you can't query/kerberoast/etc. domain C [1/4].
1
53
155
@harmj0y
Will Schroeder
8 years
the next in the "PowerView PowerUsage" series searching for abusable GPOs in a foreign domain.
1
100
148
@harmj0y
Will Schroeder
6 years
By @tifkin_ and @Ne0nd0g's request, just pushed a "triage" command to let you easily triage servers with a lot of tickets. Can filter by /luid:X, /user:USER, or /service:KRBTGT . Less detail than the "klist" cmd, but easier to handle for lots of results
Tweet media one
Tweet media two
1
68
144
@harmj0y
Will Schroeder
3 years
In my first foray into what @moo_hax terms "Offensive ML", I took at shot at data mining documents for passwords using deep learning. You can read about the approach at and can find the notebook + Dockerized model at
3
57
139
@harmj0y
Will Schroeder
7 years
One more new feature for Rubeus 1.2.0 - MS kpasswd resets a la ArotoPW … Post on all the new fun at … Thanks again for #kekeo @gentilkiwi! <3.
0
92
145
@harmj0y
Will Schroeder
2 years
The follow up to our "On (Structured) Data"  post is now up, "Challenges In Post-Exploitation Workflows" . We cover a number of common workflow challenges and briefly introduce the solution @tifkin_, @0xdab0, and I have been working on: Nemesis! 1/3.
3
64
137
@harmj0y
Will Schroeder
6 years
Sidenote for anyone interested, instructions on using Rubeus as a library and/or running Rubeus through PowerShell are now up on the
0
54
135
@harmj0y
Will Schroeder
4 years
Thanks to everyone who attended @tifkin_'s and my "Certified Pre-Owned" sessions! The slides are on the BH website as well as SlideShare , code is on
0
56
136
@harmj0y
Will Schroeder
3 years
In case you missed it, @exploitph and @4ndr3w6S just released some _awesome_ work that just landed into Rubeus' master branch- "Diamond Tickets"! Check out more details at Great work Charlie and Andrew!!.
3
62
136
@harmj0y
Will Schroeder
9 years
Slides and demo commands from my @44CON talk "Trusts You Might Have Missed" are up at and
2
114
132
@harmj0y
Will Schroeder
6 years
Just wanna say how awesome @_xpn_'s blog is (, been really enjoying the posts! Definitely worth a read if you haven't checked it out.
1
33
134
@harmj0y
Will Schroeder
4 years
The slides for @tifkin_'s and my #BlackHatEurope 2021 talk "ReCertifying Active Directory" about securing Active Directory Certificate Services are up at . Thanks to everyone who attended!.
1
78
131
@harmj0y
Will Schroeder
5 years
@Antonlovesdnb @elad_shamir To continue, @_xpn_'s entire blog. The breadth and depth of Adam's work is truly amazing, but if I had to pick a favorite recent post(s) it would be his articles on Mimikatz internals: and
2
31
130
@harmj0y
Will Schroeder
8 years
on PowerView's recent ground-up refactor
7
114
130
@harmj0y
Will Schroeder
6 years
Finally got des_cbc_md5 and aes128_cts_hmac_sha1 support fully integrated into Rubeus so @gentilkiwi would stop being disappointed in me :) Also have some recent Kerberoasting modifications I'll be blogging about soon!.
1
44
127
@harmj0y
Will Schroeder
8 years
The BloodHound slack ( isn't just BloodHound- we have rooms for Aggressor, CrackMapExec, PowerView, and more!.
3
42
123
@harmj0y
Will Schroeder
6 years
Just updated Rubeus' README - updated all examples, organized all the commands (+command breakouts), and added a table of contents. Hope people find it useful!
2
42
117
@harmj0y
Will Schroeder
8 years
Tweet media one
Tweet media two
Tweet media three
Tweet media four
3
44
112