Post

Trust

Trust

Pasos Iniciales

  • Descargar la maquina Trust de DockerLabs
  • Teniendo la maquina en nuestro equipo debemos correr el siguiente comando para descomprimirla:
1
unzip Trust.zip
  • Procedemos a iniciar maquina Trust con el siguiente comando:
1
2
3
4
#Con esto damos permisos de ejecución al archivo encargado de desplegarnos la máquina.
sudo chmod +x auto_deploy.sh
#Levantamos la maquina objetivo
sudo bash auto_deploy.sh Trust.tar

A partir de este momento ya tenemos nuestra maquina objetivo lista para comenzar a jugar con ella.


Reconocimiento y Enumeración

Para iniciar con esta máquina debemos verificar conexión con la maquina objetivo. Para ello le lanzamos el comando ping:

1
ping -c 1 172.17.0.2

Con este comando podemos ver que la maquina esta activa y tenemos alcance hacia ella

Ahora que sabemos que el equipo este activo procedemos a realizar un escaneo de puertos, servicios y versiones utilizando la herramienta Nmap.

1
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2

Este comando al ejecutarlo con estos parámetros le estamos indicando lo siguiente:

1
2
3
4
5
6
7
-p- Escanea los 65535 puertos existentes
--open Reporta solo los puertos abiertos
-sS Realiza un stealth Scan el cual no completa el three-way handshake (SYN / SYN-ACK / RST)
--min-rate 5000 Procesa no menos de 5000 paquetes por segundo
-vvv Permitimos que nos retorne la salida conforme va procesando
-n Desactivamos resolucion de DNS
-Pn Desactivamos el HostDiscovery

Analizando Resultados del Escaneo

Al ejecutar el escaneo de puertos podemos ver que la maquina tiene 2 puertos abiertos el 22 y el 80

Identificación de versiones y posibles vulnerabilidades:

1
nmap -p 22,80 -sVC 172.18.0.2

Con este comando podemos ver que el servicio SSH corre en el puerto 22 con la versión OpenSSH 9.2p1 además confirmamos que el equipo es un Debian y que corre en el puerto 80 un servicio HTTP Apache 2.4.57. Por lo cual podemos usar la herramienta whatweb para extraer un poco de información sobre la misma:

1
whatweb 172.18.0.2

Podemos hacer una enumeración en búsqueda de posibles directorios o archivos usando la herramienta feroxbuster:

1
feroxbuster --url http://172.17.0.2 -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 200 -d 0 -x php,html,txt

Vemos que nos encuentra el archivo index.html

Asi como el archivo secret.php

Lo único que vemos acá que nos puede interesar es Mario un posible usuario, a nivel del código fuente no hay nada.

Explotación

Como conocemos un posible usuario vamos a probar con fuerza bruta conseguir la contraseña del usuario para conectarnos al servicio SSH. Para ello usaremos hydra con el siguiente comando:

1
hydra -l mario -P /usr/share/wordlists/rockyou.txt ssh://172.18.0.2

Hemos encontrado la contraseña “chocolate” con la cual nos podemos conectar por ssh al usuario de mario.

Y efectivamente tenemos acceso al equipo y estamos conectados como Mario.

Elevación de Privilegios (Escalada)

Comenzamos buscando todos aquellos binarios con permisos SUID de los cuales podemos aprovecharnos para elevar nuestros privilegios

1
find / -perm -4000 -user root 2>/dev/null

Sin embargo, no tenemos nada que podamos aprovechar, por lo tanto, seguimos buscando

Revisamos Permisos SUDO

1
sudo -l

Y nos encontramos lo siguiente el usuario Mario tiene permisos de ejecución del binario /usr/bin/vim para ejecutarlo como cualquier usuario del sistema y desde cualquier host. Lo peligroso de este binario es que nos permite escapar a una Shell del usuario que lo ejecute, con lo cual tenemos nuestra escalada.

Escape de vim a una bash

Con esto hemos elevado nuestros privilegios

Y hemos terminado la maquinita…

This post is licensed under CC BY 4.0 by the author.