# 26 \~ Battery - Linux

Lo primero que haremos será lanzar un ping para ver si tenemos conexión con la maquina, y a parte también podremos saber que Sistema Operativo esta siendo usado.&#x20;

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FVHH7HDWbF3WJSlonQSV2%2F1%20ping.PNG?alt=media\&token=1acf0009-4b64-4f6e-8a3d-137e2dc70627)

En nuestro caso nuestro TTL es de 63 siendo del Sistema Operativo Linux, aun que realmente el TTL de Linux es 64, y esto es debido a los nodos intermediarios que hace que se disminuyan en nuestro caso en 1.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FWQ4hTNddii4zhVFGhL2L%2F2%20tracer.PNG?alt=media\&token=09127105-36fc-4015-bb10-03155c1ebcb6)

### 1. Escaneo de puertos

Lo primero que haremos una vez verificado la conexión con la maquina, será realizar un escaneo con la herramienta nmap.&#x20;

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FGe1YsZVD7xKitadNHoYF%2F3%20nmap.PNG?alt=media\&token=f66e8dd8-e965-43d5-9f10-a40828920c6c)

> Descripción de los parámetros:
>
> * **-p-** : Escanea los puertos especificados, en este caso escanea los 65535 puertos.
> * **--open** : Muestra solo los puertos abiertos.
> * **-sS** : Escanea mediante TCP SYN.
> * **--min-rate** : Envía paquetes no mas lentos que el número indicado por segundo en nuestro caso 5000.
> * **-Pn** : Omite el descubrimiento de host.
> * **-n** : No realiza resolución DNS.
> * **-vvv** : Muestra la información mientras se esta realizando el escaneo.
> * **IP** : La IP que queremos escanear.
> * **-oG** : Guarda la salida del escaneo en un formato grepeable.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F3HUKXJun30Hozc1yYK7X%2F4%20port.PNG?alt=media\&token=b99a28d4-48dd-4a2d-8165-7fb209635659)

Una vez finalizado el escaneo, haremos otro escaneo mas exhaustivo con los puertos encontrados, para que nos de mas información de los servicios que corren en dichos puertos.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FbqlOPFUiwycP6diuZbHw%2F5%20nmap.PNG?alt=media\&token=37a15918-ec48-473f-9c3c-285922a3b139)

> Descripción de los parámetros:
>
> * **-p** : Escanea los puertos especificados.
> * **-sC** : Lanza varios scripts defaults de nmap.
> * **-sV**  : Determina los servicios que están corriendo en los puertos además de información extra.
> * **IP** : La IP que queremos escanear.
> * **-oN** : Guarda la salida en el formato de nmap.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F188zHHIYJqzLdirxUDLg%2F6%20port.PNG?alt=media\&token=498d29ce-4185-41a2-9e0e-16f708b393ab)

### 2. Recolección de información

Enumeraos la pagina web y no encontramos nada, lanzamos la herramienta gobuster para fuzzear rutas ocultas.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FgBf9SMda91wn8uOE9gEs%2F7%20gobuster.PNG?alt=media\&token=4c82c9c4-a48c-4f06-9326-78c0ee38a8e9)

