अपडेट पर वापस जाएँ
UpdatedJul 16, 2026

GPOHound — Updated!

आक्रामक GPO डंपिंग और विश्लेषण उपकरण जो BloodHound डेटा का लाभ उठाता है और उसे समृद्ध करता है

साझा करें

GPOHound

GPOHound SYSVOL शेयर से निकाले गए समूह नीति ऑब्जेक्ट (GPO) को डंप और विश्लेषण करने के लिए एक उपकरण है।

यह Active Directory वातावरण में गलत कॉन्फ़िगरेशन, असुरक्षित सेटिंग्स, और विशेषाधिकार वृद्धि पथों को उजागर करने में मदद करने के लिए एक संरचित, औपचारिक प्रारूप प्रदान करता है।

यह उपकरण BloodHound के Neo4j डेटाबेस के साथ एकीकृत होता है, इसका उपयोग Active Directory जानकारी के लिए LDAP-जैसे स्रोत के रूप में करता है, साथ ही विश्लेषण के आधार पर नए संबंध (edges) और नोड गुण जोड़कर इसे समृद्ध भी करता है।

विशेषताएँ

डंप

  • GPO को संरचित JSON या ट्री प्रारूप में डंप करता है

  • एकाधिक डोमेन को संभालता है

  • GPO नामों को GPO GUID से हल करता है

  • GPO फ़ाइलों, GPO GUID और डोमेन द्वारा आउटपुट को फ़िल्टर करता है

  • रीजेक्स का उपयोग करके key/value जोड़ियों में खोज करता है

विश्लेषण

  • सेटिंग्स को प्रभावित ऑब्जेक्ट (जैसे, स्थानीय समूह, रजिस्ट्री) द्वारा समूहित करता है

  • स्थानीय विशेषाधिकार प्राप्त समूहों में जोड़े गए सदस्यों का पता लगाता है

  • असुरक्षित रजिस्ट्री सेटिंग्स, संग्रहीत क्रेडेंशियल्स, और विशेषाधिकार अधिकारों का पता लगाता है

  • VNC क्रेडेंशियल्स और GPP पासवर्ड को डिक्रिप्ट करने का समर्थन करता है

  • GPO द्वारा प्रभावित डोमेन, कंटेनर और OU ढूंढता है

  • किसी विशिष्ट उपयोगकर्ता, कंप्यूटर, OU, कंटेनर या डोमेन पर लागू GPO प्राप्त करता है

  • BloodHound डेटा को संबंधों और गुणों से समृद्ध करता है

स्थापना

pip के साथ स्थापित करें

git clone "https://github.com/cogiceo/GPOHound"
cd GPOHound
pip install .

pipx के साथ स्थापित करें

pipx install "git+https://github.com/cogiceo/GPOHound"

Neo4j के लिए APOC सेट अप करें

BloodHound डेटा संवर्धन के लिए आपको Neo4j APOC सेट अप करना होगा:

  • यदि आप मानक Neo4j स्थापना का उपयोग कर रहे हैं, तो आप APOC jar फ़ाइल को प्लगइन फ़ोल्डर में कॉपी करके और फिर Neo4j को पुनरारंभ करके APOC सक्षम कर सकते हैं:

    cp /var/lib/neo4j/labs/apoc-* /var/lib/neo4j/plugins/
    neo4j restart
    
  • यदि आप "Docker Compose" के साथ Neo4j स्थापित कर रहे हैं, तो पर्यावरण चर NEO4J_PLUGINS=["apoc"] जोड़ें:

    neo4j:
      image: neo4j:latest
      environment:
        - NEO4J_PLUGINS=["apoc"]
    

अधिक विवरण या वैकल्पिक स्थापना विधियों के लिए, आधिकारिक APOC दस्तावेज़ीकरण देखें।

BloodHound क्वेरीज़ जोड़ें

GPOHound द्वारा जोड़े गए संबंधों और गुणों को देखने के लिए, आप customqueries.json फ़ाइल से कस्टम क्वेरीज़ को BloodHound में आयात कर सकते हैं। डिफ़ॉल्ट रूप से, यह फ़ाइल ~/.config/bloodhound/customqueries.json पर स्थित है।

पूर्वापेक्षाएँ

SYSVOL डंप करना

