miércoles, 10 de febrero de 2016

Scripts de post-explotacion en Metasploit


Ya ingresaste al 2016? Ahora usa estos scripts de post-explotacion en Metasploit para sortear el año

En esta entrada veremos algunos scripts interesantes para utilizar con Metasploit una vez que logramos acceso al sistema objetivo. Es muy importante conocer la gran variedad de herramientas con las que cuenta el framework para asistirnos una vez que nos hicimos de una sesión. Estos scripts nos ayudan por ejemplo a dumpear hashes, conocer los dispositivos del sistema objetivo, verificar que otros equipos se comunican con el, entre otras cosas. Espero que ya tengas tu sesión lista porque ya comenzamos...

Buscando un terreno firme...

Una vez que obtenemos una sesión de meterpreter, lo primero que debemos hacer es migrarla a un proceso mas estable. Esto lo hacemos con el comando migrate seguido del PID del proceso al cual queremos migrar. Para visualizar los procesos que corren en el sistema comprometido utilizamos el comando ps:



Una vez obtenido el listado, ejecutamos migrate + el PID del proceso seleccionado:


Ahora que tenemos una sesión mas estable comenzamos con la segunda etapa, la de buscar persistencia...

Scripts de persistencia

Que pasa si la vulnerabilidad que utilizamos para explotar el sistema objetivo ya no puede ser explotada? O que sucede si el exploit que utilizamos modifica el sistema de forma tal que ya no podremos volver a usarlo? Entonces, lo mas recomendable es ejecutar algún script que nos asegure un futuro acceso. Para asistirnos en esta tarea existen metsvc y persistence

metsvc
Un network service wrapper para meterpreter que puede ser utilizado tanto como un servicio de Windows como una aplicación de línea de comandos. Con el comando run metsvc –h podemos ver sus opciones:



Para instalarlo, solo debemos ejecutar el comando “run metsvc”. Lo ideal primero es migrar la sesión a otro proceso para obtener una shell más estable. Para poder conectarnos al servicio, una vez instalado, debemos utilizar el multi/handler y seleccionar el payload “windows/metsvc_bind_tcp”. Una vez configurado, lo lanzamos y nos conectaremos al sistema a través de nuestro backdoor.

persistence

Un método más efectivo para obtener una mayor persistencia en el equipo comprometido. Para ejecutarlo debemos ingresar el comando “run persistence”


Este script posee varias opciones, la cuales podemos visualizar agregando “-h” al comando previo. Vale la pena comentar algunas de ellas:

-A: Al terminal el proceso, iniciará el multi/handler para conectar con el agente.

-L: Ubicación donde se escribirá el payload. Si no se especifica lo hará e %TEMP%

-U: Iniciará el agente cuando el usuario inicia sesión

Ahora que nos aseguramos la estadía podemos comenzar a recabar información de nuestro equipo...

Jugando con los módulos de post-explotación

Los módulos de post-explotación podemos utilizarlos una vez obtenido el acceso al sistema objetivo. Desde una sesión de meterpreter basta con ejecutar run y el módulo en cuestión. Los podemos encontrar en la siguiente ruta:


Si la sesión de meterpreter esta corriendo como background deberemos especificar que sesión queremos utilizar.

Aquí algunos de los scripts:

checkvm
Script que nos ayuda a verificar si el equipo comprometido es una máquina virtual:


Lo mas probable es que sea una VM, salvo que el equipo se "disfrace" de una de ellas como nos cuenta Chema:

http://www.elladodelmal.com/2014/03/emular-una-maquina-virtual-y-evitar.html


enum_applications
Con este script podremos listar las aplicaciones que se encuentran instaladas en el equipo víctima:


enum_logged_on_users
Un script que nos muestra los usuarios actualmente logueados y los recientemente logueados en el sistema:


usb_history
Script que nos muestra un historial de los dispositivos usb que se conectaron en el equipo:




bypassuac

El User Access Control (UAC), o control de cuentas de usuario, es una tecnología que introdujo Microsoft a partir de Windows Vista para mejorar la seguridad al impedir que aplicaciones maliciosas hagan cambios en el equipo. 

Para poder realizar acciones con privilegios, un programa debe correr como administrador y actuar de acuerdo al UAC. El UAC puede estar configurado de distintas maneras:

Siempre notificar: Es el nivel con mas restricción. Siempre notificará los intentos de ejecutar acciones con privilegios de administrador tanto de programas como de configuración de Windows.

Notificarme solo cuando los programas intenten realizar cambios en mi equipo: Es la opción que viene por default. Nos informará que una aplicación quiere realizar cambios en el equipo y nos solicitará las credenciales de administrador. No recibiremos notificaciones si deseamos realizar cambios en la configuración de Windows.

Nunca notificar: No se notificará cuando un programa quiera realizar cambios. Si el usuario es un administrador, los programas podrán realizar los cambios automáticamente. En cambio, si el usuario es un usuario estandar, se denegarán los permisos automáticamente.


Dentro de Metasploit podemos encontrar el exploit “bypassuac”. Este exploit nos dará una segunda shell que tendrá el flag UAC apagado. Si bien es un exploit y no se encuentra dentro de los módulos de post-explotación, lo contamos como tal dado que es necesario tener una sesión de meterpreter para poder utilizarlo. Cabe destacar que solo funcionará para los casos en que el User Access Control este configurado como “Notificarme solo cuando los programas intenten realizar cambios en mi equipo”. Para utilizarlo primero debemos dejar corriendo de fondo nuestra sesión de meterpreter. Esto lo hacemos con el comando background.


Luego, para usar el exploit ingresamos:

use  exploit/windows/local/bypassuac

Si ejecutamos el comando “show options” veremos que uno de los requisitos para poder lanzar el exploit es indicar el número de sesión de meterpreter:


Seleccionamos nuestra sesión (en este caso la número 2) con el comando:
set  SESSION  numero_sesión


Una vez seleccionada nuestra sesión, ejecutamos el exploit como siempre:


Si todas las acciones fueron realizadas correctamente y ningún antivirus nos bloqueó obtendremos nuestra Shell con privilegios de administrador.

Podemos encontrar la descripción de estos y otros módulos de post-explotación en:

https://www.offensive-security.com/metasploit-unleashed/post-module-reference/

Info sobre bypassuac en:

https://www.rapid7.com/db/modules/exploit/windows/local/bypassuac

Saludos y....

HAPPY HACKING!!!