Bruteshock
Hoy resolveremos la máquina "BruteShock" de DockerLabs
Autor: Darksblack & maciiii___(yo)
Dificultad: Medio

RECONOCIMIENTO
Comenzamos con un escaneo de nmap
En este caso solo el puerto 80 está abierto y corre Apache httpd 2.4.62.
Vamos a la web y no encontramos con lo siguiente:

Como vemos tenemos un panel de login, y si probamos las credenciales básicas no no sirve, por lo que recurrimos a hydra, pero primero revisamos si tenemos cookies:

al parecer tenemos una, por la que también se la pasaremos a hydra para que haga el ataque: Formato:
Aplicado:

Ingresamos las credenciales y vemos la siguiente página:

De primeras parece un pishing pero no lo es, si probamos a ingresar algo no pasa nada interesante, pero en el mensaje dice "User-Agent almacenado en el log". Luego de buscar de que puede tratar (info) intento aprovecharlo. Para esto abro burpsuite y pruebo lo siguiente:
Inicio un servidor con python:
Creo un archivo php que me permita ejecutar comandos al subirlo:
Capturo la petición al entrar a la página y lo envío al repeater(ctrl+r):

request Cambio el user-agent por lo siguiente:
Una vez ejecutado veremos esto:

ahora que la shell se guardó, entramos por el navegador y veremos una página para ejecutar comandos:

ya podemos ejecutar comandos en la máquina victima.
INTRUSIÓN
Para enviarnos una reverse shell no lo podemos hacer con la típica shell de bash, ya que al parecer la máquina las bloquea, por lo que usaremos la página revshells y usaremos la de php exec, escuchamos en el puerto 443 con netcat (sudo nc -lvnp 443) y la enviamos por la web en base64 de la siguiente manera:
Una vez enviado habremos ganado acceso.
ESCALADA DE PRIVILEGIOS
www-data
Para hacer el tratamiento de la tty es un poco distinto, deberemos hacer lo siguiente:
Ahora si revisamos los usuarios en la máquina, veremos 3:
darksblack
maci
pepe
Si buscamos cada archivo por cada usuario veremos lo siguiente:
Como vemos tenemos un txt el cual si lo leemos es el hash del shadow para el usuario darksblack, por lo que utilizaremos este metodo para crackear la contraseña: Cracking a shadow password using john the ripper
Una vez completado todos los pasos obtendremos la siguiente contraseña:

Por lo que escalamos con su darksblack e introducimos sus credenciales.
Darksblack
Si ejecutamos sudo -l veremos que podemos ejecutar como el usuario "maci" un script que se encuentra en su home (por lo que no lo podremos leer), así que lo ejecutamos y vemos que pasa:

Al parecer tenemos que adivinar un numero, este script puede que use un eq comparer de bash para verificar si nuestra entrada es correcta, por lo que si el script usó doble corchete para hacerlo, podremos inyectar un comando y escalar, para hacerlo escribiremos lo siguiente en la adivinanza:
Maci
Ahora al ejecutar sudo -l, veremos que podemos ejecutar el binario exim como el usuario pepe, si investigamos de como escalar encontraremos exploits, pero no son útiles en este caso, ya que exim nos permite ejecutar comandos de la siguiente manera:
Por lo que si lo ejecutamos con sudo como el usuario pepe, estaríamos ejecutando comandos como ese usuario. Para poder escalar no podemos hacerlo con ejecutar "/bin/bash" o "/bin/bash -p", ya que exim no nos dejará hacerlo, la manera correcta es crear un script en "/tmp/" y que contenga la misma shell de php que usamos para entrar solo que dirigida a otro puerto, la manera simple es esta:
Escuchamos con netcat en el puerto 4444
Luego ejecutamos lo siguiente:
en resumen el comando crea el script y lo ejecuta como pepe. Una vez ejecutado habremos recibido una shell como el usuario pepe.
Pepe
Ahora al ejecutar sudo -l veremos que podemos ejecutar el binario dos2unix como root, por lo que para escalar deberemos hacer lo siguiente:
Creamos un archivo en
/tmp/llamado passwd con el contenido de/etc/passwdsolo que eliminando la "x" de root, una vez creado ejecutamos lo siguiente:Ejecutamos
dos2unixde la siguiente manera:
Root
Escalamos a root ejecutando su.

Gracias por leer.....
Última actualización