डोमेन नियंत्रक से SYSVOL सामग्री डाउनलोड करके शुरू करें।

  • पूर्ण SYSVOL डाउनलोड करें:

    gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD 
    
  • केवल GPO डाउनलोड करें:

    gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD --gpos
    
  • बहिष्करण के साथ डाउनलोड करें:

    gpohound sysvol --dc $DC_HOST -u $USER -p $PASSWORD --exclude '/Policydefinitions/','/scripts/' --max-size 100
    

LDAP डंप करना

LDAP से सभी आवश्यक डेटा प्राप्त करें:

gpohound ldap --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD

BloodHound

BloodHound डेटा संवर्धन के लिए, आपको bloodhound.py या SharpHound.exe जैसे कलेक्टर का उपयोग करके BloodHound डेटा एकत्र करना होगा और एकत्रित डेटा को BloodHound इंटरफ़ेस में आयात करना होगा।

उपयोग

नमूना GPOHound फ़ाइलें example.zip में उपलब्ध हैं। उन्हें unzip example.zip से निकालें।

डिफ़ॉल्ट मानों और कॉन्फ़िगरेशन को अनुकूलित करने के निर्देशों के लिए CONFIG.md देखें।

gpohound --neo4j-user $USER --neo4j-pass $PASS dump
gpohound --neo4j-user $USER --neo4j-pass $PASS analysis

पार्स करें

gpohound parse "gpos/sysvols/$DOMAIN/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/Registry.pol"

डंप

gpohound dump
gpohound dump --list
gpohound dump --guid 31B2F340-016D-11D2-945F-00C04FB984F9
gpohound dump --policies scripts psscripts
gpohound dump --search 'VNC.*Server' --show

विश्लेषण

gpohound analysis
gpohound analysis --affected
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL'
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --list
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --dump
gpohound analysis --enrich
gpohound analysis --enrich-ce

वर्तमान विश्लेषण और संवर्धन

[!IMPORTANT]

  • सुरक्षा फ़िल्टर, WMI फ़िल्टर और आइटम-स्तरीय लक्ष्यीकरण जैसी शर्तों की व्याख्या नहीं की जाती है।
  • मान्य सेटिंग्स को छोड़ने से बचने के लिए GPO विरोधों का अनुकरण नहीं किया जाता है।

स्थानीय समूह

  • लॉगऑन के दौरान विशेषाधिकार प्राप्त स्थानीय समूहों को निर्दिष्ट उपयोगकर्ताओं का पता लगाना

  • नाम बदले गए बिल्ट-इन विशेषाधिकार प्राप्त स्थानीय समूहों का पता लगाना

  • "प्राथमिकता प्रक्रिया चर" (जैसे, %ComputerName%, %DomainName%) का उपयोग करके विशेषाधिकार प्राप्त स्थानीय समूहों में जोड़े गए ट्रस्टियों का पता लगाना

  • sAMAccountName अपहरण का उपयोग करके दुरुपयोग योग्य ट्रस्टियों का पता लगाना

  • विशेषाधिकार प्राप्त स्थानीय समूहों में जोड़े गए किसी भी ट्रस्टी का पता लगाना:

    समूहएज
    AdministratorsAdminTo
    Remote Desktop UsersCanRDP
    Distributed COM UsersExecuteDCOM
    Remote Management UsersCanPSRemote
    Backup OperatorsCanPrivEsc
    Print OperatorsCanPrivEsc
    Network Configuration OperatorsCanPrivEsc

रजिस्ट्री

विश्लेषणगुण
"Everyone" समूह में "Anonymous Logon" शामिल है
SMB सर्वर सत्र हस्ताक्षर सक्षम नहीं हैsmbSigningEnabled: false
SMB सर्वर सत्र हस्ताक्षर आवश्यक नहीं हैsmbSigningRequired: false
NTLMv1 प्रमाणीकरण समर्थित हैNTLMv1Support: true
Windows स्वचालित लॉगऑन डिफ़ॉल्ट पासवर्ड
VNC क्रेडेंशियल्स (सामान्य: RealVNC, TightVNC, TigerVNC, आदि)*VNC*PASS* (विभिन्न)
FileZilla संग्रहीत पासवर्ड
PuTTY प्रॉक्सी पासवर्ड
TeamViewer संग्रहीत क्रेडेंशियल्स
WinSCP सहेजे गए सत्र
Picasa संग्रहीत पासवर्ड