> Descripción de los parámetros:
>
> * **dir** : Utiliza el modo de enumeración de directorios/archivos.
> * **-u** : Le indicamos que le vamos a pasar una url.
> * **URL** : La url objetivo.
> * **-w** : Le indicamos que vamos a usar un diccionario.
> * **/PATH/** : Le indicamos la ruta del diccionario a usar.
> * **-t 50** : Le indicamos el numero de peticiones hacia el servidor.
> * **-z** : No muestra la barra de progresos por pantalla.
> * **-o** : Guarda la salida en un archivo.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FWNKaj52eURfKsY1LTLek%2F8%20info.PNG?alt=media\&token=c704f359-8a67-492d-92e3-2ad362da41b1)

Vemos varias rutas interesantes. La primera ruta es la de admin.php

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F9IdOdZOewEBXKgJdrprw%2F9%20admin.PNG?alt=media\&token=7ca58804-2a58-4634-b422-6357a7b08d83)

La otra ruta interesante es la de report, donde nos podemos descargar un archivo. Tras analizar el archivo, encontramos varios correos.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FTyKRd6zzGFA9okd5EBkS%2F10%20report.PNG?alt=media\&token=8458e74f-a1cc-4d08-8e9d-b855079b63b8)

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FyqU0gwv6Q6F9sGlQSHgB%2F11%20email%C3%B1.PNG?alt=media\&token=40c45446-29e6-4beb-87e5-32c0d92c86ff)

Y vemos que en la ruta admin.php podemos registrarnos. Vamos a realizar un sql truncation attack con el correo de admin.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FK603YPziL0Idj38jbSlK%2F12%20email.PNG?alt=media\&token=e1ac0412-99d0-40c4-85a4-d8ef2d46965e)

Para ello vamos a registrarnos con el correo de admin, y lo vamos a interceptar con BurpSuite, para manipular los datos y poder realizar el ataque. Activamos el FoxyProxy para poder interceptar la petición.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FyhF3DC9LS7zMDqkF6hRq%2F13%20foxy.PNG?alt=media\&token=fa6c3299-154b-445d-8c22-577f4c2f8f07) ![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FBI5kREE4aFGGsWcFG5mb%2F14%20burp.PNG?alt=media\&token=2430d740-48e5-4659-a63d-b047425d4262)

Tenemos varias opciones para poder realizar el ataque, el primero seria colocando un **x00** que indica un **NULL Byte**, permitiéndonos registrar sin problemas con el usuario.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F5Vkx9OLRKQKsdgP35C0o%2F15%20x00.PNG?alt=media\&token=f6977d07-8902-4d3c-9e51-d96e62ec66ae)

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FbIUPr1EmWsGZip8lRNXL%2F16%20succesful.PNG?alt=media\&token=eb7ba759-419d-4f88-83c7-b10ccf5295a5)

La otra opción seria añadiendo espacios y una letra al final, permitiéndonos registrarlo sin problemas el usuario.&#x20;

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FohDpmq39jBTW2LGIfbof%2F16%20succesful.PNG?alt=media\&token=a35447d0-c40c-46ee-b886-63df4325be5e)

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2Fnv4elI8W78TpUoWF6Lxz%2F17%20espacio.PNG?alt=media\&token=10462219-e298-48c3-a550-20f93c86938a)

Gracias a esto podemos entrar como admin. Ahora nos dirigimos al apartado, command y lo volvemos a interceptar con BurpSuite.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FrDBHvwVcb4ZSnly6PZUK%2F18%20command.PNG?alt=media\&token=eca47b4d-31b4-4581-baf2-dca4a7a31a17) ![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2Fj8XQSMySGc01Mspl4FK9%2F19%20xml.PNG?alt=media\&token=84a4191f-58c3-415e-bc85-049381927c60)

Ahora vamos a realizar un XXE attack.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F05g6zWyVefwPcW2teBd4%2F20%20xxe.PNG?alt=media\&token=77f5115c-91cd-4dd8-a969-c98daa3f5de6) ![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FjdL7ELu4Aq7WIQNoEeY4%2F21%20rce.PNG?alt=media\&token=2e2357aa-c875-4927-9379-40dded265954)

Ahora vamos a poner un filtro en base64 para poder ver el código php. Tras decodear el código y al analizar la ruta acc.php, vemos una credencial oculta

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F7M5zzr0nxEtfXv3ZPgk9%2F22%20rce.PNG?alt=media\&token=fee6bc6b-8c56-4e20-9538-8c36ffd49da3) ![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F719WifYxMALEkzHGBtUt%2F23%20base53.PNG?alt=media\&token=30073d1d-806d-48ec-8289-18e0e43fac10)

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2Fx1gPPuTMFISJLrLabnJ9%2F24%20credencial.PNG?alt=media\&token=6008cd75-2fa5-48fb-8841-af5f813ff8fc)

### 3. Ganando acceso a la maquina

Vamos a entrar mediante ssh con las credenciales encontradas.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FVXkTPg5z3vDEY1PVtQ9N%2F25%20ssh.PNG?alt=media\&token=d41c90a6-5bd6-493f-a825-f14c685b840c)

&#x20;Estamos dentro de la maquina

### 4. Escalando privilegios

Tras enumerar el sistema vemos que podemos ejecutar como root sin proporcionar contraseña el siguiente script en python.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2F5D7wl2JR6r7OGhyeV6Lo%2F26%20sudo.PNG?alt=media\&token=374b738a-2102-46ab-a15f-81241a4f01bc)

El archivo lo ha creado root, pero al estar en nuestro directorio personal podemos borrarlo, y  crear uno nuestro para que nos otorgue una shell como root.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FNZtuDBUFer59SxiCwBb9%2F27%20run.PNG?alt=media\&token=b3af15f2-3369-4168-9b4f-74a32e817b94)

Ejecutamos el script como root.

![](https://2982264145-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MamKyPczuN7KvAeItev%2Fuploads%2FBykZTQ0XIpmBToFz9Xoe%2F28%20root.PNG?alt=media\&token=57f83ac0-e932-497d-a94a-34b3b4e9b075)

&#x20;Y somos root.
