
विंडोज आरपीसी फ़ायरवॉल जो दुर्भावनापूर्ण रिमोट प्रोसीजर कॉल्स का ऑडिट करता है, उनका पता लगाता है और उन्हें ब्लॉक करता है ताकि लैटरल मूवमेंट, रिकॉनेसेंस और DCSync और ZeroLogon जैसे RPC-आधारित हमलों का शोषण रोका जा सके।
हमारे RPC Firewall ब्लॉग पोस्ट या हमारे BlackHat टॉक को देखें ताकि RPC, RPC हमलों और इसके समाधान: RPC Firewall की बेहतर समझ प्राप्त हो सके।
हमारे |Zero| Labs Slack समुदाय कार्यक्षेत्र से जुड़ें किसी भी प्रश्न, समस्या या सिर्फ चिल्लाने के लिए।
हम आपसे ईमेल (यदि आप उस प्रकार के व्यक्ति हैं) के माध्यम से भी सुनना पसंद करेंगे। हमसे [email protected] पर संपर्क करें।
निम्नलिखित ट्यूटोरियल RPC Firewall की बुनियादी स्थापना और सेटअप दिखाता है, साथ ही यह प्रदर्शित करता है कि यह विभिन्न RPC-आधारित हमलों से कैसे बचाता है।
RPC वह अंतर्निहित तंत्र है जिसका उपयोग कई पार्श्व गति तकनीकों, टोही, रिले हमलों, या बस असुरक्षित RPC सेवाओं का शोषण करने के लिए किया जाता है।
DCSync हमला? RPC पर। दूरस्थ DCOM? RPC पर। WMIC? RPC पर। SharpHound? RPC पर। PetitPotam? RPC पर। PsExec? RPC पर। ZeroLogon? RPC पर... खैर, आप समझ गए होंगे :)
इस दस्तावेज़ में, हम निम्नलिखित शब्दों का उपयोग करेंगे:
सभी दूरस्थ RPC कॉलों का ऑडिट करने के लिए उपयोग किया जा सकता है। एक बार कोई भी दूरस्थ हमला उपकरण चलाने पर, आप देखेंगे कि कौन से RPC UUID और Opnums दूरस्थ रूप से कॉल किए गए थे।
एक उदाहरण कॉन्फ़िगरेशन यहाँ देखें।
जब RPCFW Configuration ऑडिट के लिए कॉन्फ़िगर किया जाता है, तो घटनाएँ Windows Event Log में लिखी जाती हैं। RPC Filter घटनाएँ सुरक्षा लॉग में, ईवेंट ID 5712 के साथ लिखी जाती हैं। RPC Firewall लॉग Application/RPCFW पर लिखे जाते हैं।
उपयोगकर्ता इन लॉग को अपने SIEM पर अग्रेषित कर सकते हैं, और इसका उपयोग विभिन्न सर्वरों के लिए दूरस्थ RPC ट्रैफ़िक की आधार रेखाएँ बनाने के लिए कर सकते हैं। जब एक असामान्य RPC कॉल का ऑडिट किया जाता है, तो अपनी SOC टीम के लिए अलर्ट ट्रिगर करने के लिए इसका उपयोग करें।
हमने कई Sigma नियम एकीकृत किए हैं जिनका उपयोग असामान्य RPC गतिविधियों और हमलों का पता लगाने के लिए किया जा सकता है।
RPCFW Configuration को केवल संभावित दुर्भावनापूर्ण RPC कॉलों को ब्लॉक और ऑडिट करने के लिए कॉन्फ़िगर किया जा सकता है। अन्य सभी RPC कॉलों का ऑडिट शोर कम करने और प्रदर्शन में सुधार करने के लिए नहीं किया जाता है।
जब एक संभावित दुर्भावनापूर्ण RPC कॉल का पता लगाया जाता है, तो इसे ब्लॉक और ऑडिट किया जाता है। इसका उपयोग आपकी SOC टीम को सचेत करने के लिए किया जा सकता है, जबकि आपके सर्वर सुरक्षित रहते हैं।
सुरक्षा को पूरक करने के लिए, आप RPC फ़िल्टरिंग क्षमताओं का उपयोग कर सकते हैं, जो RpcFwManager.exe के माध्यम से भी समर्थित हैं।
ऐसे कॉन्फ़िगरेशन का एक उदाहरण यहाँ पाया जा सकता है।
यह 3 घटकों से बना है:
जबकि प्रत्येक विधि का उपयोग करने के अपने फायदे और नुकसान हैं, RPC Firewall का उपयोग करने के कुछ प्रमुख लाभ हैं जिन पर विशेष ध्यान देने की आवश्यकता है। ये हैं:
दूसरी ओर, RPC Filters पूरे UUID के थोक की अनुमति या अस्वीकार करने के लिए अच्छे हैं, क्योंकि वे बिना किसी समस्या के ऐसा करते हैं।
कोई भी कमांड चलाने से पहले, तैनाती की स्थिति की जाँच करने की सिफारिश की जाती है। यह '/status' कमांड जारी करके किया जाता है:
RpcFwManager.exe /status
यह RPC Firewall और RPC Filters दोनों की स्थिति दिखाएगा। यह स्थापना स्थिति, और तैनाती की चल रही स्थिति के बारे में विस्तृत जानकारी देगा।
लगभग हर कमांड के अंत में fw या flt जोड़ा जा सकता है। यह RPCFW Manager को बताता है कि कमांड RPC Firewall ('fw'), RPC Filters ('flt') या दोनों पर लागू होता है जब कोई प्रत्यय उपयोग नहीं किया जाता है।
प्रासंगिक सुविधा (RPC Filters / RPC Firewall / दोनों) की स्थापना करें।
स्थापना/अनइंस्टॉल के दौरान इवेंट व्यूअर को बंद रखना सुनिश्चित करें। साथ ही, यह सुनिश्चित करने के लिए स्थापना से पहले रुकना और अनइंस्टॉल करना अच्छा अभ्यास है कि कोई पिछला संस्करण स्थापित नहीं है।
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install
अनइंस्टॉल करना इसके विपरीत करता है। यहाँ भी अनइंस्टॉल से पहले सेवा को रोकना सुनिश्चित करना अच्छा अभ्यास है।
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RPC Filters स्वभाव से, पूरे सिस्टम पर, किसी भी RPC सर्वर पर लागू होते हैं। ऐसे फ़िल्टर लागू करना रीबूट के बाद भी बना रहता है। कोई भी नई या पुरानी प्रक्रिया RPC Filters द्वारा RPCFW Configuration के अनुसार सुरक्षित रहेगी।
RPC Firewall इंजेक्ट किया जाता है और किसी भी RPC सर्वर प्रक्रिया की रक्षा करता है जो दूरस्थ RPC कॉलों को सुन रही है। यह RPC Firewall को उन प्रक्रियाओं में इंजेक्ट करके किया जाता है जो RPCRT4.DLL (RPC रनटाइम) लोड करती हैं। एक बार लोड होने के बाद, RPC Firewall यह पता लगाएगा कि RPC सर्वर दूरस्थ RPC कॉलों को सुन रहा है या नहीं। यदि नहीं, तो यह स्वयं को अनलोड करता है। यदि प्रक्रिया एक वैध RPC सर्वर है, तो rpcFirewall RPCFW Configuration के अनुसार आने वाले RPC कॉलों का ऑडिट और निगरानी शुरू कर देता है।
RPC सेवाओं की सुरक्षा के लिए अनुशंसित विधि '/start' कमांड का उपयोग करना है। यह RPC Firewall सेवा शुरू करता है (यदि 'fw' या बिना प्रत्यय), और RPC Filters बनाता है (यदि 'flt' या बिना प्रत्यय)।
RpcFwManager.exe /start
विशिष्ट प्रक्रियाओं की सुरक्षा के लिए RPC Firewall का तदर्थ उपयोग करना भी संभव है। यह RPC Firewall सेवा शुरू नहीं करेगा, और रीबूट के बाद बरकरार नहीं रहेगा।
एकल प्रक्रिया को प्रक्रिया ID (PID) द्वारा संरक्षित करने के लिए:
RpcFwManager.exe /start pid <pid>
एकल प्रक्रिया को नाम से संरक्षित करने के लिए:
RpcFwManager.exe /start process <प्रक्रिया नाम>
सुरक्षा रोकने के लिए, बस उपयुक्त प्रत्यय के साथ '/stop' कमांड जारी करें (किसी विशिष्ट प्रक्रिया के लिए सुरक्षा रोकना संभव नहीं है)।
RpcFwManager.exe /stop
उपयोग किए गए प्रत्यय ('fw' या 'flt' या कुछ नहीं) के अनुसार, यह RPC Firewall सेवा को रोक देगा और सभी प्रक्रियाओं से RPC Firewall dll को अनलोड कर देगा। RPC Filters के लिए, यह RPCFW Manager द्वारा उत्पन्न सभी फ़िल्टर हटा देगा।
एक बार शुरू होने के बाद, RPC Firewall रीबूट के बाद भी बना रहेगा। RPC Filters भी स्थायी हैं।
RPCFW Manager निष्पादन योग्य के समान निर्देशिका में RpcFw.conf फ़ाइल की तलाश करता है। यह फ़ाइल निम्नलिखित कॉन्फ़िगरेशन विकल्पों का उपयोग करती है:
महत्वपूर्ण: प्रत्येक कॉन्फ़िगरेशन पंक्ति को यह इंगित करने के लिए या तो 'fw:' या 'flt:' से उपसर्गित किया जाना चाहिए कि पंक्ति RPC Firewall या RPC Filter के लिए लागू है।
अधिक RPC संबंधित "चीजें" देखने के लिए, एक show कमांड है। अभी के लिए, यह केवल संरक्षित प्रक्रियाओं को दिखाता है, जिन्हें RPC फ़ायरवॉल मॉड्यूल से संरक्षित नहीं किया जा सकता है।
RpcFwManager.exe /show
कॉन्फ़िगरेशन क्रम महत्वपूर्ण है, क्योंकि पहला मिलान RPC कॉल के परिणाम को निर्धारित करता है।
उदाहरण के लिए, निम्नलिखित कॉन्फ़िगरेशन स्निपेट RPC Firewall का उपयोग करके DC को DCSync से बचाएगा। यह MS-DRSR UUID के खतरनाक opnum 3 DRSGetNCChanges को केवल अन्य डोमेन नियंत्रकों से सक्षम करके ऐसा करता है।
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 opnum:3 action:block
जब भी कॉन्फ़िगरेशन बदलता है, तो आपको अपडेट कमांड के माध्यम से rpcFirewall.dll को सूचित करने की आवश्यकता है:
RpcFwManager.exe /update
RPC Firewall के लिए, Event Viewer -> Applications and Services Logs -> RPCFW खोलें। ईवेंट Ids 1 और 2 'protect' और 'unprotect' घटनाओं को संदर्भित करते हैं। ईवेंट 3 वास्तविक RPC कॉलों का ऑडिट करता है। साथ ही, Keywords कॉलम जोड़ें। इस कॉलम में Audit Success/Failure होगा, जिसका अर्थ है कि RPC कॉल ब्लॉक किया गया था या नहीं।
RPC Filters के लिए, Event Viewer -> Security -> RPCFW खोलें। ईवेंट ID 5712 के लिए फ़िल्टर करें।
हाँ! पुल रिक्वेस्ट करने में संकोच न करें।
हम भी यही चाहते हैं! कृपया किसी भी विचार, सुझाव या समस्या के लिए हमसे संपर्क करें: [email protected]
अधिक विवरण के लिए LICENSE देखें।
| पैरामीटर नाम | स्पष्टीकरण | द्वारा समर्थित ... |
|---|
| opnum: | एक RPC opnum से मिलान करें | RPC Firewall |
| verbose: | true या false हो सकता है। true होने पर, विशिष्ट RPC कॉलों के लिए डीबग जानकारी आउटपुट करता है (डिफ़ॉल्ट false) | RPC Firewall |
| prot: | उपयोग किए गए प्रोटोकॉल को प्रोटोकॉल अनुक्रम स्थिरांक में से किसी से मिलान करें | RPC Firewall और Filters दोनों |
| addr: | किसी दूरस्थ IP पते (IPv4 या IPv6, CIDR सहित) से मिलान करें | RPC Firewall और आंशिक रूप से RPC Filters द्वारा, यहाँ और पढ़ें |
| uuid: | किसी विशिष्ट uuid से मिलान करें | RPC Firewall और Filters दोनों |
| action: | allow या block हो सकता है (डिफ़ॉल्ट allow) | RPC Firewall और Filters दोनों |
| audit: | true या false हो सकता है। नियंत्रित करता है कि RPCFW लॉग में घटनाएँ लिखी जाती हैं या नहीं (डिफ़ॉल्ट false) | RPC Firewall और Filters दोनों |
| sid: | किसी प्रमाणित उपयोगकर्ता को सुरक्षा पहचानकर्ता से मिलान करता है। विशिष्ट उपयोगकर्ता या समूह हो सकता है। | RPC Firewall और Filters दोनों |