> For the complete documentation index, see [llms.txt](https://emeges.gitbook.io/emeges/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emeges.gitbook.io/emeges/dockerlabs/paradise.md).

# Paradise

Writeup de la máquina Paradise del sitio dockerlabs.es

Esta máquina presente es de Dockerlabs , en la máquina presente usaremos escaneo de puertos, fuzzing para ver archivos ocultos y fuerza bruta con las credenciales.

## Reconocimiento

Lanzamos un reconocimiento de puertos disponibles con  `nmap -sS --min-rate 5000 -p- -Pn -n -oG allports`

<figure><img src="broken://files/995tDSX5l6drsvnlbIA5" alt=""><figcaption></figcaption></figure>

<figure><img src="broken://files/ugZcKwq1T2OE0ci3BVZ0" alt=""><figcaption></figcaption></figure>

Vemos que tenemos los siguientes  puertos abiertos

* 22 (SSH)
* 80 (HTTP)
* 139 (netBios)
* 445 (SMB)<br>

<figure><img src="broken://files/5QTIryiPFCmx8VGRP3Jn" alt=""><figcaption></figcaption></figure>

ejecutamos un conjunto de scripts básicos de nmap para detectar las versiones detallada de los servicios a los puertos que están abiertos.

`ubuntu 2.13`

`smbd 3.x`&#x20;

`Samba 4.3`

***

En este paso realizaremos un fuzzeo de posibles directorios ocultos dentro del http con  gobuster

`gobuster dir -u http://172.17.0.2/ -w /usr/share/seclists/Discovery/Web-Content/DirBuster-2007_directory-list-2.3-medium.txt -t 20 -x txt,php,html`

<figure><img src="broken://files/ZEPGrAyRbXNhkpGbN0Ul" alt=""><figcaption></figcaption></figure>

Haciendo un reconocimiento dentro de  /gallery.html , encontramos  un comentario en base64

<figure><img src="broken://files/QSBlMHLGGdgN9CvFt6Hq" alt=""><figcaption></figcaption></figure>

`ZXN0b2VzdW5zZWNyZXRvCg==`

<figure><img src="broken://files/6Wewxr9HzorTTZbAuin6" alt=""><figcaption></figcaption></figure>

Esto parece que hemos encontrado una ruta  oculta

<figure><img src="broken://files/pcjoqCUHIaW678ensUMc" alt=""><figcaption></figcaption></figure>

Aqui conseguimos información crucial para la entrar al sistema de la máquina , tenemos el usuario **lucas**&#x20;

***

## Ataque de fuerza bruta&#x20;

Como en el reconocimiento obtuvimos un posible nombre de usuario , pero no la contraseña  , ejecutamos **hydra** para realizar un ataque de fuerza bruta y descifrar la contraseña

<figure><img src="broken://files/Su7WheKhwyGHIGEZMhLr" alt=""><figcaption></figcaption></figure>

`` `hydra -l lucas -P /usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt 172.17.0.2 -t 4 ssh` ``

* -l para usuario
* -P \<ruta> (P mayúscula es para cuando no sabemos la contraseña y añadimos el wordlist
* -t 4 para que vaya más rapido ejecutando a 4 hilo el ataque
* ssh porque es hacia que servicio queremos hacer el ataque

***

## Escalada de privilegio

<figure><img src="broken://files/PWwdTt5jDHFNeg9txept" alt=""><figcaption></figcaption></figure>

Una vez conectado a la maquina victima buscamos permisos SUID para ver si encontramos algo que nos pueda ayudar a escalar privilegio máximo , en este caso encontramos `privileged_exec` &#x20;

<figure><img src="broken://files/PwWKKWCgB1jUVeA6J6ko" alt=""><figcaption></figcaption></figure>

Ejecutamos y conseguimos el usuario root.

#### &#x20;Otro método para practicar escalada

Comprobamos los permisos que tiene el usuario con `sudo`

<figure><img src="broken://files/HJksl64v2wk5lhqxxDN0" alt=""><figcaption></figcaption></figure>

Y vemos que podemos ejecutar /bin/sed sin necesidad de introducir contraseña , de esta manera encontramos una manera de aprovecharnos gracias a GTFOBINS de pivotar de usuario

`sudo -u andy sed -n '1e exec /bin/sh 1>&0' /etc/hosts`

<figure><img src="broken://files/Ob8Q8PfuLZnwDBX5LJty" alt=""><figcaption></figcaption></figure>

&#x20;Ejecutamos  el binario y obtenemos root , pero en este caso pivotando hacia otro usuario

​


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://emeges.gitbook.io/emeges/dockerlabs/paradise.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
