Solucionario de De-ICE
Índice:
Introducción:
2
Objetivos:
2
Herramientas:
2
Informe metodológico:
Recolección de información:
3
Enumeración de servicios:
4
Penetración:
5-14
Escalación de privilegios:
14
Obtención de la Flag:
15
Introducción: Junto con Snifer (Jose) llevamos a cabo la explotación de distintas máquinas preparadas para desafíos de pentesting y habilidades de hacking alojadas en el sitio vulnhub.com. En ésta oportunidad toca el turno del entorno De-Ice.
Objetivos: El objetivo de éste desafío es ganar acceso en la máquina De-ICE y obtener la flag flag.txt alojada en el directorio /root/.
El objetivo de esta serie de desafíos, es adquirir práctica y mayores habilidades en el campo del pentesting de cara a la certificación OSCP y para nuestras actividades laborales.
Herramientas: Todas las herramientas que se utilizan en el presente desafío están alojadas en la distribución Kali linux
Nmap V6.47
Dirbuster
John the ripper
Recolección de información:
Tanto la máquina atacante como el target se encuentran virtualizadas con VMware y en modo de red NAT.
Reconocimiento de la ip desde donde se realizará el análisis y segmento mediante el comando ifconfig.
Reconocimiento del target dentro de la red mediante nmap con el comando nmap -sN ip0/24 para que analice todo el segmento correspondiente a 192.168.206.0/24
Enumeración de servicios:
Sobre el equipo target identificado en la dirección ip 192.168.206.135 se realiza un análisis de puertos y servicios mediante el comando nmap -sV -A -O 192.168.206.135
Los puertos abiertos con sus servicios asociados identificados son:
21 ftp
22 ssh
80 http
443 ssl/http
993 ssl/imap
995 ssl/pop3
Penetración:
Iniciamos esta fase con el servicio ftp. Intentamos conectarnos con usuario anonymous de manera exitosa de la siguiente manera:
ftp 192.168.206.135
user anonymous
pass (damos enter sin escribir nada)
Como hemos obtenido acceso listamos directorios con dir.
Identificamos incoming.
Nos movemos al directorio con cd incoming
Listamos nuevamente y no encontramos nada.
Probamos con el puerto 22 que posee el servicio ssh OpenSSH 5.9p1 .
Intentamos conectarnos por defecto, se probaron distintos exploits y intentos de intrusión con brute force sin éxito.
Vamos entonces con el puerto 80 que tiene asociado el servicios de http con un apache 2.2.22.
Utilizamos la herramienta dirbuster para identificar directorios ,el diccionarios utilizado está dentro del kali en el path /usr/share/wfuzz/general/common.txt
Ingresamos por medio de web browser al raíz del web server.
Al analizar el código fuente del mismo identificamos texto que no era visualizables desde el borwser.
El dirbuster nos dio el directorio forum y el texto oculto pregunta si hemos visto el nuevo forum.
Dentro de forum listamos usuarios y permisos.
En el contenido del foro identificamos logs.
Identificando posibles password asociado a MBrown.
Lanzamos dirbuster sobre el puerto 443 que tiene asociado el servicio https para identificar nuevos directorios.
Accedemos al webmail con las credenciales
En los correos identificamos credenciales de mysql, ingresamos al https://192.168.206.135/phpmyadmin
En la tabla forum campo mlf2_userdata obtenemos user y pass
En la tabla mail campo mailbox obtenemos user y pass
En la tabla mysql campo user obtenemos user y pass
Deshasheamos con distinto servicios online. Los único que se lograron reversear fueron:
User
Hash
Pass
rhedley
20f1275ce5e67be2c06476333b68f585
tum-ti-tum
swillard
07255e7701a86ad1672765d15082f1a3
Austin-Willard
Obtenemos acceso por ftp con el user rhedley y el pass tum-ti-tum, no movemos un directorio arriba e identificamos algunas carpetas para analizar.
vamos a ftp->incoming->backup_webhost_13111.tar.gz.enc
Luego de andar bastante por los directorios logramos encontrar downloadkey
Modificamos permisos y accedemos con el downloadkey al ssh con las credenciales de mbrown
Los primeros intentos presentaban el siguiente error:
Con nano /root/.ssh/know_host comentamos todas la líneas y funcionó.
Intentamos movernos a los directorios identificados pero no tenemos permisos.
Intentamos acceder por ssh, el user swillard nos permite el acceso.
Tras analizar los archivos, identificamos en /opt/ un backup.sh
Fragmento útil
openssl aes-256-cbc -in ${TMPBACKUP}/${FILENAME}.gz -out ${TMPBACKUP}/${FILENAME}.gz.enc -pass pass:wpaR9V616xrDTy98L7Uje2DDU5hWtWhs
Utilizamos entonces el comando:
openssl aes-256-cbc -d -in backup_webhost_130111.tar.gz.enc -out backup_webhost_130111.tar.gz -pass pass:wpaR9V616xrDTy98L7Uje2DDU5hWtWhs
Descomprimimos el archivo desencriptado con tar -zxvf nombre de archivo
Nos genera un directorio llamado etc que contiene passwd y shadow
Movemos las credenciales de los tres users a un archivo que al crearlo le pusimos pass
John the ripper nos genera problemas al intentar obtener las credenciales en texto plano, asi que modificamos la extensión del diccionario de lst a txt.
Luego de casi 4 hs de esperar al john no da la contraseña de swillard (brillantissimo)
Después de muchas búsqueda e intentos de acceso, el camino fue el siguiente:
mbrown -> swillard -> root
Una vez con permisos root buscamos el archivo flag.txt sin éxito, pero en /root/, encontramos secret.jpg.
Lo movemos al /var/www
Y visualizamos desde el browser.
@balderramaeric