
Sharpyshell adalah webshell ASP.NET yang kecil dan terkalahkan yang mengeksekusi perintah yang diterima oleh saluran terenkripsi yang mengkompilasi mereka dalam memori saat runtime.
SharpyShell hanya mendukung aplikasi web C# yang berjalan di .NET Framework> = 2.0
VB tidak didukung ATM.
python3 SharPyShell.py generate -p somepassword
python3 SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword
Versi Python> = 3.6
Dan
pip3 install -r requirements.txt
Sharpyshell adalah kerangka kerja pasca-eksploitasi yang ditulis dalam Python yang mampu:
Tujuan utama dari kerangka kerja ini adalah memberikan penguji penetrasi serangkaian alat untuk memudahkan fase pasca eksploitasi setelah eksploitasi telah berhasil terhadap server web IIS.
Alat ini tidak dimaksudkan sebagai pengganti kerangka kerja untuk server C2 (yaitu meterpreter, kekaisaran, ECC ..) tetapi ini harus digunakan ketika Anda mendarat ke server yang sepenuhnya terbatas di mana koneksi masuk dan keluar sangat terbatas.
Dalam kerangka kerja ini Anda akan memiliki semua alat yang diperlukan untuk menguntungkan, netdiscovery, dan gerakan lateral saat Anda mengetik di belakang CMD dari server target.
Selain itu, kerangka kerja ini bertujuan untuk bersembunyi sebanyak mungkin penerapan dalam eksekusi memori untuk modul C# Code dan PowerShell.
Kebingungan yang diimplementasikan di SharpyShell bertujuan untuk menghindari tanda tangan file dan ID tanda tangan jaringan.
Untuk penghindaran tanda tangan jaringan, saluran yang sepenuhnya dienkripsi telah dikembangkan untuk mengirim perintah dan menerima output.
Penghindaran untuk tanda tangan file telah dicapai dengan menggunakan refleksi pada DLL yang dikompilasi yang bertanggung jawab atas runtime yang menyusun kode C#.
Dihasilkan dengan 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 standar x64