Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/tailwindrg/cve-2026-0300-audit
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाभेद्यता विश्लेषणस्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षाDevSecOps
GitHubtailwindrg/cve-2026-0300-audit

cve-2026-0300-audit

CVE-2026-0300 (PAN-OS User-ID प्रमाणीकरण पोर्टल एक्सपोज़र) के लिए केवल-पठनीय ऑडिट टूलिंग

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

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

सभी देखें →

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

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

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

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

CVE-2026-0300 ऑडिट टूलिंग

CVE-2026-0300 के लिए केवल-पठनीय ऑडिट टूलिंग — PA-Series और VM-Series फ़ायरवॉल पर PAN-OS User-ID Authentication Portal (पूर्व में "Captive Portal" के रूप में जाना जाता था) में अनप्रमाणित बफर ओवरफ़्लो।

यह रिपॉज़िटरी Tailwind Resource Group सुरक्षा सलाह TRG-SA-2026-003 के साथ आती है और निम्नलिखित प्रदान करती है:

  • audit_portal.py — टियर 1: एकल-फ़ायरवॉल ऑडिट
  • audit_fleet.py — टियर 2: Panorama-संचालित फ्लीट स्वीप (समवर्ती)
  • panos_audit.py — दोनों CLIs द्वारा उपयोग की जाने वाली साझा लाइब्रेरी

स्क्रिप्ट्स केवल-पठनीय हैं। वे PAN-OS XML API के विरुद्ध show-शैली क्वेरी जारी करती हैं और कभी भी कॉन्फ़िगरेशन को संशोधित नहीं करती हैं। API कुंजी URL क्वेरी पैरामीटर के बजाय X-PAN-KEY HTTP हेडर के माध्यम से भेजी जाती है, इसलिए यह PAN प्रबंधन-प्लेन एक्सेस लॉग, TLS-निरीक्षण प्रॉक्सी लॉग, या ऑडिटर के प्रोसेस तर्कों में दिखाई नहीं देती है।

यह क्यों मौजूद है

CVE रिकॉर्ड आधुनिक फ़ीचर नाम "User-ID Authentication Portal" का उपयोग करता है। PAN-OS XML स्कीमा, CLI नॉब्स, और दस्तावेज़ीकरण URL पथ अभी भी विरासती शब्दावली का उपयोग करते हैं। के साथ फ्लीट का ऑडिट करने वाले ऑपरेटर चुपचाप हर कॉन्फ़िगरेशन को मिस कर देंगे क्योंकि वह स्ट्रिंग कभी भी कॉन्फ़िगरेशन तत्व के रूप में प्रकट नहीं होती है। यह टूलिंग स्कीमा-सही तत्व नाम खोजती है, भले ही कॉन्फ़िगरेशन कब लिखा गया हो।

captive-portal
show config running | match authentication-portal

इस नामकरण गड़बड़ी पर पूर्ण Tailwind विश्लेषण TRG-SA-2026-003, "Captive Portal's legacy footprint" में है।

आवश्यकताएँ

  • Python 3.10 या नया
  • केवल मानक लाइब्रेरी — कोई pip install आवश्यक नहीं
  • फ़ायरवॉल (या, टियर 2 के लिए, Panorama) तक पढ़ने की पहुँच वाली PAN-OS API कुंजी
  • फ़ायरवॉल प्रबंधन इंटरफ़ेस पर CA-हस्ताक्षरित (या ऑपरेटर-विश्वसनीय) प्रमाणपत्र; --insecure केवल एक-बार सेटअप ऑडिट के लिए प्रदान किया गया है

टियर 1 — एकल फ़ायरवॉल

root@kitploit:~
export PAN_API_KEY="<key>"
./audit_portal.py --hostname fw1.example.com

उदाहरण तालिका आउटपुट:

root@kitploit:~
vsys: vsys1
  configured:    True
  enabled:       True
  redirect_host: auth-portal.internal.example.com
  mode:          redirect
  bound:         ethernet1/3(internal-trust), ethernet1/4(guest)
  tls_verified:  True
  risk:          EXPOSED_LIKELY

अन्य आउटपुट प्रारूप: --output json या --output csv।

अन्य फ़्लैग: एकल-vsys ऑडिट के लिए --vsys <name>, धीमे अपस्ट्रीम के लिए --timeout/--retries, stderr पर विस्तृत त्रुटि विवरण के लिए --debug।

टियर 2 — Panorama फ्लीट स्वीप

root@kitploit:~
export PAN_API_KEY="<panorama-key>"
./audit_fleet.py --hostname panorama.example.com --workers 16 --output csv > fleet-audit.csv

