https://github.com/cobbr/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.
https://github.com/cobbr/sharpshell
Last synced: over 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cobbr/sharpshell
- Owner: cobbr
- License: bsd-3-clause
- Created: 2018-12-11T16:19:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-11T16:24:48.000Z (over 7 years ago)
- Last Synced: 2025-04-13T01:08:20.592Z (over 1 year ago)
- Language: C#
- Homepage:
- Size: 8.62 MB
- Stars: 125
- Watchers: 7
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SharpShell
[SharpShell](https://github.com/cobbr/SharpShell) is a proof-of-concept offensive C# scripting engine that utilizes the [Rosyln](https://github.com/dotnet/roslyn) 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](https://cobbr.io/SharpShell.html).
### Quick Start
Start up the standalone `SharpShell` and execute C# one-liners that compile against [SharpSploit](https://github.com/cobbr/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 >
```