
SharpyShell - это крошечный и запутанная веб -оболочка ASP.NET, которая выполняет команды, полученные зашифрованным каналом, компилирующим их в памяти во время выполнения.
SharpyShell поддерживает только веб -приложения C#, которые работают на .NET Framework> = 2.0
VB не поддерживается банкоматом.
python3 SharPyShell.py generate -p somepassword
python3 SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword
Версия Python> = 3.6
и
pip3 install -r requirements.txt
SharpyShell-это рамка после эксплуатации, написанная на Python, на которую способны:
Основной целью этой структуры является предоставление тестированию проникновения серию инструментов для облегчения этапа после эксплуатации после того, как эксплуатация была успешной против веб -сервера IIS.
Этот инструмент не предназначен для замены рамках для сервера C2 (то есть метрпретер, Empire, ECC ..), но это следует использовать, когда вы приземляетесь на полностью ограниченный сервер, где входящие и исходящие соединения очень ограничены.
В этой структуре у вас будут все инструменты, необходимые для PRIVSC, NetDiscovery и бокового движения, когда вы набираете за CMD целевого сервера.
Более того, эта структура направлена на то, чтобы быть скрытным максимально возможным реализацией в выполнении памяти для кода C# и модулей PowerShell.
Запутывание, реализованное в SpurpyShell, направлено на то, чтобы уклониться как подписи файла, так и идентификаторы сетевых подписей.
Для уклонения от сетевых подписей был разработан полностью зашифрованный канал для отправки команд и получения выходов.
Уклонение для подписей файлов было достигнуто с использованием отражения на предварительно скомпилированном DLL, отвечающего за компиляцию C# CODE.
Сгенерирован с 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 Стандарт x64