A port of FuzzySecurity's UrbanBishop project for inline shellcode execution. The execution vector uses a delegate vs an APC on a suspended threat at ntdll!RtlExitUserThread in UrbanBishop
NtCreateSectionis used to create a section objectNtMapViewOfSectioncreates a section view with RW permissions we can write shellcode to- Shellcode is written to the section view
- A second call to
NtMapViewOfSectioncreates a section view with RX permissions - A pointer to the base address of the shellcode is converted to a delegate and executed
- Base64 encode XOR encrypted 64 bit shellcode with PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("$PSScriptRoot\encrypted_shellcode.bin")) | clip
- Copy base64 string into
Program.cs - Replace your XOR key within
Program.cs - Build the project for x64