Post86 nn

Elevando Privilegios (UAC) con metasploit


Logo uri spioni mh 1
Cristian Palma P

Descripción


Como hemos visto con anterioridad en BacktrackAcademy, se no ha proporcionado herramientas tanto para la recolección de información como para la explotación de servicios, acompañada de sus guías respectivamente, en esta ocasión considerando que ya sabemos cómo generar un Payload con MSFvenom  y cómo enviar el archivo a su víctima, veremos una etapa importante posteriormente a haber comprometido la máquina.

Elevar privilegios en una parte importante cuando conseguimos comprometer una máquina, dentro de las primeras acciones que realizamos posteriormente a tener nuestra sesión METERPRETER es escalar privilegios para realizar tareas como migrar un proceso o borrar huellas.


Atacando a windows con metasploit


En el siguiente apartado comenzaremos con detectar los host de nuestra red y así identificar a nuestra víctima, esto lo realizaremos mediante la herramienta NMAP con el siguiente comando:


msf > db_nmap –sS –sV –O 192.168.0.1/24


En la siguiente imagen podemos identificar a nuestra víctima asociada con la IP: 192.168.0.31 OS_NAME: Windows 10


Resultado de la enumeración de objetivos con nmap


Identificada nuestra víctima, verificaremos mediante el módulo auxiliar si la máquina es vulnerable con Eternal Blue - Double Pulsar


Escáner para detectar equipos con la vulnerabilidad a EternalBlue


En la siguiente imagen usaremos el módulo auxiliar y definiremos el objetivo a escanear.



  • Configuración del módulo


Como podemos observar a continuación lamentablemente el equipo no es vulnerable a esta técnica por lo que necesitaremos generar un Payload y enviárselo a la víctima.


Ejecución y resultado del módulo



A continuaciones mediante MSFVENOM definiremos el tipo de payload que utilizaremos junto con el target local a cuál deba conectarse nuestra víctima.



Creación del Payload para la víctima


Existen diferentes técnicas las cuales podríamos utilizar para ofuscar nuestro payload en algún archivo o imagen, de manera que nuestra víctima ejecute nuestro el programa y levante la sesión reverse.

A continuación utilizaremos el módulo Handler “Payload genérico” para que esté a la escucha de la ejecución del programa en el equipo víctima.


Configuración genérica módulo handler


En la siguiente imagen agregaremos nuestro payload meterpreter Windows/x64/meterpreter/reverse_tcp al módulo handler y definiremos el Local Host = Equipo Local y el Local Port = 4441.


Configuración del Payload en el módulo handler


Posteriormente a la configuración del exploit ejecutaremos mediante el comando exploit –j de manera que se quedara ejecutando como proceso de fondo y así tener nuestra máquina a la escucha de la ejecución del programa “Payload” desde el equipo víctima.


Ejecución del módulo handler


A continuación en la siguiente imagen posteriormente a la ejecución del exploit desde el equipo víctima, se genera una sesión de meterpreter en la consola de MSF


Conexión exitosa, sesión de meterpreter abierta


Dentro de las características que nos ofrece meterpreter, podemos observar la información del sistema con sysinfo  como observamos a continuación:


Resumen del equipo.



Elevando privilegios con meterpreter


Para comenzar a elevar privilegios dentro de meterpreter utilizaremos la siguiente técnica.

Primero podemos comprobar mediante el comando getsystem -h las técnicas utilizadas por meterpreter para elevar privilegios de un administrador local a usuario SYSTEM, para esto se utilizaron 3 técnicas:


1.- Named Pipe Impersionation (In Memory/Admin): Generado el canal con la víctima, se crea y ejecuta un servicio mediante cmd.exe, generando una suplantación del cliente basada en el servicio de system.

2.- Named Pipe Impersionation (Dropper/Admin): A diferencia de la técnica 1, esta deja un archivo DLL en el disco y programa rundll32.exe como servicio para ejecutar el DLL como system.

3.- Token duplication (In Memory/Admin): Hace un barrido por los servicios abiertos en la búsqueda de alguno que pueda ser ejecutado como sistema y que adicionalmente tenga permisos para inyectar código, se utiliza la inyección de DLL para ejecutar a elevator.dll en la memoria del servicio encontrado.


Técnicas de getsystem



Como podemos ver en la imagen anterior se probaron las diferentes técnicas para elevar privilegios, sin embargo no se tuvo éxito para elevar privilegios.


MSF nos ofrece herramientas que nos permitirán Bypassear la denegación que nos impide elevar privilegios en el equipo víctima, realizaremos este procedimiento mediante los módulos UAC “Usuary Activity Control”.


Para comenzar con este técnica realizaremos una búsqueda de los módulos, mediante el comando Search UAC obteniendo como resultado una lista de exploit diseñados para bypassear UAC y así elevar privilegios.


Lista de módulos UAC.



Como observamos con anterioridad utilizaremos el exploit ASK, este módulo tiene como característica conversar con el equipo comprometido y preguntar al usuario si quiere permitir el acceso de la aplicación desde el usuario administrador en caso se llama “Crisxyz”


C:\metasploit\Captura.JPG

Ventana emergente solicitando permisos para ejecución del exploit


Para ejecutar el exploit debemos dejar la sesión de meterpreter como proceso de fondo y usar use exploit/Windows/local/ask adicionalmente solo debemos indicar la sesión con meterpreter y correr el módulo, posteriormente al equipo víctima le saltará una ventana solicitando los permisos para la aplicación y así generar una nueva sesión con privilegios de system.


C:\Users\Crisxyz\AppData\Local\Temp\SNAGHTML15c0a73.PNG

Ejecución del exploit, aceptación del equipo víctima y creación de la nueva sesión en meterpreter


Podemos verificar que se generó una nueva sesión con privilegios de system.


C:\Users\Crisxyz\AppData\Local\Temp\SNAGHTML15ea5af.PNG

Lista de sesiones comprometidas en MSF


Otro módulo utilizado para la elevación de privilegios en Windows 10 es el módulo Bypassuac_fodhelper

Este módulo omitirá el UAC de Windows 10 mediante el secuestro de una clave especial en el Registro bajo la sección de usuario e insertara un comando que se invocará cuando se lance la aplicación Windows fodhelper.exe


Selección del módulo exploit/Windows/local/bypassuac_fodhelper


Configuramos la sesión comprometida con la Shell de meterpreter y ejecutamos el exploit.


Ejecución del exploit con operación exitosa


El resultado exitoso del exploit nos generará una nueva sesión, sin embargo a diferencia del módulo ASK podemos observar que el usuario continúa siendo: Usuario_P el cual ahora se nos permitirá elevar privilegios a system mediante el comando getsystem, como se observa en la siguiente imagen:


Elevación de privilegios mediante getsystem

Mediante el comando getprivs podemos verificar todos los privilegios habilitados al proceso actual


Privilegios habilitados


Ahora tendremos permisos para manipular el equipo víctima a nuestra voluntad, migrar el proceso ID de la sesión, crear un proceso persistente de manera que nos conecte de manera automática a nosotros, obtener los hash de contraseña de los usuarios, entre otras cosas.


Comando screenshot en la máquina comprometida.


http://192.168.0.30/pantallazo.jpeg
Foto de pantalla de la máquina comprometida




Artículos que te pueden interesar