विशेषाधिकार अधिकार

डिफ़ॉल्ट विशेषाधिकार प्राप्त ट्रस्टी, साथ ही S-1-5-8 से शुरू होने वाले SID वाले सेवा खाते, विश्लेषण से बाहर रखे गए हैं।

विशेषाधिकारविवरणएज
SeDebugPrivilegeउपयोगकर्ता को किसी भी प्रक्रिया को डीबग और इंटरैक्ट करने की अनुमति देता हैCanPrivEsc
SeBackupPrivilegeसंवेदनशील फ़ाइलों तक पहुंच प्रदान करता हैCanPrivEsc
SeRestorePrivilegeपुनर्स्थापना के दौरान ऑब्जेक्ट अनुमतियों को बायपास करता हैCanPrivEsc
SeAssignPrimaryTokenPrivilegeSYSTEM एस्केलेशन के लिए टोकन प्रतिरूपण सक्षम करता हैCanPrivEsc
SeImpersonatePrivilegeकिसी अन्य उपयोगकर्ता के संदर्भ में प्रक्रिया बनाने की अनुमति देता हैCanPrivEsc
SeTakeOwnershipPrivilegeउपयोगकर्ताओं को सिस्टम ऑब्जेक्ट का स्वामित्व लेने देता हैCanPrivEsc
SeTcbPrivilegeOS के भाग के रूप में कार्य करने की क्षमता प्रदान करता हैCanPrivEsc
SeCreateTokenPrivilegeप्रमाणीकरण टोकन बनाने की अनुमति देता हैCanPrivEsc
SeLoadDriverPrivilegeड्राइवर लोड/अनलोड करने का अधिकार देता हैCanPrivEsc
SeManageVolumePrivilegeवॉल्यूम या डिस्क प्रबंधन विशेषाधिकार प्रदान करता हैCanPrivEsc
SeEnableDelegationPrivilegeकंप्यूटर और उपयोगकर्ता खातों को प्रतिनिधिमंडल के लिए विश्वसनीय बनाने में सक्षम करता है

सुधार

  • लॉगिंग में सुधार
  • LDAP को एकीकृत करें
  • SMB को एकीकृत करें
  • शेष एक्सटेंशन पार्स करें
  • वेब इंटरफ़ेस
  • GPO के बीच संभावित विरोधों को हाइलाइट करें

GPO दस्तावेज़ीकरण

SYSVOL और LDAP

  • [MS-GPAC] ऑडिट कॉन्फ़िगरेशन एक्सटेंशन
  • [MS-GPCAP] केंद्रीय पहुंच नीतियां प्रोटोकॉल एक्सटेंशन
  • [MS-GPEF] एन्क्रिप्टिंग फ़ाइल सिस्टम एक्सटेंशन
  • [MS-GPFAS] फ़ायरवॉल और उन्नत सुरक्षा डेटा संरचना
  • [MS-GPFR] फ़ोल्डर रीडायरेक्शन प्रोटोकॉल एक्सटेंशन
  • [MS-GPIE] इंटरनेट एक्सप्लोरर रखरखाव एक्सटेंशन
  • [MS-GPNAP] नेटवर्क एक्सेस प्रोटेक्शन (NAP) एक्सटेंशन
  • [MS-GPNRPT] नाम रिज़ोल्यूशन पॉलिसी टेबल (NRPT) डेटा एक्सटेंशन
  • [MS-GPOL] कोर प्रोटोकॉल
  • [MS-GPPREF] प्राथमिकता एक्सटेंशन डेटा संरचना
  • [MS-GPREG] रजिस्ट्री एक्सटेंशन एन्कोडिंग
  • [MS-GPSB] सुरक्षा प्रोटोकॉल एक्सटेंशन
  • [MS-GPSCR] स्क्रिप्ट एक्सटेंशन एन्कोडिंग
  • [MS-GPSI] सॉफ़्टवेयर स्थापना प्रोटोकॉल एक्सटेंशन

केवल LDAP

  • [MS-GPDPC] तैनात प्रिंटर कनेक्शन एक्सटेंशन
  • [MS-GPWL] वायरलेस/वायर्ड प्रोटोकॉल एक्सटेंशन

श्रेणियाँ