El paso de la máquina de laboratorio para el pentest "Hackthebox - Friendzone"

Hola Habr! En este artículo quiero contarles sobre mi experiencia al pasar el laboratorio Friendzone en el portal hackthebox. Para aquellos que no han escuchado lo que es hackthebox , este es un portal donde puedes probar tus habilidades más recientes en la práctica, hay máscaras de CTF y máquinas de laboratorio, una de las cuales se discutirá en este artículo.

Diré de inmediato que las reglas del servicio dicen: "No comparta cómo hackeó cada máquina con otros miembros. Esto incluye la generación del código de invitación y todos los desafíos " . Pero dado que esta máquina ya no está activa y se almacena en la sección "Máquinas retiradas", solo los miembros VIP tienen acceso a las máquinas en esta sección y las redacciones, este artículo no viola nada y es completamente legal. ¡Entonces comencemos!



Recopilación de información


Comencemos nuestra exploración comenzando el escaneo de puertos con nmap.



De lo anterior se puede ver que los puertos 21 (ftp), 22 (ssh), 53 (dominio), 80 (http), 139 (netbios-ssn), 443 (https) están abiertos. Miremos a ellos.

Enumerar 139 / tcp (netbios-ssn)


Utilizaremos la utilidad enum4linux para enumerar los recursos compartidos en el host. A partir de la salida de la utilidad, está claro que está permitido ingresar a los recursos / general y / Desarrollo



Ahora necesitamos verificar estos recursos.

Usando smbclient //10.10.10.123/general encontramos el archivo creds.txt que contiene algunas credenciales, guárdelo.





Enumeración DNS


Utilizaremos la utilidad de excavación , que permite verificar los registros en el servidor DNS especificado para el dominio / subdominio. El nombre de dominio friendzone.red se toma del certificado SSL de CommonName (salida de nmap para 443 / tcp).



Vamos a 10.10.10.123



Notamos el buzón info@friendportal.red y usamos dig nuevamente.



Agregue las entradas resultantes a / etc / hosts

Ahora tenemos una lista de direcciones que deben revisarse para los siguientes clientes potenciales. Omitiré parte de la historia donde las páginas resultaron ser agujeros de conejo. Consideramos solo hallazgos útiles.

Vamos a administartor1.friendzone.red e ingresamos las credenciales que se encuentran en //10.10.10.123/general/creds.txt





Visita /dashboard.php



Se les pide que ingresen ciertos parámetros para obtener imágenes. Como resultado, tenemos 2 imágenes disponibles.





Por prueba y error, entendemos que la página es vulnerable a LFI (Inclusión de archivos locales) . Y que podemos cargar el shell a través de smbclient y acceder a él utilizando esta vulnerabilidad. Lo intentamos!

Descargue el shell en Desarrollos.





Regresamos a la página y nos referimos al shell cargado.



Antes de eso, por supuesto, ejecutando netcat para escuchar en el puerto 1234.



Obtenemos el shell del usuario de www-data.

Después de revisar el volunbox, encontramos el archivo mysql_data.conf, que contiene las credenciales del usuario amigo.





Intentemos obtener una terminal e iniciar sesión como amigo.



Entramos en el directorio de inicio / home / friend y recogemos la bandera del usuario.

Agarra root.txt


Descargue pspy64 en el volunbox para rastrear los procesos en ejecución.

Encabezado de spoiler
pspy es una herramienta diseñada para rastrear procesos sin la necesidad de privilegios de root. Le permite ver comandos ejecutados por otros usuarios, trabajos cron, etc. a medida que avanzan.



Comenzamos pspy64, antes de configurar la "ejecución" en el archivo chmod + x.



Notamos que reporter.py se inicia desde un usuario con UID = 0 (es decir, root). Veamos el contenido del archivo reporter.py



Casi todas las líneas están comentadas y no tienen sentido, excepto la primera, donde se importa el módulo os. ¿ Secuestro de biblioteca ?

Este módulo os.py tenía una resolución de 777, por lo que podíamos realizar cambios de forma segura desde el usuario Friend.

Al agregar el sistema de línea ("cp /root/root.txt /home/Friend/root.txt") al módulo os.py y esperar un momento a que se inicie el script.



Tenemos la bandera raíz. Victoria!

Source: https://habr.com/ru/post/464287/


All Articles