CSV में प्रत्येक पंक्ति एक डिवाइस-vsys है जिसमें पोर्टल स्थिति, रीडायरेक्ट होस्ट, मोड, इंटरफ़ेस बाइंडिंग, और जोखिम वर्गीकरण शामिल है। स्क्रिप्ट Panorama के target=<serial> API पैरामीटर का उपयोग करती है ताकि यह कभी भी प्रबंधित फ़ायरवॉल से सीधे कनेक्ट न हो — एक कनेक्शन से पूरे फ्लीट का स्वीप हो जाता है।

उल्लेखनीय फ़्लैग:

  • --workers N — समवर्ती ऑडिट थ्रेड (डिफ़ॉल्ट 8, अधिकतम 32)। 1000-डिवाइस फ्लीट मिनटों में पूरा हो जाता है, जबकि सीरियल स्वीप में एक घंटे से अधिक लग सकते हैं।
  • --timeout, --retries — प्रति-API-कॉल सेटिंग्स। क्षणिक URLError और HTTP 5xx को सीमित बैकऑफ़ के साथ पुनः प्रयास किया जाता है।
  • --exclude-disconnected — डिफ़ॉल्ट रूप से, डिस्कनेक्टेड डिवाइस risk=DISCONNECTED के साथ शामिल होते हैं ताकि वे पैच विंडो के दौरान दृश्यमान रहें। उन्हें हटाने के लिए इस फ़्लैग का उपयोग करें।
  • --min-expected-devices N — यदि Panorama N से कम डिवाइस लौटाता है तो चेतावनी (stderr) दें। ज्ञात फ्लीट आकार के विरुद्ध प्रतिक्रिया ट्रंकेशन का पता लगाने के लिए उपयोगी।
  • --serial-filter '0007*' — उपसमुच्चय का ऑडिट करने के लिए सीरियल द्वारा ग्लोब-फ़िल्टर।
  • --debug — stderr पर प्रति-डिवाइस विस्तृत त्रुटि विवरण प्रिंट करें (अपस्ट्रीम reason स्ट्रिंग्स शामिल हैं; ग्राहक-सामना करने वाले CSVs में होस्टनाम लीक होने से बचने के लिए डिफ़ॉल्ट रूप से बंद)।

जोखिम वर्गीकरण

आउटपुट में risk कॉलम निम्न में से एक है:

लेबलअर्थ
INFO_NOT_CONFIGUREDडिवाइस पर कोई <captive-portal> ब्लॉक नहीं। CVE-2026-0300 के दायरे से बाहर।
INFO_DISABLEDपोर्टल कॉन्फ़िगर किया गया है लेकिन enabled=no। कमजोर कोड पथ सक्रिय नहीं है।
REVIEW_POLICY_NO_BINDINGSपोर्टल सक्षम है, लेकिन कॉन्फ़िगरेशन में कोई इंटरफ़ेस बाइंडिंग नहीं मिली। WebUI के माध्यम से सत्यापित करें।
EXPOSED_LIKELYपोर्टल सक्षम है और ऐसे ज़ोन से बंधा है जिसका नाम अविश्वसनीय एक्सपोज़र का सुझाव देता है (untrust, dmz, guest, external, internet, wan, public)। पहले जाँच करें।
REVIEW_POLICYपोर्टल सक्षम है और आंतरिक-नामित ज़ोन से बंधा है। पहुँच की पुष्टि के लिए सुरक्षा नीति की जाँच करें।

EXPOSED_LIKELY एक संकेत है, निर्णय नहीं — ज़ोन नाम ऑपरेटर परंपराएँ हैं, प्रवर्तन नहीं। स्क्रिप्ट सुरक्षा-नीति जाँच का स्थान नहीं ले सकती; यह फ्लीट आउटपुट को क्रमबद्ध करती है ताकि ध्यान पहले वहाँ जाए जहाँ आवश्यक है।

स्क्रिप्ट्स क्या करती हैं — और क्या नहीं करतीं

करती हैं:

  • प्रति vsys <captive-portal> ब्लॉक क्वेरी करें (स्कीमा तत्व नाम हमेशा captive-portal होता है, चाहे UI नामकरण या PAN-OS संस्करण कुछ भी हो)।
  • सक्षम/अक्षम, रीडायरेक्ट होस्ट, मोड, और ज़ोन-समाधानित इंटरफ़ेस बाइंडिंग रिपोर्ट करें।
  • ज़ोन-नाम अनुमान द्वारा जोखिम वर्गीकृत करें ताकि EXPOSED_LIKELY पंक्तियाँ फ्लीट आउटपुट में पहले दिखें।
  • API कुंजी X-PAN-KEY हेडर के माध्यम से भेजें ताकि यह URL एक्सेस लॉग और प्रोसेस तर्कों से बाहर रहे।
  • XML पार्सर पर एंटिटी-विस्तार हमलों से बचाव के लिए प्रतिक्रिया बॉडी आकार (50 MB) सीमित करें।
  • सीमित बैकऑफ़ के साथ क्षणिक त्रुटियों का पुनः प्रयास करें।

नहीं करतीं:

  • सुरक्षा नीति का व्यापक रूप से विश्लेषण नहीं करतीं। क्या पोर्टल अविश्वसनीय नेटवर्क से पहुँच योग्य है, यह नीति नियमों, NAT, और ज़ोन बाइंडिंग पर निर्भर करता है — ऑपरेटर को ऑडिट आउटपुट से वह जाँच पूरी करनी होगी।
  • नेटवर्क प्रोब द्वारा पहुँच का परीक्षण नहीं करतीं। केवल शुद्ध कॉन्फ़िगरेशन ऑडिट।
  • किसी भी कॉन्फ़िगरेशन को संशोधित नहीं करतीं। सभी API कॉल केवल-पठनीय हैं।

PAN-OS API कुंजी उत्पन्न करना

PAN-OS API कुंजी उस उपयोगकर्ता की भूमिका और अनुमतियाँ प्राप्त करती है जो इसे उत्पन्न करता है।

महत्वपूर्ण चेतावनी: PAN-OS में केवल-पठनीय XML API अनुदान मौजूद नहीं है।

XML API टैब पर Admin Role अनुमतियाँ प्रति श्रेणी बाइनरी Enable/Disable हैं — Configuration, Operational Requests, Commit, Export, Import, Report, Log, User-ID Agent। XML API के लिए Configuration सक्षम करने से show और set/edit/delete/move/rename/clone दोनों क्रियाएँ अनुमत होती हैं। Operational Requests सक्षम करने से <request><restart> सहित मनमाने <request> ऑपरेशन अनुमत होते हैं। Web UI और REST API टैब Read-Only विकल्प प्रदान करते हैं; XML API टैब नहीं करता।

इन XML API श्रेणियों को सक्षम करके बनाया गया "ऑडिट उपयोगकर्ता" डिवाइस पर पूर्ण XML API लेखन अधिकार रखता है। परिणामी कुंजी को विशेषाधिकार प्राप्त क्रेडेंशियल के रूप में मानें: इसकी आयु को ऑडिट विंडो तक सीमित करें, इसे सीक्रेट्स मैनेजर में संग्रहीत करें, और कार्य पूर्ण होने पर उपयोगकर्ता को अक्षम करें।

कैननिकल PAN संदर्भ: Get Your API Key (PAN-OS XML API).

WebUI के माध्यम से

फ़ायरवॉल पर (या Panorama, यदि आप audit_fleet.py का उपयोग कर रहे हैं):

  1. Admin Role बनाएँ। Device > Admin Roles (या Panorama > Admin Roles) पर नेविगेट करें। Add पर क्लिक करें।

    • भूमिका का नाम दें, जैसे audit-config-and-op।
    • Web UI टैब पर, सब कुछ None पर सेट करें (ऑडिट उपयोगकर्ता के लिए UI पहुँच की आवश्यकता नहीं है)।
    • XML API टैब पर, Configuration और Operational Requests सक्षम करें। Commit, Export, Import, Report, Log, और User-ID Agent को अक्षम छोड़ दें।
    • OK पर क्लिक करें। परिणामी भूमिका पूर्ण XML API Configuration और Operational Requests अधिकार प्रदान करती है — ऊपर दी गई चेतावनी देखें।
  2. ऑडिट उपयोगकर्ता बनाएँ। Device > Administrators (या Panorama > Administrators) पर नेविगेट करें। Add पर क्लिक करें।

    • नाम: जैसे audit-cve-2026-0300।
    • एक मजबूत पासवर्ड सेट करें या Authentication Profile से बाँधें।
    • Administrator Type: Role Based → audit-config-and-op चुनें।
    • OK पर क्लिक करें, फिर कैंडिडेट कॉन्फ़िगरेशन को Commit करें।
  3. नए उपयोगकर्ता के क्रेडेंशियल के साथ API कुंजी उत्पन्न करें। PAN-OS WebUI में "API कुंजी उत्पन्न करें" बटन प्रदर्शित नहीं करता — keygen एंडपॉइंट समर्थित पथ है। POST बॉडी का उपयोग करें ताकि क्रेडेंशियल URL एक्सेस लॉग में लॉग न हों:

    root@kitploit:~
    read -rs AUDIT_PW; echo
    export PAN_API_KEY="$(curl -ksX POST "https://fw1.example.com/api/" \
      --data-urlencode "type=keygen" \
      --data-urlencode "user=audit-cve-2026-0300" \
      --data-urlencode "password=$AUDIT_PW" \
      | grep -oE '<key>[^<]+' | cut -c6-)"
    unset AUDIT_PW
    

    read -rs पासवर्ड को टर्मिनल पर प्रतिध्वनित किए बिना और शेल इतिहास में डाले बिना पढ़ता है। स्क्रिप्ट परिणामी PAN_API_KEY को पर्यावरण से पढ़ती है और इसे X-PAN-KEY HTTP हेडर के माध्यम से भेजती है — न तो पासवर्ड और न ही कुंजी URL एक्सेस लॉग या स्क्रिप्ट चलने के दौरान ps auxww में दिखाई देती है।

  4. ऑडिट कार्य पूर्ण होने पर उपयोगकर्ता को अक्षम करें। Device > Administrators पर नेविगेट करें, audit-cve-2026-0300 का पता लगाएँ, Delete पर क्लिक करें (या उपयोगकर्ता को अक्षम करें)। Commit करें। यह उस उपयोगकर्ता के लिए उत्पन्न किसी भी कुंजी को अमान्य कर देता है।

