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

# TryHackme Cold VVars

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FAyXWQaPQFVNsNS6APyEY%2FCaptura%20de%20pantalla%202023-10-02%20a%20las%2019.25.53.png?alt=media&amp;token=91e4fe07-4eb5-4361-82db-8385a1fcda7e" alt=""><figcaption></figcaption></figure>

* Bueno en esta vez vamos a resolver esta maquina de nivel de dificultad Medio.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVHrrqHolA3BxM0kEeKrn%2F1.png?alt=media&amp;token=347953bc-9824-423e-9b88-67ca92a6de7b" alt=""><figcaption></figcaption></figure>

* Primeramente vamos a ver los puertos abiertos usando nuestra herramienta de confianza NMAP.

```javascript
# Nmap 7.93 scan initiated Wed Sep 27 21:05:34 2023 as: nmap -sCV -p139,445,8080,8082 -oN target.txt 10.10.240.27
Nmap scan report for 10.10.240.27
Host is up (0.059s latency).

PORT     STATE SERVICE     VERSION
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
8080/tcp open  http        Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8082/tcp open  http        Node.js Express framework
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: Host: INCOGNITO

Host script results:
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
|   Computer name: incognito
|   NetBIOS computer name: INCOGNITO\x00
|   Domain name: \x00
|   FQDN: incognito
|_  System time: 2023-09-27T19:06:00+00:00
|_clock-skew: mean: 13s, deviation: 0s, median: 12s
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time: 
|   date: 2023-09-27T19:06:00
|_  start_date: N/A
| smb2-security-mode: 
|   311: 
|_    Message signing enabled but not required
|_nbstat: NetBIOS name: INCOGNITO, NetBIOS user: <unknown>, NetBIOS MAC: 000000000000 (Xerox)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Sep 27 21:05:49 2023 -- 1 IP address (1 host up) scanned in 15.09 seconds
```

* Ahora seguimos usando NMAP para observar la version que corre para los cuatro puertos abiertos.

## WFUZZ

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fjr3zIOPgRXc07uB4tKeh%2F2.png?alt=media&amp;token=e79463d9-ad0d-4660-b05e-102d7c8d0e7c" alt=""><figcaption></figcaption></figure>

* Usando WFUZZ encontramos un directorio llamado login, el cual seguramente sea un panel de autentificacion.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F9pjO7enyCXvKDnrsjijw%2F3.png?alt=media&amp;token=767878c8-2f09-4dce-9d18-7edfd8f7adb7" alt=""><figcaption></figcaption></figure>

* Nos vamos al directorio que hemos descubierto usando WFUZZ y encontramos lo que ya decia anteriormente.
* Obviamente si nos topamos con un panel de autentificacion lo primero que haremos intentar todo tipo de inyecciones SQL o NOSQL, en este caso esta inyeccion simple de SQL nos hace un bypass.&#x20;

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F67x6BOrBdyVTEayPCscW%2F4.png?alt=media&amp;token=9acca7ca-b2ce-4f48-a6c0-44bd37d9e151" alt=""><figcaption></figcaption></figure>

* Habiendo burlado el panel anterior con la inyeccion simple que observamos, nos redirigen a esto, unos nombres de usuarios y contraseñas.
* Que claro que testearemos en los demas puertos expuestos.

## SMBMAP & SMBCLIENT

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F7TFTIJv7Qul0cAyZjYCH%2F5.png?alt=media&amp;token=8f1bfad4-d4bf-4567-8216-f91b7f7da0de" alt=""><figcaption></figcaption></figure>

* Testeando algunos nombres, damos con ArthurMorgan podemos entrar a este directorio /SECURED compartido por samba, En el cual observamos que en nuestros privilegios tenemos permisos de lectura y escritura.
* Utilizando smbclient nos conectamos&#x20;
* Como tercer punto observamos que tenemos una nota que nos dice que testeemos la funcionalidad de subida de archivos, le haremos caso y probaremos a subir un php malicioso.

## WFUZZ

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fhr1QBRbdzVoNcPUQWXoD%2F6.png?alt=media&amp;token=1850258c-ba7f-40e3-8c30-9c02b1858f00" alt=""><figcaption></figcaption></figure>

* Ahora de nuevo utilizando wfuzz pero ahora sobre el puerto 8080 ya que antes lo usamos sobre el 8082, encontramos un directorio llamado /dev, donde esta alojado el archivito este note.tx, si entras a <http://IP:8080/dev>, podras leer el mismo contenido que leimos por samba.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fm0a9ilRKj6BMDKRGDFFw%2F7.png?alt=media&amp;token=ba5eb1cc-0cd7-444d-a2f9-261afa5dee7b" alt=""><figcaption></figcaption></figure>

