WriteUps Friendly
Este WriteUp documenta la solución para la máquina “Friendly” de HackMyVM. A través de varias etapas de reconocimiento, explotación y elevación de privilegios, el objetivo es obtener acceso a la máquina y escalar privilegios para convertirnos en el usuario root.
Progreso del WriteUp
Reconocimiento inicial
No fue necesario realizar un escaneo para identificar la dirección IP, ya que la máquina Friendly mostraba directamente la IP local que estaba usando. Procedí a realizar un escaneo completo de puertos utilizando nmap
:
El resultado del escaneo mostró:
Resultado: Se detectaron dos servicios importantes:
- Puerto 21: Servicio FTP ProFTPD abierto con acceso anónimo.
- Puerto 80: Servicio HTTP con Apache.
Explotación
Me conecté al servicio FTP utilizando el acceso anónimo:
Conectado al servidor FTP, ejecuté un dir
para listar los archivos disponibles. Encontré dos archivos interesantes: index.html
y pwned-friendly.php
. Descargué ambos a mi máquina local:
Al revisar el archivo pwned-friendly.php
, me di cuenta de que contenía una reverse shell. Modifiqué el archivo para añadir mi dirección IP local y luego lo volví a subir al servidor FTP.
Luego de esto, me coloqué a la escucha utilizando netcat
:
Finalmente, al acceder al archivo pwned-friendly.php
desde el navegador, conseguí ejecutar la shell reversa y obtener acceso a la máquina. No obstante, la conexión no era estable, por lo que decidí utilizar la reverse shell de PHP PentestMonkey.
Después de modificar el contenido del archivo pwned-friendly.php
con la shell de PentestMonkey y volver a subirlo, logré obtener una conexión más estable.
Una vez dentro, navegué hacia el directorio /home
y encontré un directorio llamado RiJaba1
. Allí se encontraba el archivo user.txt
que contenía la primera bandera.
Bandera de usuario capturada:
Escalada de privilegios
Para elevar privilegios, ejecuté sudo -l
y descubrí que el usuario podía ejecutar vim
como root sin necesidad de contraseña:
Me dirigí a GTFOBinspara encontrar una forma de usar vim
para escalar privilegios. La solución fue ejecutar el siguiente comando:
Resultado: Logré obtener acceso como root. Luego, me dirigí a la carpeta /root
esperando encontrar la bandera de root (root.txt
). Sin embargo, no estaba allí. En su lugar, encontré una pista que indicaba utilizar find
para buscar la bandera.
El comando find
reveló que la bandera de root se encontraba en el directorio /var/log/apache2/
. Una vez allí, ejecuté:
Bandera de root capturada.
Aprendizaje
La máquina Friendly fue un buen ejercicio para practicar el uso de servicios FTP anónimos y para aprender a usar herramientas como GTFOBins
para escalar privilegios. También destacó la importancia de buscar pistas adicionales cuando el camino hacia la bandera de root no es el esperado.
Comandos
- Escaneo de puertos:
- Conexión al servicio FTP:
- Descarga de archivos desde FTP:
- Modificación de la reverse shell:
- Colocarse a la escucha con
netcat
: - Acceso como root usando
vim
: - Buscar la bandera de root con
find
: - Captura de la bandera de root: