
रक्षकों को CVE-2025-59287 के मद्देनज़र अपनी WSUS कॉन्फ़िगरेशन खोजने में मदद करता है।
GPOs (ग्रुप पॉलिसी ऑब्जेक्ट्स) में WSUS सर्वर कॉन्फ़िगरेशन खोजें — जिसमें छिपी हुई Group Policy Preferences (GPP) भी शामिल हैं।
Find-WSUS एक PowerShell स्क्रिप्ट है जिसे सुरक्षा पेशेवरों और सिस्टम प्रशासकों के लिए डिज़ाइन किया गया है ताकि GPOs के माध्यम से कॉन्फ़िगर किए गए सभी WSUS (Windows Server Update Services) सर्वर URL की पहचान की जा सके। यह दोनों प्रकार के कॉन्फ़िगरेशन का पता लगाती है:
WSUS सर्वर उच्च-मूल्य वाले इंफ्रास्ट्रक्चर एसेट होते हैं। यदि इनसे समझौता हो जाता है, तो कोई हमलावर सभी डोमेन-जुड़े सिस्टमों पर दुर्भावनापूर्ण “अपडेट” तैनात कर सकता है, जिससे पूर्ण डोमेन समझौता हो सकता है।
🧨 CVE-2025-59287 जैसी कमजोरियाँ दर्शाती हैं कि एक अकेला WSUS एक्सप्लॉइट हमलावरों को पूरे डोमेन पर नियंत्रण दे सकता है।
Find-WSUS संगठनों को हमलावरों से पहले हर WSUS कॉन्फ़िगरेशन स्रोत का पता लगाने में मदद करता है।
अधिकांश स्कैन केवल यह जाँचते हैं:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
हालाँकि, कई संगठन WSUS कॉन्फ़िगरेशन को Group Policy Preferences (GPP) के माध्यम से तैनात करते हैं, जो सीधे रजिस्ट्री कुंजियों को संशोधित करते हैं। ये सेटिंग्स मानक GPMC रिपोर्टों में दिखाई नहीं देतीं।
✅ Find-WSUS मानक और GPP-आधारित दोनों कॉन्फ़िगरेशन का पता लगाता है, जिससे आपको अपने वातावरण में पूर्ण दृश्यता मिलती है।
स्क्रिप्ट को अपने PowerShell सत्र में लोड करें:
. .\Find-WSUS.ps1
आयात करने के बाद, Find-WSUS फ़ंक्शन उपलब्ध हो जाता है।
Find-WSUS | Format-Table -AutoSize
स्कैन करते समय विस्तृत प्रगति संदेश देखें:
Find-WSUS -Verbose
Find-WSUS -Domain "child.mydomain.com" | Format-Table -AutoSize
Find-WSUS -Name "*Server*" -Verbose
$results = Find-WSUS -Domain "mydomain.com"
$results.Hostname | Where-Object { $_ } | Sort-Object -Unique
COM थ्रेडिंग त्रुटियों से बचने के लिए Get-GPRegistryValue को STA रनस्पेस में उपयोग करता है।
निम्न में WUServer और WUStatusServer मानों को स्कैन करता है:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Get-GPOReport -ReportType Xml से XML आउटपुट पार्स करता है।q2:Registry) और फ़ॉलबैक (*[local-name()='Registry']) नोड्स में छिपे WSUS URL ढूँढता है।...\Windows\WindowsUpdate कुंजियाँ शामिल हैं।यह
Find-WSUSसे वास्तविकFormat-Table -AutoSizeलेआउट और हेडर को दर्शाता है, लेकिन यथार्थवादी नमूना होस्ट/URL और GPO नाम/GUID के साथ।
PS C:\Users\Administrator\Documents> Find-WSUS | Format-Table -AutoSize
[OK] Environment check passed: 64-bit PowerShell, GroupPolicy module loaded, GPOs accessible.
GPOName Scope Key ValueName Value Hostname GPOGuid
------- ----- --- --------- ----- -------- -------
Default Domain Policy Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer https://wsus.corp.contoso.com:8531 wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Default Domain Policy Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\Windows\Update WUStatusServer https://wsus.corp.contoso.com:8531 wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Corporate WSUS Baseline Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer http://wsus01.contoso.com:8530 wsus01.contoso.com 57f2e3da-33c5-4a35-abce-c12a0b7f9823
Corporate WSUS Baseline Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus01.contoso.com:8531 wsus01.contoso.com 57f2e3da-33c5-4a35-abce-c12a0b7f9823
Workstations - Windows Update (GPP) Preference (Registry) HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus-west.contoso.com:8531 wsus-west.contoso.com a1cde8b2-7f45-43f2-9db4-9c1e93a0e5c1
नोट: वास्तविक वातावरण में आप अक्सर
:8531पर SSL और:8530पर लीगेसी HTTP देखेंगे। ऊपर दिए गए होस्टनाम उदाहरण हैं; अपनी वास्तविक इन्वेंट्री से बदलें।
[!WARNING] यह स्क्रिप्ट एक डिस्कवरी टूल है, पूर्ण इन्वेंट्री सिस्टम नहीं।
यह केवल Group Policy के माध्यम से परिभाषित WSUS सर्वरों को खोजता है। यह निम्न का पता नहीं लगाता:
Find-WSUS चलाएँ।WSUSService चलाने वाली मशीनों के लिए EDR या एसेट स्कैनर से तुलना करें।सुरक्षा इंजीनियरों द्वारा छिपे हुए WSUS कॉन्फ़िगरेशन को उजागर करने और पैच इंफ्रास्ट्रक्चर दृश्यता में सुधार करने के लिए विकसित किया गया।
📘 योगदान का स्वागत है! संगतता बढ़ाने या नई डिस्कवरी विधियाँ जोड़ने के लिए पुल रिक्वेस्ट या इश्यू सबमिट करें।
| आवश्यकता | विवरण |
|---|
| 64-bit PowerShell | COM संगतता के लिए आवश्यक है। 32-bit PowerShell में चलाने पर स्क्रिप्ट स्वचालित रूप से बाहर निकल जाती है। |
| RSAT: Group Policy Management Tools | GroupPolicy मॉड्यूल के लिए आवश्यक है।Windows 10/11: Settings → Optional Features → Add a Feature → RSAT: Group Policy Management ToolsWindows Server: Server Manager → Add Roles and Features → Features → Group Policy Management |
| अनुमतियाँ | स्कैन किए जा रहे डोमेन में सभी GPOs के लिए पढ़ने की पहुंच। |
| वैकल्पिक: व्यवस्थापक अधिकार | कुछ रजिस्ट्री पॉलिसी क्वेरी बिना एलिवेशन के विफल हो सकती हैं। |
| पैरामीटर | विवरण | डिफ़ॉल्ट |
|---|
-Name | GPOs को वाइल्डकार्ड का उपयोग करके प्रदर्शन नाम से फ़िल्टर करता है। * होने पर -All का उपयोग करता है। | * (सभी GPOs) |
-Domain | क्वेरी करने के लिए एक डोमेन निर्दिष्ट करें (मल्टी-डोमेन फ़ॉरेस्ट में उपयोगी)। | वर्तमान उपयोगकर्ता का डोमेन |
-Verbose | विस्तृत स्कैनिंग प्रगति और निष्कर्ष प्रदर्शित करता है। | बंद |