# DC-2

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FkRldAeBfMobwqnUH2Vju%2FSQL%20injection%20vulnerability%20in%20WHERE%20clause%20allowing%20retrieval%20of%20hidden%20data%20(2).png?alt=media&#x26;token=c7226a59-e0ab-46d1-a6af-d1f5ce94ad8f" alt=""><figcaption></figcaption></figure>

### Enumeración

#### Servicios abiertos

Comenzamos realizando un escaneo rápido de los servicios que tiene abiertos está máquina.

```
nmap -p- --open --min-rate 5000 -Pn -n -vvv 192.168.113.194
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FPXO1QtJnfHKDZrQEGBtL%2Fimage.png?alt=media&#x26;token=f1d46f63-91e6-4a53-9430-d56614237cc7" alt=""><figcaption></figcaption></figure>

2 puertos abiertos. Vamos a realizar el escaneo profundo de estos servicios.&#x20;

```
nmap -p80,7744 -sVC -Pn -n -vvv 192.168.113.194
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FmW9lthVSwHVnta50jBJk%2Fimage.png?alt=media&#x26;token=d334dfb7-8adf-4be8-a505-fd8db3febb08" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FXlacIx4a1j0Ux67PZMyt%2Fimage.png?alt=media&#x26;token=129eea82-25d2-448e-beff-7a7a1e58f5c5" alt=""><figcaption></figcaption></figure>

Puertos abiertos

* Puerto 80 -> HTTP -> Apache httpd 2.4.10
* Puerto 7744 -> SSH -> OpenSSH 6.7

Interesante, indica que esta IP nos redireccionaa <http://dc-2/>. Vamos a añadir la IP y dominio de acceso a nuestro archivo /etc/hosts.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F2oj4YeAPPaTItcCLoYqc%2Fimage.png?alt=media&#x26;token=518d75f3-44ec-40b8-86db-8047b54aa9a2" alt=""><figcaption></figcaption></figure>

#### Enumeración Web

Dado que está el puerto 80 abierto en la máquina objetivo, vamos a explorar el dominio en el navegador.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FDfTigXA025JxkhWpblY2%2Fimage.png?alt=media&#x26;token=0479103c-375c-4dfd-b774-7c8cd6b04020" alt=""><figcaption></figcaption></figure>

En el servidor Web hay instalado un CMS de WordPress.

Vamos a realizar una enumeración de directorios para ver si existe alguno con información o puntos de accesos interesantes.&#x20;

```
dirsearch -u "http://dc-2/" -i200,301 -t 30
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FcAYTxrHr7UqO0UtRs77z%2Fimage.png?alt=media&#x26;token=6d813bea-f515-4593-b57a-a9cd1b1bdb0c" alt=""><figcaption></figcaption></figure>

Vemos varios archivos y directorios que pueden ser interesantes.&#x20;

Mientras se realiza el escaneo de directorios, inspeccionamos el sitio Web y encontramos un directorio interesante, Flag.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FtGXRPBDBGD1qqEX1Sg0V%2Fimage.png?alt=media&#x26;token=06457da2-4833-49de-a8fd-b5da3258bea6" alt=""><figcaption></figcaption></figure>

Nos dan una una pista para continuar. Vamos a continuar realizando un escaneo del sitio Web con la herramienta "wp-scan".&#x20;

```
wpscan --url dc-2 --enumerate p --enumerate t --enumerate u
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F94Y0f7CofZXEkcqzsFYy%2Fimage.png?alt=media&#x26;token=8bfe3581-e59e-4f64-bff2-dc00357bd7f0" alt=""><figcaption></figcaption></figure>

Después de un momento, nos devuelve el nombre de tres usuarios del sistema.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FdVNguwu3EdHIt9oWUn4A%2Fimage.png?alt=media&#x26;token=f107bc2a-1306-4b53-a86b-27eb1899147e" alt=""><figcaption></figcaption></figure>

También, como nos indicaba la pista, vamos a crear una lista de passwords a partir de palabras existentes en el sitio Web.&#x20;

