Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pfsense-api-fleet-jwt — pfSense Plus MIM API toolkit b4acd7ca - High - Remote - IDOR - एक controller JWT एक fleet token है | Kitploit
उपकरण/GitHubGitHub/abraxas/pfsense-api-fleet-jwt
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगAPI सुरक्षालैब और अभ्यास
GitHubabraxas/pfsense-api-fleet-jwt

pfsense-api-fleet-jwt

pfSense Plus MIM API toolkit b4acd7ca - High - Remote - IDOR - एक controller JWT एक fleet token है

रिपॉजिटरी देखें
1 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - pfsense-api-fleet-jwt

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-api-fleet-jwt

pfsense-api-fleet-jwt

Class: IDOR Reach: Remote

pfSense Plus MIM API (Netgate) pin b4acd7ca - github.com/Netgate/pfsense-api

एक POST /login Bearer को हर enrolled device_id के लिए दोबारा इस्तेमाल किया जाता है। आधिकारिक उदाहरण उस टोकन को GET /mim/devices से प्राप्त हर id के लिए /api/device/pfsense/{device_id}/api पर कॉपी करते हैं। LoginResponse फ़ील्ड केवल token, user, version, और alerts हैं। LDAP MIM roles वैश्विक हैं। वे किसी डिवाइस से बंधे नहीं हैं। एक controller login जो डिवाइसों की सूची बना सकता है, firewall B से ऐसे टोकन के साथ बात करता है जो उस उपयोगकर्ता के लिए जारी किया गया था जो firewall A के लिए था।

यह एक ग्राहक tenancy है, SaaS cross-tenant अवशेष नहीं। Unauthenticated कॉल 401 ही रहती हैं। Plus RBAC निष्पादित नहीं हुआ। Series hub: pfsense-api-nexus-mim (यह अवशेष 6 है)। अवशेष 9 (verify_ssl=False नमूने) से चुराया गया JWT यही fleet token है।

IDअभी कोई CVE नहीं
ClassIDOR
ReachRemote (authenticated controller JWT)
CWECWE-639
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ProductNetgate/pfsense-api (pfSense Plus Nexus Multi-instance Management controller OpenAPI + generated client)
Affectedpin b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25)। कोई टैग नहीं। सर्वर Plus-only (सशुल्क) है। CE REST पैकेज नहीं।
AuthPOST /login से controller JWT। यदि GET /mim/devices की अनुमति है तो device_id का अनुमान लगाना आवश्यक नहीं।
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1:19161। प्रकाशित client contract का Python mock। कोई Plus image नहीं।

मैंने github.com/Netgate/pfsense-api main b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25, Add Snort-3 API definitions) pin किया। यह jaredhendrickson/pfsense-api / pfrest.org नहीं है।

हमलावर क्या कर सकता है

एक controller login जो डिवाइसों की सूची बना सकता है, वह उसी JWT के साथ हर enrolled instance से बात करता है। CSRF यहाँ लागू नहीं है (Bearer API)। हर बॉक्स पर PHP / shell / export-key इच्छित admin शक्ति है जैसे ही proxy fleet token स्वीकार करता है। अवशेष प्रति-डिवाइस bind की कमी है, Diagnostics: Command नहीं।

