Skip to content

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.

License

Notifications You must be signed in to change notification settings

cobbr/SharpShell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SharpShell

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 - SharpShell is 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 with SharpShell is that it depends upon .NET Framework 4.6 and 3.5/4.0 being installed on the system. This is because SharpShell depends 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.API and SharpShell.API.SharpShell are two projects meant to be used in tandem. To avoid the opsec limitations and .NET Framework 4.6 requirements of SharpShell, SharpShell.API acts as a web-server that handles the compilation for SharpShell.API.SharpShell. SharpShell.API is a ASP.NET Core 2.1 application and is cross-platform.
  • SharpShell.API.SharpShell - SharpShell.API.SharpShell provides the same interface as SharpShell, but doesn't have the .NET Framework 4.6 requirement. SharpShell.API.SharpShell runs on .NET Framework 3.5, but also requires network communication with a SharpShell.API server for handling compilation of assemblies.

Intro

You'll find additional details about the SharpShell project in this introductory blog post.

Quick Start

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` ( benjamin@gentilkiwi.com )
 ## \ / ##       > http://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > http://pingcastle.com / http://mysmartlogon.com   ***/

mimikatz(powershell) # coffee

    ( (
     ) )
  .______.
  |      |]
  \      /
   `----'

SharpShell >

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages