Wallet

Hoy realizamos la maquina Wallet de la plataforma DockerLabs

Autor: Pylon & El Pingüino de Mario

Dificultad: Medio

Wallet

Reconocimiento

Comenzamos con un escaneo de nmap:

Al parecer nos enfrentamos a una maquina debian con un solo puerto abierto:

Puerto 80: Apache httpd 2.4.59

Sabiendo esto continuamos desde el navegador.

Estando ahí, vemos una web que parece ser una plantilla, pero hay un botón que dice "Get A Quote" el cual si le damos, nos redirige a un dominio, el cual es panel.wallet.dl, por lo que continuamos agregándolo al /etc/hosts.

Una vez estamos en la web de panel.wallet.dl, veremos un panel de registro, en el cual nos registramos con cualquier credencial y continuamos. Luego de iniciar sesión, vamos a about.php, y veremos que hay una linea que dice lo siguiente:

Intrusión

Por lo que luego de buscar, encuentro que se pueden subir archivos a través de una vulnerabilidad. Sabiendo esto, nos aprovechamos de ella siguiendo los pasos de la exploit-db. Que en resumen, es ir a "New Subscription", en donde podemos elegir un logo para la suscripción, subimos la shell en php que tengamos, y luego con burpsuite capturamos la peticion. Finalmente la modificamos para que quede como en la página de exploit-db y listo, nuestra shell estará subida. (Principalmente lo que se debe modificar es que el codigo tenga lo siguiente al principio: GIF89a;)

Escalada De Privilegios

www-data

Estando dentro como www-data, realizamos un tratamiento de la tty, y al ejecutar sudo -l, veremos que podemos ejecutar el binario awk como el usuario "pylon", por lo que luego de buscar, para escalar simplemente debemos ejecutar el siguiente comando:

Pylon

Si vamos a la home del usuario pylon, veremos que hay un zip con contraseña, por lo que tendremos que pasarlo a nuestra maquina. Como python3 no está instalado, lo haremos usando /dev/tcp. Para esto, debemos escuchar en nuestra maquina usando netcat de la siguiente manera:

luego, en la maquina victima ejecutar el siguiente comando:

una vez lo hagamos, tendremos el zip en el host.

Ahora intentaremos sacar la contraseña usando zip2john y john, para esto primero sacamos el hash:

y luego lo rompemos con john de la siguiente manera:

luego de hacerlo, nos dirá que la contraseña del zip es "chocolate1". Lo descomprimimos con unzip y al leer la nota que nos deja, vemos lo siguiente:

Por lo que ya tenemos credenciales para escalar al usuario pinguino.

Pinguino

Siendo el usuario pinguino, podemos ejecutar sed como root, por lo que para escalar simplemente modificamos el /etc/passwd eliminando la x de root de la siguiente manera:

luego, ejecutamos su y ya seremos root.

Root

Root

Gracias por leer :)

Última actualización