विशेषाधिकारविधि / पथप्रयोगशाला-प्रमाणित या अनुमानित
प्रत्येक नामांकित device_id की सूची बनाएं (नाम, पता, स्थिति)लॉगिन Bearer के साथ GET /mim/devicesRecon (प्रयोगशाला-प्रमाणित)। Mock ने site-a और site-b दोनों लौटाए। Unauth 401 है।
एक टोकन से firewall A और firewall B की सिस्टम स्थिति पढ़ेंGET /api/device/pfsense/{device_id}/api/systemRecon (प्रयोगशाला-प्रमाणित)। device-a=200, device-b=200। Witness केवल B पर।
दोनों ids पर diagnostics PHP wrapper POST करेंPOST /api/device/pfsense/{device_id}/api/diag/cmd/phpIntegrity (केवल mock पर प्रयोगशाला)। दोनों 200। साथ ही RBAC निष्पादित नहीं हुआ, इसलिए लाइव role gate अप्रमाणित है।
यदि लॉगिन में console या system शामिल है तो प्रत्येक नामांकित बॉक्स पर PHP / shell / फ़ाइल संपादन चलाएंPOST /diag/cmd/php, POST /diag/cmd/shell, GET/POST /diag/editfile, download/uploadIntegrity (OAS + उदाहरणों से अनुमानित)। एक बार proxy फ्लीट टोकन स्वीकार कर ले तो इच्छित admin शक्ति। सामान्य pfSense PHP-FPM root है।
प्रत्येक सूचीबद्ध इंस्टेंस पर CA / leaf निजी कुंजियाँ और PKCS12 निर्यात करेंGET /system/certificates/{refid}/export-key, GET /system/certauth/{refid}/export-key, GET /system/certificates/{refid}/export-p12Recon (अनुमानित)। वही JWT, वही schema जो leftover 4 का है। साथ ही RBAC निष्पादित नहीं हुआ।
प्रत्येक सूचीबद्ध इंस्टेंस पर ACME account और जारी कुंजियाँ डंप करेंGET /services/acme और संबंधित account/cert GETsRecon (अनुमानित)। वही JWT, leftover 5 schema।
प्रत्येक सूचीबद्ध इंस्टेंस पर aliases, firewall, interfaces, VPN, services बदलेंवही per-device prefix, शेष 700+ opsIntegrity (अनुमानित)। वही JWT, वही schema जो स्थानीय इंस्टेंस का है।
प्रत्येक सूचीबद्ध इंस्टेंस पर reboot / halt / config restore करेंPOST /diag/control, POST /diag/backup/restoreAvailability + integrity (अनुमानित)। वही proxy। अभ्यास नहीं किया गया।
क्रॉस-कस्टमर SaaS IDORn/aबंद। एक ग्राहक tenancy। Netgate उस tenancy में controller चलाता है।
अनधिकृत Internet-to-:8443Bearer के बिना GET /mim/devicesइस प्रयोगशाला में बंद। 401। गलत Bearer भी 401 है।
ऑफ़लाइन डिवाइसsamples state != online छोड़ देते हैंsamples द्वारा बंद। यह auth सीमा नहीं है।
device_id का ब्लाइंड न्यूमेरिक वॉकGET /api/device/pfsense/1/api/systemअनुमान की आवश्यकता के रूप में बंद। Ids लंबे स्ट्रिंग्स हैं (ED25519-आकार के)। लिस्टिंग अनुमान को हटा देती है।

आवश्यक: एक controller लॉगिन जिसे device proxy पर अनुमति है। MIM controller तक नेटवर्क पथ (उत्पाद में :8443, इस प्रयोगशाला में loopback :19161)। unauth नहीं। CSRF नहीं।

निकटवर्ती सतह जो बंद रहती है

सतहक्यों
Unauth listing / php / shellBearer के बिना और गलत Bearer के साथ Mock 401। securitySchemes पर spec का मौन server 200 नहीं है।
SaaS क्रॉस-टेनेंटएक ग्राहक tenancy। Tenancy clusters अभी भी मार्केटिंग पेज पर नियोजित थे।
mim_user / no Nexus groupयदि लॉगिन गेट टिकता है तो बंद के रूप में प्रलेखित।
कार्यात्मक mim_* role नामवे मौजूद हैं (view, logs, usermgmt, services, firewall, interfaces, devices, system, superuser)। वे वैश्विक हैं, प्रति device_id नहीं। लाइव Plus जाँच निष्पादित नहीं की गईं (plus-rbac=not-executed)।
Enrollment SSH JSON interpolationLeftover 1। भिन्न pack।
Enrollment AutoAddPolicyLeftover 2। भिन्न pack।
JWT के बिना Device unix socketLeftover 3। स्थानीय, भिन्न pack।
CE REST packagejaredhendrickson/pfsense-api एक भिन्न सर्वर है।
CE WebGUI QinQ / OpenVPN wizard / CARP / limiter / IPsec bannerपहले ही CE leftovers के रूप में मेल किया गया। इस OAS में फ़ील्ड नाम वही sinks हैं, नए CVEs नहीं।
इच्छित admins / mim_superuser फ्लीट कंसोलcontroller owner के लिए उत्पाद मॉडल। leftover बाकी सभी के लिए अनुपस्थित object ACL है।

मैंने इसे कैसे खोजा

मैंने b4acd7ca pin किया और OpenAPI के विरुद्ध आधिकारिक उदाहरण पढ़े। प्रत्येक नमूना जो managed firewalls से बात करता है, यह करता है:

devApi = AuthenticatedClient(
    base_url=CONTROLLER_URL+"/api/device/pfsense/{}/api".format(device.device_id),
    verify_ssl=False,
    headers={"Content-Type": "application/json"},
    cookies=cookies,
    token=token,
)
टूल डाउनलोड करें