हार्डनिंग नोट्स

  • पासवर्ड और कुंजी को शेल इतिहास से बाहर रखें। read -rs पासवर्ड को कवर करता है। PAN_API_KEY में कुंजी के लिए, फ़ाइल से पेस्ट करने के बजाय उपरोक्त स्निपेट के माध्यम से इसे इंटरैक्टिव रूप से सेट करना पसंद करें। यदि आपको इसे फ़ाइल से स्रोत करना ही है, तो सत्र के लिए set +o history का उपयोग करें।
  • फ़ायरवॉल प्रबंधन इंटरफ़ेस पर CA-हस्ताक्षरित प्रमाणपत्र का उपयोग करें। दोनों ऑडिट स्क्रिप्ट्स में --insecure फ़्लैग TLS होस्टनाम जाँच और प्रमाणपत्र सत्यापन को पूरी तरह से अक्षम कर देता है। पथ पर कोई भी हमलावर ऑडिट प्रतिक्रिया का MITM कर सकता है और रूटेड डिवाइस के लिए portal_enabled=False रिपोर्ट कर सकता है। audit_fleet.py स्क्रिप्ट को फ्लीट स्वीप के लिए --insecure के साथ --accept-mitm-risk की आवश्यकता होती है क्योंकि जहरीली प्रतिक्रिया का विस्फोट दायरा फ्लीट-व्यापी होता है।
  • पूर्ण होने पर कुंजी घुमाएँ। ऑडिट उपयोगकर्ता को अक्षम या हटाने से उस उपयोगकर्ता के अंतर्गत उत्पन्न सभी कुंजियाँ अमान्य हो जाती हैं।

एग्ज़िट कोड

  • 0 — किसी भी ऑडिट किए गए vsys पर कोई पोर्टल सक्षम नहीं
  • 2 — कोई vsys नहीं मिला (क्षणिक या असमर्थित कॉन्फ़िगरेशन)
  • 3 — कम से कम एक vsys पर पोर्टल सक्षम (समीक्षा आवश्यक)
  • 4 — API कॉल विफल (auth, TLS, नेटवर्क)

"पोर्टल सक्षम" पर गैर-शून्य एग्ज़िट जानबूझकर है — यह आपको स्क्रिप्ट को CI / फ्लीट-स्वीप पाइपलाइनों से जोड़ने की अनुमति देता है जिन्हें एक स्पष्ट संकेत की आवश्यकता होती है।

लाइसेंस

Apache License, Version 2.0 के अंतर्गत लाइसेंस प्राप्त। पूर्ण शर्तों के लिए LICENSE देखें।

व्यावसायिक उपयोग की अनुमति है; एट्रिब्यूशन आवश्यक है (व्युत्पन्न कार्यों में कॉपीराइट नोटिस और लाइसेंस फ़ाइल बनाए रखें)।

कॉपीराइट 2026 Tailwind Resource Group।

यह भी देखें

  • TRG-SA-2026-003 — CVE-2026-0300 के लिए Tailwind Resource Group सुरक्षा सलाह
  • PAN PSIRT — https://security.paloaltonetworks.com/CVE-2026-0300
  • PAN सर्वोत्तम-अभ्यास (पोर्टल पहुँच प्रतिबंधित करें) — https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000CqbiCAC
  • Tailwind Resource Group — https://tailwindrg.com
टूल डाउनलोड करें