```
cewl dc-2 > password
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F6cpxCR6LYqmjfEEdI9NG%2Fimage.png?alt=media&#x26;token=359838ed-07ca-46b9-836c-46686b1e1358" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FVY87pR77cA8Su3Y1Ox8a%2Fimage.png?alt=media&#x26;token=c79fd3e0-666a-41eb-a1a1-eeab1f065320" alt=""><figcaption></figcaption></figure>

Ahora tenemos un diccionario con posibles contraseñas generada con la herramienta "cewl" y una lista con los tres usuarios devueltos por la herramienta "wpscan".&#x20;

¿Qué podemos hacer con estas listas?

### Explotación

Con la herramienta "wpscan", vamos a buscar pares de usuario y contraseña válidos, de la siguiente manera:

```
wpscan --url dc-2 -U users -P password
```

Después de un momento de ejecución, tenemos credenciales.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F0VRrcfLBTL1SfVyXSX7Y%2Fimage.png?alt=media&#x26;token=2f5cbc02-8701-4543-b3e9-9024699292b8" alt=""><figcaption></figcaption></figure>

* jerry:adipiscing
* tom:parturient

Vamos a tratar de iniciar sesión en el sitio Web utilizando uno de los pares de credenciales que hemos encontrado.&#x20;

Podemos iniciar sesión con las credenciales del usuario "jerry".

Una vez tenemos acceso al panel de administración del CMS, si nos dirigimos al apartado de páginas creadas, vemos una con un nombre que puede ser interesante.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FtNUYte6TBAHBfmGHeokf%2Fimage.png?alt=media&#x26;token=cb540eec-db27-4534-a967-ad62ff1725f5" alt=""><figcaption></figcaption></figure>

Son pistas para vulnerar la máquina. Indica que no será posible explotar alguna vulnerabilidad en el CMS y que el punto de entrada es otro. Recordamos que hay un servicio SSH disponible y tenemos credenciales. Vamos a tratar de iniciar sesión a través de SSH.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FOGclOxNHo1CfKZf9sEbL%2Fimage.png?alt=media&#x26;token=9636a876-a8ee-497b-9584-ce62c16c18fe" alt=""><figcaption></figcaption></figure>

Y tenemos acceso a la máquina víctima con las credenciales del usuario "tom" pero, tenemos una shell limitada. Vamos a tratar de escapar de ella.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FOKoCPqcrGblkcaZekm1K%2Fimage.png?alt=media&#x26;token=cf0bafd8-12e9-4bc4-9a29-9f70a7f6a833" alt=""><figcaption></figcaption></figure>

Podemos ejecutar esos 4 comandos. Entre la diversas formas de escapar de una "rbash", existe una que implica el editor vi, que además tenemos disponible.&#x20;

Ejecutamos vi y escribimos

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fiuub4wFDSKtdGwxVbN3S%2Fimage.png?alt=media&#x26;token=947c754a-391b-4883-a9f9-74f295693c17" alt=""><figcaption></figcaption></figure>

Clicamos enter y escribimos

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FRFesamhaAdwol7KO3d32%2Fimage.png?alt=media&#x26;token=d0eee0e0-fe85-4188-ba00-be39efbea4d5" alt=""><figcaption></figcaption></figure>

Entonces escaparemos de la "rbash" pero quedará un último detalle.&#x20;

```
export PATH=/bin:/usr/bin:$PATH
export SHELL=/bin/bash:$SHELL
```

Y ya tendremos una terminal útil.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FpztkkBw3FypQiiHiKGtx%2Fimage.png?alt=media&#x26;token=f7de17c2-6816-4989-a6d5-f7830e677905" alt=""><figcaption></figcaption></figure>

Y podremos buscar la flag local.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FAcQS8C5jIGHKTRgTwrIw%2Fimage.png?alt=media&#x26;token=c282f586-8e90-4515-8dde-44509477d4ec" alt=""><figcaption></figcaption></figure>

### Elevación de privilegios

En el archivo flag3.txt tenemos otra pista

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F7FmAeGoLpxcN1JWtSnHD%2Fimage.png?alt=media&#x26;token=a3767727-8c2d-4f43-9b2b-8b7ede4f12bb" alt=""><figcaption></figcaption></figure>

Según la sugerencia, ahora necesitamos cambiar de usuario "tom" a "jerry"

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FW2jcstE9LngDwrB4Jj13%2Fimage.png?alt=media&#x26;token=59e8550f-2f40-44e4-9737-374a150f9e31" alt=""><figcaption></figcaption></figure>

Comenzamos a enumerar formas de elevar privilegios. La primera, sudo -l.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8NA8nN42nan1lswk4rLP%2Fimage.png?alt=media&#x26;token=abd49209-cb4f-4c45-a1ce-95bd4046e7c2" alt=""><figcaption></figcaption></figure>

Tenemos una posibilidad de elevación de privilegios con "git". Vamos a [GTFOBins](https://gtfobins.github.io/gtfobins/git/) para ver si existe forma de elevar privilegios.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FdWVvwietXxrTXAbCfpyY%2Fimage.png?alt=media&#x26;token=70f772b8-ab0a-43f5-91d2-568b611785b7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FAf7IM4EjlrlLo2npmswf%2Fimage.png?alt=media&#x26;token=d093afb9-9e79-4f95-acca-1c1515c42266" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FPbxHj67fI8cSgXcuJPm5%2Fimage.png?alt=media&#x26;token=864b3824-838b-4c5a-ae11-250cc6d7c70b" alt=""><figcaption></figcaption></figure>

Ya tendremos privilegios máximos en la máquina DC-2. Buscamos la flag proof.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8g7azHUY1fY6StbYvflo%2Fimage.png?alt=media&#x26;token=f3024a53-49a1-4dc3-bd5b-d4d97815a5bd" alt=""><figcaption></figcaption></figure>

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