Domain
TAG -> Dockerlabs | CTF
Como primer punto, luego de desplegar el laboratorio, debemos verificar conectividad con la máquina víctima, usando el comando ping.
ping -c 1 172.17.0.2 -RResultado
PING 172.17.0.2 (172.17.0.2) 56(124) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.114 ms
RR: 172.17.0.1
172.17.0.2
172.17.0.2
172.17.0.1
--- 172.17.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.114/0.114/0.114/0.000 msComo podemos ver en la salida, el ttl de la máquina es 64 por lo cual podemos intuir que estamos frente a una máquina Linux, ahora después de crear nuestras carpetas de trabajo usando mkt y sabiendo que tenemos conexión podemos ejecutar un escaneo básico con nuestra herramienta escrita en Python de la siguiente manera:
PortScanner -i 172.17.0.2 -t 1000 -s 2 -a V CResultado
Vemos 3 puertos abiertos, al parecer nos enfrentaremos a Samba, aun así podemos escanear los puertos con nmap y ver información más detallada.
Resultado
Ahora extraemos la información más relevante.
Resultado
Ahora procedemos a hacer un escaneo más profundo con nmap.
Resultado
Si vemos la pagina web encontraremos lo siguiente:

Información sobre que es Samba así que pasaremos a ver que información útil podemos encontrar en Samba:

No vemos nada útil, vemos los recursos compartidos pero lo más probable que necesites mínimo un usuario para enumerar más cosas, ahora pasemos a usar rpcclient para ver que conseguimos.

Como podemos ver la herramienta rpcclient si logro extraernos usuarios del sistema:
james
bob
Aunque es verdad que aún nos falta las credenciales de ellos, pero podemos intentar conseguir sus contraseñas mediante fuerza bruta, en este caso usaremos msfconsole:

Lo configuraríamos del siguiente modo:

Ahora simplemente ejecutamos usando run y esperamos.

Y después de un rato vemos que logramos romper la contraseña de bob que es star, ahora lo que podríamos hacer es usar smbmap de la siguiente manera:

Ahora si podemos ver qué cosas puede el usuario bob editar y ver, ejemplo el recurso compartido html, podemos enumerarlo de la siguiente manera:

Encontramos un index.html que debe ser el cual vemos en la pagina web, también debemos tener en cuenta que esta pagina web soporta php, por lo cual teniendo permisos de escritura podemos subir una [[Reverse Shells]] de la siguiente manera:
Contenido de rshell.php

Podemos verificar que se subió correctamente con smbmap:

Vemos que se subió correctamente por lo cual podemos ponernos en escucha en el puerto 4444 y acceder desde la web a http://172.17.0.2/rshell.php, podremos ver lo siguiente.

Le daremos un Tratamiento a la TTY como ya es costumbre:
Luego si queremos una terminal con colores podemos usar el siguiente comando:
En stty rows 46 cols 168 deben poner el resultado que les devuelva este comando a ustedes.
En mi caso -> 45 166
Si enumeramos un poco internamente, vemos los 2 usuarios que vimos en smb también nos podemos migrar al usuario bob, el cual tiene como contraseña star.
No tenemos sudo instalado, así que pasamos pasar a buscar archivos SUID.
Resultado
Y ya podemos ver un binario que nos llama la atención nano, no es un binario que debe tener permisos SUID, por lo cual podemos usar este editor de texto con permisos de root, algo que podríamos hacer es quitarte la contraseña a root de la siguiente manera:
Ejecutamos
Dentro, quitamos la x después del primer root:, quedando de la siguiente manera.
Luego guardamos con Ctrl + o luego Enter y salimos. Por último podemos ejecutar su root y listo:
Con esto ya logramos vulnerar la maquina domain de la plataforma DockerLabs.
Last updated