
Sharpyshell ist eine winzige und verschleierte ASP.NET -Webshell, die Befehle ausführt, die von einem verschlüsselten Kanal empfangen werden, der sie zur Laufzeit im Speicher zusammenstellt.
Sharpyshell unterstützt nur C# Webanwendungen, die auf .NET Framework> = 2.0 ausgeführt werden
VB wird nicht unterstützt.
python3 SharPyShell.py generate -p somepassword
python3 SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword
Python -Version> = 3.6
Und
pip3 install -r requirements.txt
Sharpyshell ist ein in Python geschriebenes Post-Exploitation-Framework, das in der Lage ist:
Das Hauptziel dieses Rahmens ist es dem Penetrationstester eine Reihe von Tools zur Leichterung der Nachbeutungsphase, sobald eine Ausbeutung gegen einen IIS -Webserver erfolgreich war.
Dieses Tool ist nicht als Ersatz der Frameworks für C2 -Server (dh Meterpreter, Empire, ECC ..) gedacht. Dies sollte jedoch verwendet werden, wenn Sie auf einem vollständig eingeschränkten Server gelandet sind, auf dem eingehende und ausgehende Verbindungen sehr begrenzt sind.
In diesem Framework haben Sie alle Tools, die für Privesc, NetDiscovery und laterale Bewegung benötigt werden, wenn Sie hinter dem CMD des Zielservers tippen.
Darüber hinaus zielen dieses Framework darauf ab, so viel wie möglich in der Speicherausführung für C# Code und PowerShell -Module implementieren zu können.
Die in Sharpyshell implementierte Verschleierung zielt darauf ab, sowohl Dateisignaturen als auch Netzwerksignaturen zu entziehen.
Für die Ausweichen für Netzwerksignaturen wurde ein vollständig verschlüsselter Kanal entwickelt, um Befehle zu senden und Ausgänge zu empfangen.
Die Ausweichung für Dateisignaturen wurde unter Verwendung von Reflexion einer vorkompilierten DLL erreicht, die für die Laufzeit -C# -Code zuständig ist.
Erzeugt mit asciiflow.com
+-------------------------------------------+ +--------------------------------------------+
| SharPyShell Client (Local) | | Target Server (Remote) |
+-------------------------------------------+ +--------------+ +--------------------------------------------+
| | | Encrypted | | |
| +--------+-----------------^-----------<----> HTTP <---->-----------+-----------------^--------+ |
| | | | | Channel | | | | |
| |4-Receive |1-Send | +--------------+ | |2-Receive |3-Send |
| | | | | | | |
| +--------v-----------------+--------+ | | +--------v-----------------+--------+ |
| | Module | | | | Webshell URL | |
| +--------+-----------------^--------+ | | +--------+-----------------^--------+ |
| | |Parse |Generate| | | | |Parse |Generate| |
| | +------v------+ +------+------+ | | | | +------v------+ +------+------+ | |
| | |Base64 Resp | |Base64 Req | | | | | |Base64 Req | |Base64 Resp | | |
| | +------+------+ +------^------+ | | | | +------+------+ +------^------+ | |
| | |Decode |Encode | | | | |Decode |Encode | |
| | +------v------+ +------+------+ | | | | +------v------+ +------+------+ | |
| | |Xor/Aes Data | |Xor/Aes Data | | | | | |Xor/Aes Data | |Xor/Aes Data | | |
| | +------+------+ +------^------+ | | | | +------+------+ +------^------+ | |
| | |Decrypt |Encrypt | | | | |Decrypt |Encrypt | |
| | +------v------+ +------+------+ | | | | +------v------+ +------+------+ | |
| | |Response | |C# Code | | | | | |C# Code | |Output | | |
| | +------+------+ +------+------+ | | | | +------+------+ +------+------+ | |
| | | ^ | | | | | ^ | |
| | v | | | | | v | | |
| | +--------+--------+ | | | | +--------+--------+ | |
| | | | | | | | | |
| +---------------- ^ ----------------+ | | +---------------- ^ ----------------+ |
| | | | | |
| |Run&Parse | | |Compile&Run |
| | | | | |
| +------ v ------+ | | +------ v ------+ |
| |Terminal | | | |csc.exe | |
| +---------------+ | | +---------------+ |
| |Modules: | | | |System.dll | |
| |#exec_cmd | | | |Compile in Mem | |
| |#exec_ps | | | |No exe output | |
| |#runas | | | | | |
| |..... | | | | | |
| | | | | | | |
| +---------------+ | | +---------------+ |
| | | |
+-------------------------------------------+ +--------------------------------------------+
#download Download a file from the server
#exec_cmd Run a cmd.exe /c command on the server
#exec_ps Run a powershell.exe -nop -noni -enc 'base64command' on the server
#inject_dll_reflective Inject a reflective DLL in a new (or existing) process
#inject_dll_srdi Inject a generic DLL in a new (or existing) process
#inject_shellcode Inject shellcode in a new (or existing) process
#invoke_ps_module Run a ps1 script on the target server
#invoke_ps_module_as Run a ps1 script on the target server as a specific user
#lateral_psexec Run psexec binary to move laterally
#lateral_wmi Run builtin WMI command to move laterally
#mimikatz Run an offline version of mimikatz directly in memory
#net_portscan Run a port scan using regular sockets, based (pretty) loosely on nmap
#privesc_juicy_potato Launch InMem Juicy Potato attack trying to impersonate NT AUTHORITYSYSTEM
#privesc_powerup Run Powerup module to assess all misconfiguration for privesc
#runas Run a cmd.exe /c command spawning a new process as a specific user
#runas_ps Run a powershell.exe -enc spawning a new process as a specific user
#upload Upload a file to the server
Windows Server> = 2008 Standard X64