
Automating the MITM attack on WSUS
WSUS हमले का स्वचालन
डोमेन से जुड़ी Windows मशीन पर स्थानीय व्यवस्थापकीय पहुँच प्राप्त करना आमतौर पर पेनिट्रेशन परीक्षण के दौरान पहला कदम होता है। कई मामलों में, Windows Server Update Service (WSUS) को HTTP का उपयोग करके स्थानीय नेटवर्क पर क्लाइंट्स को अपडेट तैनात करने के लिए कॉन्फ़िगर किया जाता है। HTTPS की सुरक्षा के बिना, एक हमलावर क्लाइंट को अपडेट देने के लिए मशीन-इन-द-मिडिल हमला कर सकता है, जो फिर SYSTEM विशेषाधिकारों के साथ निष्पादित होगा। कोई भी Microsoft-हस्ताक्षरित निष्पादन योग्य फ़ाइल को अपडेट के रूप में सर्व किया जा सकता है, जिसमें एक कस्टम कमांड भी शामिल है जिसके साथ निष्पादन योग्य फ़ाइल निष्पादित होती है। यदि कोई हमलावर WSUS सर्वर के लिए TLS-प्रमाणपत्र प्राप्त करने में सक्षम होता है, तो यह तकनीक HTTPS पर भी की जा सकती है (देखें ESC17 और हमारा ब्लॉग पोस्ट)।
WSUS हमले का स्वचालित रूप से शोषण करने के लिए, यह टूल ARP का उपयोग करके नेटवर्क पर WSUS सर्वर के IP पते को स्पूफ करता है, और जब लक्षित क्लाइंट Windows अपडेट का अनुरोध करता है, तो यह स्थानीय व्यवस्थापक विशेषाधिकार प्राप्त करने के लिए एक पूर्वनिर्धारित PowerShell स्क्रिप्ट के साथ PsExec64.exe सर्व करता है। सर्व की जाने वाली निष्पादन योग्य फ़ाइल (डिफ़ॉल्ट: PsExec64.exe) और निष्पादित किया जाने वाला कमांड दोनों को आवश्यकतानुसार बदला जा सकता है।
डिफ़ॉल्ट रूप से, एक Windows क्लाइंट लगभग हर 24 घंटे में अपडेट की जाँच करेगा।
पूर्वापेक्षाएँ:
परिणाम:
कार्यान्वित सुविधाएँ:
pipx का उपयोग करना (अनुशंसित):
sudo apt install pipx python3-nftables
pipx ensurepath
pipx install wsuks --system-site-packages
sudo ln -s ~/.local/bin/wsuks /usr/sbin/wsuks
poetry का उपयोग करना:
sudo apt install pipx git python3-nftables # poetry still should be installed with pipx, but apt will work as well
sudo pipx install poetry
sudo ln -s /root/.local/bin/poetry /usr/sbin/poetry
git clone https://github.com/NeffIsBack/wsuks
cd wsuks
sudo poetry install
❗wsuks को रूट के रूप में चलाया जाना चाहिए❗
pipx के साथ, आप सिस्टम पर कहीं भी sudo wsuks ... चला सकते हैं।
यदि आप poetry का उपयोग कर रहे हैं, तो आपको wsuks फ़ोल्डर में होना चाहिए और प्रत्येक कमांड को sudo poetry run wsuks ... के साथ शुरू करना चाहिए।
इस टूल के लिए nftables पैकेज स्थापित होना आवश्यक है, जो सभी डेबियन-आधारित सिस्टम पर डिफ़ॉल्ट है।\
wsuks को चलाने के लिए 3 अलग-अलग मोड/हमले के परिदृश्य हैं:
यदि आपके पास पहले से एक डोमेन उपयोगकर्ता है, तो wsuks WSUS सर्वर को खोजने के लिए डोमेन कंट्रोलर पर GPOs को पार्स करेगा।
एक PowerShell स्क्रिप्ट निष्पादित की जाती है, जो प्रदान किए गए डोमेन उपयोगकर्ता को स्थानीय व्यवस्थापक समूह में जोड़ देगी।
sudo wsuks -t 10.0.0.10 -u User -p Password -d domain.local --dc-ip 10.0.0.1
सुझाव: यदि आप केवल WSUS सर्वर की जाँच करना चाहते हैं, तो आप --only-discover फ़्लैग का उपयोग कर सकते हैं।
पूर्वनिर्धारित PowerShell स्क्रिप्ट निम्नलिखित क्रियाएँ निष्पादित करेगी:
⚠ LocalAccountTokenFilterPolicy को 1 पर सेट करने से पहले, मूल मान उपयोगकर्ता विवरण फ़ील्ड में संग्रहीत किया जाता है ताकि इसे बाद में पुनर्स्थापित किया जा सके
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20
यदि आपके पास पहले से एक डोमेन उपयोगकर्ता है और आप WSUS सर्वर का IP जानते हैं, तो wsuks केवल उपयोगकर्ता को स्थानीय Administrators समूह में जोड़ देगा।
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20 -u User -d domain.local
यदि ट्रैफ़िक पहले से ही हमलावर की मशीन पर पुनर्निर्देशित किया जा रहा है (उदाहरण के लिए DNS पर नियंत्रण के साथ), तो wsuks का उपयोग स्वयं ARP स्पूफिंग और रूटिंग किए बिना केवल दुर्भावनापूर्ण निष्पादन योग्य और कमांड को सर्व करने के लिए किया जा सकता है। यह प्रदान किए गए इंटरफ़ेस पर बस HTTP सर्वर चालू कर देगा।
sudo wsuks --serve-only
यदि कोई हमलावर WSUS सर्वर के लिए एक TLS प्रमाणपत्र प्राप्त करने में सक्षम है (जैसे ESC17 के माध्यम से), तो हमला HTTPS पर भी किया जा सकता है।
यह उपरोक्त सभी परिदृश्यों पर लागू होता है, बस प्रमाणपत्र के पथ के साथ --tls-cert फ़्लैग जोड़ें।
sudo wsuks -t 10.0.0.10 --WSUS-Server secure.wsus.domain.local --tls-cert cert.pem
यहाँ ज्ञात WSUS सर्वर के साथ हमले का एक संक्षिप्त डेमो है:

GoSecure के PyWSUS रिपॉजिटरी में आप इस हमले का पता लगाने और इसे शमित करने के तरीके के बारे में बेहतरीन दस्तावेज़ पा सकते हैं। उन्होंने एक बेहतरीन गाइड भी लिखी है जो दिखाती है कि यह हमला विस्तार से कैसे काम करता है यहाँ।
ESC17 के संबंध में, कृपया शमन अनुशंसाओं के लिए certipy wiki देखें।
इस टूल के कुछ हिस्से निम्नलिखित परियोजनाओं पर आधारित हैं: