Write up | Blocky - Maquina Retirada

Write up | Blocky - Maquina Retirada

Para comenzar iniciamos validando que tenemos conexión a la maquina esto lo podemos hacer con: ping -c 1 {ip} una ves corroboramos que tenemos conexión, procedemos a realizar un escaneo con nmap.

Una vez finalizado el escaneo podemos evidenciar que tenemos los puertos 21, 22, 80, 25565 abiertos, ahora en este caso debemos de usar la flag -sCV -p{n,n1,n2,n...} de nmap para validar los servicios que corren por estos puertos.

Una vez validamos los servicios que corren por los puertos podemos ver que en puerto 80 tenemos http://blocky.htb. El ver que hay un servicio web hacemos uso de whatweb este es es como wappalizer pero a nivel de consola. Su funcionamiento es simple whatweb {host o ip}. en este caso seria whatweb http://blocky.htb. Esto nos da más informacion acerca de la web.

Para evitar tener problemas al ingresar a http://blocky.htb debemos de ingresar a nuestro /etc/hosts con sudo nano /etc/host y debemos de indicar la ip siguiente del dominio, 10.129.68.5 blocky.htb. Como podemos ver al ingresar al apartado web vemos un wordpress, lo cual podemos corroborar con nuestro escaneo de web anterior, efectivamente tenemos como CMS (sistema de gestión de contenidos).

Si analizamos la pagina a grandes rasgos no tenemos mucha información, tenemos el /wp-admin y nos encontramos con el panel de login de wordpress, pero en este caso no intentaremos ataques al panel de login con wp-scan . Hacemos uso de la herramienta de dirsearch para hacer enumeración de directorios y podemos encontrar unos interesantes. Inicialmente en el escaneo hemos podido ver un versionamiento de apache este nos servirá para mas adelante. ahora bien para el uso de la herramienta de dirsearch es simple dirsearch -u {url} y este comenzara a realizar enumeración a los directorios. Uno de los que es interesante es /plugins le daremos un analisis a este directorio.

cuando ingresamos a http://blocky.htb/plugins/ vemos unos archivos "Files" llamados BlockyCore.jar y otro llamado griefpre.... Nos descargaremos los archivos y le daremos un análisis en Jd-Gui este es un software para hacer reversing a archivos jar.

Una vez tenemos los archivos cargos en nuestro descompilador lo primero vemos es un usuario root y una contraseña en texto plano, lo cual resulta curioso así que vamos hacer uso de estas credenciales en algún panel de login.

Cuando hicimos en escaneo de directorios evidenciamos la presencia de /phpmyadmin al ingresar a este directorio podemos evidenciar que tenemos un panel administrativo en el cual haremos uso de nuestras credenciales.

Las credenciales que capturamos del descompilador son validas a nivel de sistema.

Moviéndonos por las opciones e ingresado a wp_users para ver usuarios existentes a nivel del wordpress y efectivamente tenemos un usuario llamado notch con un user_pass pero esta no es legible, ahora bien podemos cambiar la contraseña y ponerla en MD5 para ingresar al panel de wordpress, pero viendo que tenemos el puerto SSH abierto decido ingresar con estas credenciales.

Podemos ver los dos usuarios que hemos logrado dumpear en el transcurso de la solución de la maquina, tenemos el de root y el de Notch con sus respectivas.

Ingresar por ssh ya que tenemos el puerto 22 abierto, el comando que usamos para ingresar por ssh es ssh usuario@dominio que en este caso seria ssh notch@blocky.htb este nos pedirá una contraseña para ingresar y se la pasaremos y como podemos ver ya estamos dentro de la maquina.

tenemos la flag del usuario ahora debemos ir por la flag del root, esta maquina tiene una escalada muy sencilla.

Podemos validar los permisos SUID que estan corriendo:
find / -perm -4000 -type f 2>/dev/null

/bin/su
/bin/fusermount
/bin/mount
/bin/ping
/bin/umount
/bin/ping6
/bin/ntfs-3g
/usr/bin/chfn
/usr/bin/pkexec
/usr/bin/newuidmap
/usr/bin/sudo
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/at
/usr/bin/newgidmap
/usr/bin/chsh
/usr/bin/newgrp
/usr/lib/openssh/ssh-keysign
/usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/snapd/snap-confine
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/eject/dmcrypt-get-device

Al momento de validar los SUID podemos tambien ver en el id el (sudo) y podemos pasar a root de dos formas.

sudo /bin/su

[sudo] password for notch:
root@Blocky:/home/notch# id
uid=0(root) gid=0(root) groups=0(root)

Y ya estamos como sudo o simplemente usando la flag -i de sudo:

-i: Es una opción que se utiliza con sudo para iniciar una nueva sesión de shell interactiva con los privilegios del usuario root. Cuando se utiliza sudo -i, se inicia una nueva shell con todas las variables de entorno y configuraciones del usuario root. Ingresamos la contraseña y escalamos como root directamente.

sudo -i 
[sudo] password for notch:
root@Blocky:~# ls
root.txt

P̸̮̙̤͉͉͊ͅW̶̡̯͚̺̝͈̣̼̬̹̒͒͒̔̐͆̍̀͘Ṋ̵̛̘̃͛͑̑̂͝Ê̷͍͉̝̜̣̳͑̽̓͛̉͒̾͝D̶̡̰̣̻̐̎͋͐̍͗