
Sharpyshell est une feuille de boutique ASP.NET minuscule et obscurcie qui exécute les commandes reçues par un canal crypté les compilant en mémoire à l'exécution.
Sharpyshell ne prend en charge que les applications Web C # qui s'exécutent sur .NET Framework> = 2.0
VB n'est pas pris en charge ATM.
python3 SharPyShell.py generate -p somepassword
python3 SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword
Version Python> = 3,6
et
pip3 install -r requirements.txt
Sharpyshell est un cadre post-exploitation écrit en python qui est capable de:
L'objectif principal de ce cadre est de fournir au testeur de pénétration une série d'outils pour faciliter la phase d'exploitation après une fois qu'une exploitation a été successible contre un serveur Web IIS.
Cet outil n'est pas destiné à remplacer les frameworks pour le serveur C2 (IE Meterpreter, Empire, ECC ..), mais cela doit être utilisé lorsque vous atterrissez sur un serveur entièrement restreint où les connexions entrantes et sortantes sont très limitées.
Dans ce cadre, vous aurez tous les outils nécessaires à PRIVESC, NetDiscovery et le mouvement latéral lorsque vous tapez derrière le CMD du serveur cible.
De plus, ce cadre vise à être furtif autant que possible l'implémentation dans l'exécution de la mémoire pour les modules C # COD et PowerShell.
L'obscurcissement implémenté dans Sharpyshell vise à échapper à la fois les signatures de fichiers et les ID de signatures réseau.
Pour l'évasion des signatures du réseau, un canal entièrement chiffré a été développé pour envoyer des commandes et recevoir des sorties.
L'évasion pour les signatures de fichiers a été réalisée en utilisant la réflexion sur une DLL précompilée en charge de la compilation du code C # compilant.
Généré avec 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