> For the complete documentation index, see [llms.txt](https://hacking-3.gitbook.io/barre/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-3.gitbook.io/barre/write-up/dockerlabs/medio/inj3ct0rs.md).

# Inj3ct0rs

## Maquina

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2Fz3Gr6t9WGa5WqJvxgDQW%2Fimage.png?alt=media&amp;token=1dea9230-d0d3-4988-86ec-7784d965a4f8" alt=""><figcaption></figcaption></figure>

## Reconocimiento

### Nmap

```bash
sudo nmap -p- --open -sSCV --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oN nmap.txt
```

```
PORT   STATE SERVICE REASON         VERSION
22/tcp open  ssh     syn-ack ttl 64 OpenSSH 9.6p1 Ubuntu 3ubuntu13.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 fd:f8:90:30:73:b2:51:20:2d:cb:7a:77:67:69:dc:e5 (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBExyKJmqP02QSpyCbDMVK8cvWcsJmAHf2WEyjBSElOMDSrdK7mawGufQtAKuf6aCZGWjM8HtOa++iu47gY/224g=
|   256 ad:54:3f:1a:45:7c:b5:97:fb:5b:a8:fb:63:1d:1d:0b (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxCKvhvk5MXJSo9kabqvQHsuRDOnSE0M+Z6El2r9+4X
80/tcp open  http    syn-ack ttl 64 Apache httpd 2.4.58 ((Ubuntu))
|_http-title: Inj3ct0rs CTF - P\xC3\xA1gina Principal
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

### Web

Si entra a la web veremos una pagina de inicio que nos da la bienvenida, lo único que tiene es un botón de inicio de sesión y otro de registrarse

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2Fco8N6VlkycAZwq8y1aB1%2Fimage.png?alt=media&amp;token=6f152a6c-37bb-456a-bfb0-03aac1139e74" alt=""><figcaption></figcaption></figure>

Si probamos una simple sql injection en el panel de inicio de sesión nos dará un error, el cual nos indica el tipo de consulta que realiza este login a la base de datos

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FtUk5RKQFQF15rjJ1dGRK%2Fimage.png?alt=media&amp;token=5d278d85-06af-4946-9b92-e133de6d1214" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FaZCOE66v6IF8jTFEar12%2Fimage.png?alt=media&amp;token=bf3f830a-b7b4-451c-99d4-a75c16b2dbf0" alt=""><figcaption></figcaption></figure>

Si nos fijamos en el directorio vemos como hay una ruta antes del error&#x20;

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2F49FyGM32URD5FtODJnvE%2Fimage.png?alt=media&amp;token=66ec7bb3-1bcb-433e-80e4-b60b7efd4744" alt=""><figcaption></figcaption></figure>

Me llama la atención el archivo de `welcome.php`

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FaLwh3kN8Zgsz510eBW6M%2Fimage.png?alt=media&amp;token=12e1f29e-4b81-4811-a5cf-5e6871373531" alt=""><figcaption></figcaption></figure>

Podemos acceder sin necesidad de hacer login, pero no podemos hacer mucho mas, por lo que voy a usar sqlmap para ver que mas puedo sacar

Pero primero tenemos que interceptar el login con burpsuite para pasárselo a sqlmap

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FOJu3nLJWdlxU5KajPI7C%2Fimage.png?alt=media&amp;token=7998ebd3-0f44-414c-ad23-d5a4e8d1e546" alt=""><figcaption></figcaption></figure>

## Explotación

### Sqlmap

```bash
sqlmap -r peticion.txt --users 
```

{% hint style="info" %}
Sacamos los usuarios
{% endhint %}

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FW3gmMsuhGWTLtXL6HQEF%2Fimage.png?alt=media&amp;token=1a97e0d5-f18c-4efa-883e-d57e83fd48dd" alt=""><figcaption></figcaption></figure>

```bash
sqlmap -r peticion.txt --dbs
```

{% hint style="info" %}
Sacamos las bases de datos
{% endhint %}

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FxSUlGPKBFJObZGwCfU4I%2Fimage.png?alt=media&amp;token=b553afca-b053-4c32-b023-bbf494c6103e" alt=""><figcaption></figcaption></figure>

<pre class="language-bash"><code class="lang-bash"><strong>sqlmap -r peticion.txt --dump -D injectors_db
</strong></code></pre>

{% hint style="info" %}
Sacamos toda la base de datos
{% endhint %}

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FTcImghg2WDPyn43AXqHe%2Fimage.png?alt=media&amp;token=0400868e-77dd-4db7-a142-15bf71a1da5c" alt=""><figcaption></figcaption></figure>

En este caso son los usuarios que tienen acceso a la web, aunque lo que nos interesa de aquí es la password `no_mirar_en_este_directorio`, que tras un rato de pensar descubro que es un directorio de la web que contiene un .zip

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FSoMsGzzOvWa7p7useCBA%2Fimage.png?alt=media&amp;token=96d45aa4-0b3f-445a-9fea-2cdd318ad759" alt=""><figcaption></figcaption></figure>

### John The Ripper

No podemos descomprimirlos por lo que sacamos su hash con `zip2john` para pasarlo por [John The Ripper](/barre/apuntes/red-team/tools/john-the-reaper.md) y así sacar la contraseña de este .zip

```bash
zip2john secret.zip > zip.hash
```

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2F4fHdVwFw5mns7bknqMIw%2Fimage.png?alt=media&amp;token=d3db2cf1-3bd8-4ca4-b84a-09ef5b31f5c4" alt=""><figcaption></figcaption></figure>

Ahora ya podemos descomprimir el .zip y ver su el contenido de `confidencial.txt`, consiguiendo así las credenciales para entrar por ssh

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FYx7J9vqgUzur80XXtHPI%2Fimage.png?alt=media&amp;token=ccb9632a-db37-434e-8f00-739bd24065e4" alt=""><figcaption></figcaption></figure>

## Escalado de privilegios

Miramos los permisos de este usuario

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FkpvtNQNowQ80WHxSVRPp%2Fimage.png?alt=media&amp;token=e1a3a0d7-96da-4873-870b-440de6bfb506" alt=""><figcaption></figcaption></figure>

Podemos ejecutar todo lo que este en el directorio `/nothing`

Si seguimos mirando que más tiene este usuario encontraremos un archivo `.bash_history`, esta bien mirarlo por si tuviera algo interesante, en este caso nos aligera la búsqueda, ya que **contiene el comando que usaremos** para cambiar de usuario.

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FTx9vGfVqj4D0JOQLrnDn%2Fimage.png?alt=media&amp;token=66c8e070-8bdb-4a90-9978-80b19a7b2dbe" alt=""><figcaption></figcaption></figure>

Miramos los permisos de este otro usuario

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FiroT5kRRrRfAnIPnwG9I%2Fimage.png?alt=media&amp;token=a499d866-3397-4fdd-9f47-b9ee8b4dff12" alt=""><figcaption></figcaption></figure>

Podemos ejecutar el comando `cat` como sudo

Miramos que más tiene, y encontramos su contraseña

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FlQEMh3Ts82SiZRWMSnVa%2Fimage.png?alt=media&amp;token=b3a78a74-c178-4ab2-bbf8-ef0c16e0f148" alt=""><figcaption></figcaption></figure>

Con permisos de sudo con `cat` una de las cosas que se puede hacer es **leer el contenido de la clave privada de ssh de root para poder usarla**

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2FVFelPLSyhsFffiXDYRKo%2Fimage.png?alt=media&amp;token=04f8aadd-3dfd-4a4d-8af6-f135d58728b7" alt=""><figcaption></figcaption></figure>

Copiamos el contenido de la clave privada de root y nos conectamos por ssh, de esta forma ya seremos root

<figure><img src="https://2700507804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLTbJaeg92PRVBDD3bHb%2Fuploads%2Fz0sveGK6VLIBPqRJoKAG%2Fimage.png?alt=media&amp;token=b1905a3d-f3d2-4e74-8c9f-6b63ad597ae3" alt=""><figcaption></figcaption></figure>

## Conclusión

Una maquina muy completa, con un buen apartado de inyección sql y una buena implementación del escalado de privilegios
