Titulo: TryHackMe - MindGames |
Fecha: 20-07-2021 |
Descripcion: Enumeracion - BrainFuck - Capabilities |
TryHackMe - MindGames Writeup
## Ping:
ping -c1 10.10.182.27
Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos
Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.
## Enumeracion :
Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:
Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo
Vamos a realizar un escaneo de puertos mas intensivo en busqueda de versiones de servicios y aplicando algunos scripts basicos de enumeracion de Nmap
Como tenemos el puerto del servicio HTTP abierto , vamos a relizar una busqueda mediante WhatWeb en busca de gestores de contenido o que nos proporcione mayor informacion
## Enumeracion Web:
Vamos abrir la pagina web y vamos a ir inspeccionandola , nos vamos a encontrar un campo donde nos permite ejecutar codigo en un lenguaje llamado BrainFuck
BrainFuck es un lenguaje de programacion esoterico , vamos a necesitar buscar un codificador online para escribir en ese lenguaje y ver si nos lo interpreta
Mediante esta pagina web nos permite escribir codigo en python y pasarlo a Brainfuck
Si copiamos el codigo resultante y lo ejecutamos nos deberia devolver "hola"
Por lo que como vemos que nos ejecuta perfectamente el codigo , vamos a realizar un intento de una shell reversa mediante python hacia nuestro equipo de atacante
Nos ponemos a la escucha mediante el puerto 443 y nos debe devolver una shell reversa
Una vez ya tenemos una shell , ya podriamos visualizar el flag del usuario
## Escalada de Privilegios:
Ahora tenemos que escalar privilegios , tenemos que ir buscando permisos SUID , en este caso vamos a buscar Capabilities , es similar a la explotacion de archivos SUID
getcap -r / 2>/dev/null
Tenemos una potencial del servicio OpenSSL
Vamos a crear un fichero llamado root en C , el cual nos va a permitir ejecutar una shell con permisos de Root
Ahora vamos a proceder a compilar ese fichero
sudo gcc -fPIC -w -o root.o -c root.c
gcc -shared -o root.so -lcrypto root.o
Ahora vamos a compartirnos un servidor mediante Python y vamos a descargar el fichero ejecutable en la maquina victima
openssl engine -t `pwd` /root.so
Y ya tendriamos permisos de Root y podremos visualizar el flag
Ya tendriamos la maquina MindGames con una dificultadad Media Explotada!