
विंडोज आरपीसी फ़ायरवॉल जो दुर्भावनापूर्ण रिमोट प्रोसीजर कॉल्स का ऑडिट करता है, उनका पता लगाता है और उन्हें ब्लॉक करता है ताकि लैटरल मूवमेंट, रिकॉनेसेंस और 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 कॉलों का ऑडिट और निगरानी शुरू कर देता है।