* Preparamos lo que anteriormente planteamos, la subida de un archivo malicioso para testear la funcionalidad.

## SMBMAP & SMBCLIENT

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F91uXbArZ5E9UffOOf6kN%2F9.png?alt=media&amp;token=223ac7b9-c748-4531-9126-f8ebc834d277" alt=""><figcaption></figcaption></figure>

* Ahora vamos a subir nuestro archivo malicioso
* Primeramente lo tipico nos conectamos con las credenciales que ya tenemos claridad que son validas.
* Ahora ya conectados al dic compartido subimos nuestro php malicioso utilizando el comando put; Observamos que si hacemos un dir ahora ya tenemos subido nuestro archivo malicioso ahora solo falta invocarlo y ganar acceso a la maquina

## Acceso

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FsYXG3cvxyiDTL96iOuCQ%2F10.png?alt=media&amp;token=d4405b07-9559-443b-9520-08db73465182" alt=""><figcaption></figcaption></figure>

* Ahora invocaremos nuestro archivo malicioso enviando una peticion con curl, con el parametro -u le especificamos el nombre de usuario y contraseña, luego le decimos que la peticion sea sileciosa y que el metodo que usara sera por GET y luego ponemos toda la ruta donde esta alojado este php, que es la misma donde esta alojado el note.txt.
* Por la parte abajo mi segunda terminal observamos que ganamos acceso a la maquina como un usuario no privilegiado el tipico www-data.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FV7dj9Xngcjkx4K6S0t83%2F11.png?alt=media&amp;token=a8ced711-59ca-41e8-b077-a724ed63f714" alt=""><figcaption></figcaption></figure>

* Ahora ya dentro vamos por nuestra primera flag la de user.txt que esta en el directorio de trabajo de ArthurMorgan.

## Escalada De Privilegios

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FxJSNGcN1gvdu7PjL28JO%2F12.png?alt=media&amp;token=a5ff6146-14c7-4017-9e7a-9bc73f105e95" alt=""><figcaption></figcaption></figure>

* Intentando escalar nuestros privilegios a un usuario o a root, como punto numero uno nos convertiremos al usuario ArthurMorgan con las credenciales que encontramos cuando al principio hicimos el bypass con la inyeccion SQL.
* Si hacemos un Whoami somos ArthurMorgan y no www-data.&#x20;

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FZy87u7ZE87hlY00CX4iv%2F13.png?alt=media&amp;token=a2caccc7-6f34-4e02-bb20-576f838e4b3c" alt=""><figcaption></figcaption></figure>

* Tratando de escalar nuestros privilegios tienes que probar todo lo que sabes, buscar procesos,capabilites,tareas cron permisos SUID y un etc no tan largo
* Pero al tema compadre, como punto numero uno observamos que internamente se estan compartiendo recursos por varios puertos, nos ponemos en escucha por el 4545 y nos sale un tipo como panel.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fb1uVmwpUY7o055DFxxdF%2F14.png?alt=media&amp;token=059771f7-eef2-4b71-9382-c1a3cabb33b6" alt=""><figcaption></figcaption></figure>

* Si pulsamos la opsion cuatro se nos abre vim, y bueno en vim es facil escalar nuestros privilegios.
* Ahora hemos escalado nuestros privilegios lateralmente ahora no somos ArthurMorgan ahora somos marston. Ahora seguimos buscando como vonvertirnos en root el usuario privilegiado del sistema.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FEwN962y0OvgWuVB7LjwE%2F15.png?alt=media&amp;token=7128bafd-dd76-485c-9df6-bfd2a4304261" alt=""><figcaption></figcaption></figure>

* Si buscamos procesos en especial tmux, habia leido que hay una session de root abierta con tmux.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FEJdiEbzDVSnqfnYC0Ke7%2F16.png?alt=media&amp;token=30f532ad-02dd-4de2-98a2-2887b768a610" alt=""><figcaption></figcaption></figure>

* Como decia hay una session entre todas las que hay abierta hay una de root. y aca tenemos nuestra ultima flag la de root.txt maquina resuelta
* NOTA ahora para llegar a ala session de root primeramente ejecuta este comando **tmux attach-session -t 0**
* Cuando lo ejecutes la pantalla se te pondra trambolica un monton de pestañas sessiones de tmux lo que tienes que ir haciendo es a cada session dandole exit,exit,exit, hasta que puedas ver la de root  ami me costo un poco SUERTE!.
