09 junio 2019

Exploit Local para ProShow


Bueno, esto es un exploit local que hice para la aplicación ProShow v9.0.3797, última versión actualmente. Aquí pongo los detalles para la creación del exploit

Historia

Recuerdo que interactué con un conocido que estaba usando esta herramienta, y  lo cual me dio la curiosidad de probar si hay algún fallo para la última versión, como no hay para esta versión y es vulnerable, me puse manos a la obra :)

Descripción

ProShow: es una aplicación que corre con permiso de administrador, lo cual sirve para escalar privilegios en la máquina que lo tenga instalado, solo tendríamos que remplazar el archivo load por el nuestro


Para empezar la prueba, se pueden descargar el código base desde Aquí

No, sera un post tan grande, ya que algunas técnicas usadas como el salto de SEH este explicado en un post anterior, al igual que Egghunter.

En este caso usaremos el debugger x64dbg y código en python 2 por el momento

Al x64dbg versión x86, le desactivamos la opción System Breakpoint, que esta en opciones -> preferencias. Y si quieren puede cambiar el idioma a español



Ejecutamos el exploit, el cual nos crea un archivo llamado load, el cual debemos remplazar por el archivo original, se puede hacer por linea de comando o copiar y pegar de forma gráfica (Recuerda hacer una copia del original para que después de escalar privilegios, lo dejes en su estado original)

linea de comando

copy load "C:\Program Files\Photodex\ProShow Producer\"





Usamos el plugins CheckSec para ver que seguridad tienen las librerías



Ahora tenemos que buscar los pop pop ret del if.dnt, para así tener un retorno y evadir el SEH. Ahora vamos a la opción Symbols y hacemos click en if.dnt



Al estar aquí, damos doble click, este nos mandara a la referencia en la CPU. Al esta aquí hacemos Click derecho -> search for -> All Modules -> Pattern

Ahí en lo opción de Hex, ponemos 5E 5B, que son los opcode de pop esi pop ebx



Ahora ya tenemos una dirección de memoria donde apuntar, entonces aplicamos las técnicas de SEH y Egghunter listo

Después que tenemos nuestro código listo, ya sea por linea de comando cambiamos nuestro archivo load y ejecutamos el exploit el cual dejara en escucha el puerto 4444


Listo ya tenemos una shell con privilegios :)

Referencias:

https://www.exploit-db.com/exploits/46980
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12788 
https://github.com/risataimpt/Archivos_del_Blog/blob/master/Proshow/proshow.py






No hay comentarios.:

Publicar un comentario

Las Publicaciones más Vistas

Exploit Local para ProShow