# OffSec Tre

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FpAVCMtOI2FjK1RAiRo6x%2FCaptura%20de%20pantalla%202024-02-14%20a%20las%2019.57.38.png?alt=media&#x26;token=6e30b6e7-a709-4bd0-8954-27532f2cebf4" alt=""><figcaption></figcaption></figure>

Hoy Vamos a resolver la maquina Tre de dificultad Hard segun la comunidad.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FbPPw7JAdwJLoLwutGwqK%2F1.png?alt=media&#x26;token=4d539418-379b-4380-a972-887993d1a186" alt=""><figcaption></figcaption></figure>

Primero que nada observar los puertos que estan abiertos para este HOST.

***

```javascript
# Nmap 7.94SVN scan initiated Wed Feb 14 12:06:45 2024 as: nmap -sCV -p22,80,8082 -oN taregt.txt 192.168.243.84
Nmap scan report for 192.168.243.84
Host is up (0.063s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 99:1a:ea:d7:d7:b3:48:80:9f:88:82:2a:14:eb:5f:0e (RSA)
|   256 f4:f6:9c:db:cf:d4:df:6a:91:0a:81:05:de:fa:8d:f8 (ECDSA)
|_  256 ed:b9:a9:d7:2d:00:f8:1b:d3:99:d6:02:e5:ad:17:9f (ED25519)
80/tcp   open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: Tre
|_http-server-header: Apache/2.4.38 (Debian)
8082/tcp open  http    nginx 1.14.2
|_http-server-header: nginx/1.14.2
|_http-title: Tre
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Feb 14 12:06:54 2024 -- 1 IP address (1 host up) scanned in 9.54 seconds
```

Observamos las versiones y servicios que corren para cada uno de los puertos.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FjopOrm7T81UpRaFAjHUP%2F2.png?alt=media&#x26;token=59d46029-4357-4b29-a502-cbf4f1fdf6c4" alt=""><figcaption></figcaption></figure>

Si empezamos haciendo fuzzing en la pagina principal nos encontramos con un adminer.php y otros que tienen un codigo de estado 302, de un follow redirect.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F6SXPjyKfMvi0TbB16vmE%2F3.png?alt=media&#x26;token=6742ee88-fe98-4006-b7b8-726de3e2502c" alt=""><figcaption></figcaption></figure>

Si nos vamos a adminer tenemos un panel de login de la base, credenciales que no poseemos a seguir enumerando.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FsFUTY89DHptw9l4JuMWP%2F4.png?alt=media&#x26;token=63cbff90-c70f-4a5a-9292-5c2c1515a5b9" alt=""><figcaption></figcaption></figure>

El directorio mantis nos lleva a otro panel de autentificacion credenciales que igualmente no poseemos, seguimos enumerando.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVGMMKXXT2E7vMfJdBLVK%2F5.png?alt=media&#x26;token=55f776f0-e61d-4fdc-8224-310caaa07aee" alt=""><figcaption></figcaption></figure>

Segui fuzzeando a adminer pero nada, asi que empeze con mantis a hacer lo mismo y me encontre con mucho codigos de estado de  follow redirect.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FAyH6Z9XVgJPXusLBbdVr%2F5.0.png?alt=media&#x26;token=0747d74d-eabd-48ec-a2cc-8a4a4f4d73fb" alt=""><figcaption></figcaption></figure>

Revise archivo a archivo, pero el que tenia las credenciales para el panel de adminer era a.txt.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fu9eYlGSbm7CVA453rUjK%2F6.png?alt=media&#x26;token=cbfb2f85-8595-4088-9f8e-083ed55337a3" alt=""><figcaption></figcaption></figure>

Credenciales para adminer.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVKNBIbTzBt1f3XbRxDe5%2F7.png?alt=media&#x26;token=bc4946e4-75f1-4d47-8929-67da7f41e6a8" alt=""><figcaption></figcaption></figure>

Una vez iniciado session en el buscador, busque usuarios tre y me salio matis\_user\_tables, asi que tenemos aca unas nuevas credenciales, para el usuario tre.

Ahora las probamos atravez de SSH, haber si el usuario existe a nivel de sistema.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F1TLiU6TvGMhxonr8Ehsr%2F8.png?alt=media&#x26;token=c85af02e-f7e1-4da3-9319-c23047828690" alt=""><figcaption></figcaption></figure>

Las credenciales funcionan y tenemos la primera bandera la de user.txt.

***

## Escalada de privilegios&#x20;

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FYZRwwFSs3arAiFgLw6i5%2F9.png?alt=media&#x26;token=d0b3ed00-88bd-414b-9fc8-78147f05662d" alt=""><figcaption></figcaption></figure>

Buscando como hacerlo busque de todo, hasta que encontre el check-system, donde podemos editarlo ya que tiene permisos de escritura,  salia un poco mas abajo de las primeras 50.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fdf9S0OIjvU93qliJIwHQ%2F10.png?alt=media&#x26;token=af3351f4-58b7-401f-bcf5-17824fd93b82" alt=""><figcaption></figcaption></figure>

Lo abrimos y lo editamos, le decimos que nos asigne permisos SUID a la bash.

Ahora como se usa para que surja efecto, la neta check-system suena a chequeo medico. El codigo es simple en DATE hay declado algo como fechas, casi seria un estilo una tarea cron pero no lo es.

Tonces tenemos que encontrar una forma de forzar a que se haga un check, supongo que eso se hara al arrancar el sistema o yo que se.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVnebgbh1oV5uq9drVqlu%2F11.png?alt=media&#x26;token=9e610c2f-b4e3-48bf-97ab-b16b8c02aa4e" alt=""><figcaption></figcaption></figure>

Bueno tre puede ejecutar shutdown, asi que vamos a reiniciar el sistema y si el script de arriba hace un check al apagar o al encender la maquina ejecutara nuestro chmod u+s la asignacion de permisos SUID a la bash.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Ftq9NHRcDo3y8SAGx09Xw%2F12.png?alt=media&#x26;token=e221be83-e877-424b-84b0-102f1d9b3bc5" alt=""><figcaption></figcaption></figure>

1. Tonces reinicamos el sistema .
2. Luego nos volvemos a conectar via SSH.
3. Ahora si le hacemos un ls  a la bash observamos que se asigno el permiso SUID a la bash.

Ahora hacemos un bash -p y somos root.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FFMeWfD8Ja0CxFp1VFzMb%2F13.png?alt=media&#x26;token=9f677a4d-1671-49cd-8840-d7e51d40535c" alt=""><figcaption></figcaption></figure>

Somos root y tenemos la ultima bandera.
