SharpShell is a proof-of-concept offensive C# scripting engine that utilizes the Rosyln C# compiler to quickly cross-compile .NET Framework console applications or libraries.
SharpShell is broken up into three distinct C# projects:
- SharpShell -
SharpShellis the most straightforward of the three projects. It acts as an interactive shell and scripting engine for C# code compiled against chosen source code, references, and resources. The main caveat withSharpShellis that it depends upon .NET Framework 4.6 and 3.5/4.0 being installed on the system. This is becauseSharpShelldepends upon the Roslyn API, which requires 4.6, and executes an assembly in memory cross-compiled for you choice of versions 3.5 or 4.0. - SharpShell.API -
SharpShell.APIandSharpShell.API.SharpShellare two projects meant to be used in tandem. To avoid the opsec limitations and .NET Framework 4.6 requirements ofSharpShell,SharpShell.APIacts as a web-server that handles the compilation forSharpShell.API.SharpShell.SharpShell.APIis a ASP.NET Core 2.1 application and is cross-platform. - SharpShell.API.SharpShell -
SharpShell.API.SharpShellprovides the same interface asSharpShell, but doesn't have the .NET Framework 4.6 requirement.SharpShell.API.SharpShellruns on .NET Framework 3.5, but also requires network communication with aSharpShell.APIserver for handling compilation of assemblies.
You'll find additional details about the SharpShell project in this introductory blog post.
Start up the standalone SharpShell and execute C# one-liners that compile against SharpSploit:
PS C:\Users\cobbr\Demos\SharpShell\SharpShell\bin\Release> .\SharpShell.exe
SharpShell > Shell.ShellExecute("whoami");
desktop-f9dq76g\cobbr
SharpShell > using (Tokens t = new Tokens()) { \
>>> return t.WhoAmI(); \
>>> }
DESKTOP-F9DQ76G\cobbr
SharpShell > Mimikatz.Command("coffee");
.#####. mimikatz 2.1.1 (x86) built on Oct 22 2018 16:27:15
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo) ** Kitten Edition **
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
## \ / ## > http://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > http://pingcastle.com / http://mysmartlogon.com ***/
mimikatz(powershell) # coffee
( (
) )
.______.
| |]
\ /
`----'
SharpShell >