Skip to content

Go project to abuse SeTcbPrivilege to request service tickets on behalf of loggedon users (the 12th labour)

Notifications You must be signed in to change notification settings

snowpeacock/heracles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

heracles

Go project to abuse SeTcbPrivilege to request service tickets on behalf of loggedon users (the 12th labour)

Use

Heracles is an Active Directory pentest tool that uses LsaCallAuthenticationPackage to request a Kerberos Service Ticket as another connected user. This allows to target protected users (unlike LSASS dump methods) and is probably stealthier than basic impersonation techniques.

First use klist sessions to get the LUID of the victim (connected user or machine account 0x3e7). Then use heracles to get a base64 encoded ticket to any service:

heracles.exe -spn HOST/DC.MINI.LAB -luid 0x1bb70d

The ticket is a base64 encoded kirbi file, you can use it with Rubeus or convert it to use it with impacket tools.

Demo

Dumping a service ticket to access the domain controller as a loggedon domain admin (protected user). alt text Then using it with impacket tools on another computer. alt text

Compile

Compile with something like:

GOOS=windows GOARCH=amd64 go build -o heracles.exe -ldflags="-s -w" main.go

Use garble to compile your personal obfuscated version with:

GOOS=windows GOARCH=amd64 garble -literals -seed=random -tiny build -o hercules_ofs.exe -ldflags="-s -w" main.go

What if I really want a TGT ?

Sure, request a service ticket for KRBTGT/YOURDOMAIN. This could lead to detection if the Domain Controller keeps track of which computer requested the TGT and which computer used it. alt text alt text

Acknowledgement

About

Go project to abuse SeTcbPrivilege to request service tickets on behalf of loggedon users (the 12th labour)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages