Chill Hack
Dificultad: fácil
Last updated
Dificultad: fácil
Last updated
Comenzamos haciendo un escaneo de puertos con Nmap:
Como se ve en la imagen la máquina tiene 3 puertos abiertos: 21(FTP), 22(SSH), 80(HTTP).
Por el escaneo hecho con nmap vemos el servicio FTP tiene habilitado el login "anonymous" y que hay por lo menos un archivo .txt, así que entramos y descargamos el archivo note.txt a nuestro pc. Vemos que hay dos posibles usuarios: anurodh y apaar.
Después nos pasamos al servicio HTTP, entramos a la página web e inspeccionamos pero no encontramos nada que nos ayude.
Procedemos a hacer enumeración de directorios con Gobuster:
Esto nos da una ruta de interés /secret
Al ir a la ruta, encontramos con un campo en el que podemos introducir comandos, pero aquí es donde aplican las restricciones que se mencionaban en la nota, ya que al querer usar comandos como ls
o cat /etc/passwd
aparece un mensaje en rojo.
Intentamos pasar este filtro usando el comando echo
y confirmamos usuarios mencionados en la nota y algún otro.
Una vez visto como saltarnos las restricciones, podemos enviarnos una reverse shell
Hacemos enumeración de las carpetas de los usuarios entramos a la unica carpeta a la que tenemos acceso /apaar
entre los archivos encontramos un script en bash llamado .helpline.sh
, en el contenido del script podemos ver que podríamos ejecutar comandos.
Listamos los comandos que podemos ejecutar como sudo y, por suerte, tenemos permiso ejecutar el script como el usuario apaar.
Ejecutamos el script como el usuario apaar y cuando nos pregunte por el mensaje ingresamos /bin/bash
, con esto logramos migrar de usuario.
Una vez dentro del usuario podemos ver la primer flag dentro del archivo local.txt
Después de estar explorando mucho alguna forma de escalar privilegios o movernos a otro usuario, admito que tuve que buscar alguna pista, la cual encontré en este writeup:
Con esta pista, me di cuenta que debía de buscar en /var/www/files
donde encontramos un archivo .php, al parecer debe de haber algo interesante con la imagen hacker-with-laptop_23-2147985341.jpg
En la ruta de la imagen creamos un server en Python y en la descargamos en nuestra máquina local con wget.
Una vez descargada la imagen, intentamos ver sus metadatos con exiftool, pero hallamos algo de interés. Por lo que usamos steghide extraer cual quier información oculta que pueda tener la imagen.
Nos extrajo un archivo .zip el cual esta protegido con contraseña , por lo que usamos JohnTheRipper, primero extraemos la el hash de la contraseña con zip2john y después intentamos romper el hash con John.
Con la contraseña obtenida extraemos el contenido del zip, el cual es un archvio php, en su contenido podemos ver que esta contraseña en base64 del usuario anurodh.
Decodificamos la contraseña y en la máquina victima nos cambiamos al usuario anurodh
Con el comando id
, vemos el el usuario anurodh pertenece al grupo docker
Haciendo una búsqueda rápida en GTFOBins, encontramos el siguiente comando para escalar privilegios.
Como root podemos ver el contenido de la segunda flag.
Eliminar login anonimo del servicio FTP.
Configurar reglas de firewall para evitar escaneos automatizados.
Restringir la ejecución de comandos en el panel web: Implementar controles estrictos sobre qué comandos pueden ejecutarse desde la interfaz web, limitando el acceso a solo aquellos necesarios para la funcionalidad del sistema. Además, utilizar mecanismos de escape para evitar la inyección de comandos maliciosos, y aplicar roles y permisos adecuados para el uso de esta funcionalidad.
Validar entradas en scripts sensibles: Modificar el script helpline.sh para evitar la ejecución de comandos arbitrarios al usar variables como $msg
. En su lugar, las entradas de los usuarios deben ser validadas o sanitizadas para evitar inyecciones de comandos. Además, limitar la ejecución del script a usuarios autorizados y revisar las configuraciones de sudo
para evitar escaladas de privilegios.
Evitar exponer contraseñas, incluso si están cifradas, y usuarios en scripts, como es el caso de source_code.php
Implementar contraseñas más fuertes y seguras, así como algoritmos de hasheo más robustos