> For the complete documentation index, see [llms.txt](https://alerodriguezm99.gitbook.io/bariho/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alerodriguezm99.gitbook.io/bariho/walkthrough/tryhackme/untitled.md).

# 15 \~ Blog - Linux

Una vez iniciada la maquina, lo primero que haremos será realizar un ping, con esto sabremos que tenemos conexión con la maquina y además conoceremos el sistema operativo que puede tener mediante el ttl.&#x20;

![](/files/-McmscGo_Gjn_YMFaIkV)

En este caso el ttl es de 63 siendo una maquina Linux, aunque realmente el ttl de Linux es 64, esto es debido ha que pasa por varios nodos intermediarios.

![](/files/-Mcmsl6u9B0cZZ61lHEb)

## 1. Escaneo de puertos

A continuación realizaremos un escaneo de puertos con la herramienta **nmap** para saber que puertos y servicios contiene la maquina expuestos.&#x20;

![](/files/-McmsqqvwbLlzoTCC_V9)

> 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.

![](/files/-McmssfDafe9l0l14I3n)

Una vez finalizado realizaremos un escaneo mas exhaustivo para saber mas información sobre los servicios.

![](/files/-McmsvkiIMar4iEYSaiY)

> 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.

![](/files/-McmsxYmW_t15cj7527g)

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

Después de terminar el escaneo lanzamos la herramienta **whatweb** para saber que tipo de tecnología usa la web victima.&#x20;

&#x20;<img src="/files/-McmtAgvwzkiuwGcLAr7" alt="" data-size="line">&#x20;

Agregaremos la ip al fichero **/etc/hosts** para que carge correctamente.

![](/files/-McmtprHhK-6xrLgVQPP)

Vemos que es un wordpress 5.0, algo desactualizado, lo siguiente será ingresar a la pagina para ver si podemos sacar algún dato relevante.

![](/files/-McmtFttiXqf75xEjhLc)

Tras un vistazo rápido podemos ver varios usuarios en los diferentes posts.

![](/files/-McmtsZZZSsbduzS4Q4q)

![](/files/-Mcmtu3UzEbFVa5YbieH)

Ahora utilizaremos la herramienta **gobuster** para conocer otras rutas que nos puedan interesar.&#x20;

![](/files/-McmtwaFmY1i0q3PdEvO)

> 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.
> * **--no-error** : No muestra errores por pantalla.
> * **-z** : No muestra la barra de progresos por pantalla.
> * **-o** : Guarda la salida en un archivo.

![](/files/-Mcmty15Cg0zEb-hTd8-)

Tenemos el panel login de wordpress, vamos a probar los usuarios encontrados anteriormente.&#x20;

![](/files/-Mcmu9QdCMN3gX-T34rp)

![](/files/-McmuB8tAVlG1plS66FR)

![](/files/-McmuDF63rHTS-ZERDK9)

Al parecer los usuarios son validos, vamos a utilizar la herramienta **wpscan** para averiguar las contraseñas de los usuarios.&#x20;

![](/files/-McmuGsGrUjt5L3ksdyh)

> Descripción de los parámetros:
>
> * \--url : Le indicamos que vamos a ingresar una url.
> * URL : URL.
> * -U : Le indicamos que vamos a ingresar un usuario.
> * USER : Usuario.
> * -P : Le indicamos que vamos a ingresar una contraseña/diccionario.
> * /PATH/ : Ruta del diccionario.

![](/files/-McmusH4CGgCHaa78J0i)

En este caso solo encontramos la contraseña del usuario kwheel.

Vamos a logearnos en el panel y ver si es correcta y parece ser que si.

![](/files/-Mcmuuf_CHvJ_3GB1LaQ)

## 3. Ganando acceso a la maquina

Investigando el panel login no vemos nada que podamos hacer, salvo subir un archivos como fotos, vamos a buscar algún exploit por internet. Y al parecer tenemos que utilizar metasploit. Arrancamos msfconsole y buscamos el exploit.&#x20;

![](/files/-Mcmv0IEHvcsFlusT-5u)

![](/files/-Mcmv2JQRrBXTuihvvbd)

Una vez seleccionado, toca configurar dicho exploit.&#x20;

![](/files/-Mcmv5oeI_reW80AieHr)

Y tenemos una sesión meterpreter, vamos a entablarnos una reverse shell a nuestra maquina, para poder realizar el tratamiento de la tty y trabajar mas cómodamente.

![](/files/-Mcmv8vwJuJNNggr6Nvd)

> Descripción de los parámetros:
>
> * **-n :** Solo direcciones de IP numéricas.
> * **-I** : Modo de escucha, para conexiones entrantes.
> * **-v** : Muestra información por pantalla.
> * **-p** : Numero del puerto.
> * **PUERTO** : El puerto que se pondrá en escucha.

### Tratamiento de la TTy

![](/files/-McmvB3lDpnDrkcjVG3Z)

## 4. Escalando privilegios

Después del tratamiento, realizamos una enumeración del sistema, y vemos que tenemos un ejecutable con permisos SUID.&#x20;

![](/files/-McmvFP14TpCbuVKr3PH)

> Descripción de los parámetros:
>
> * **-perm** : Le indicamos que vamos a buscar permisos.
> * **-u=s** : le indicamos que vamos a buscar permisos de usuario setuid.
> * **2>/dev/null** :  Mandamos los errores al /dev/null.

Vamos ha analizar el ejecutable, con la herramienta **ltrace** podemos ver algo del script. Al parecer tenemos que darle algún valor a la variable admin, al darle valor y ejecutar el script somos ROOT de la maquina.&#x20;

![](/files/-McmvJynHgxSwcYuc3-K)

Flag usuario.&#x20;

![](/files/-McmvMy6KEdUrFe3oD-_)

Flag root.

![](/files/-McmvP8WJ_zax5j5Tllr)
