Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
KDStab — KillDefender और Backstab का BOF संयोजन | Kitploit
उपकरण/GitHubGitHub/octoberfest7/kdstab
रक्षात्मक उपकरणविशेषाधिकार वृद्धिशोषण फ्रेमवर्कपोस्ट-शोषणरेड टीमिंगपेलोड डेवलपमेंट
GitHuboctoberfest7/kdstab

KDStab

KillDefender और Backstab का BOF संयोजन

रिपॉजिटरी देखें
170363 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

KDStab

6/28/2022: Microsoft ने एक पैच जारी किया है जो MsMpEng.exe टोकन का हैंडल खोलने से रोकता है, और इस कारण इस टूल का KillDefender भाग अब काम नहीं करता। Backstab को अभी भी काम करना चाहिए। पैच ID के बारे में निश्चित नहीं हूँ, हो सकता है कि पुराने, अपैच सिस्टम पर काम करे। Win10 21H2 और Win11 पर सत्यापित किया गया।

यह Yaxser के Backstab और pwn1sher के KillDefender का एक Beacon Object File संयुक्त कार्यान्वयन है, जो Cobalt Strike के साथ उपयोग के लिए है।

image

परिचय

KDStab एक पोस्ट-एक्सप्लॉइटेशन टूल है जो Windows Defender को हराने के लिए है (सिद्धांततः यह अन्य समाधानों के लिए भी काम कर सकता है, लेकिन परीक्षण नहीं किया गया) ताकि अन्य पोस्ट-एक्स टूल का उपयोग पता लगने के डर के बिना किया जा सके। यह इस उद्देश्य के लिए Backstab और KillDefender का लाभ उठाता है, दोनों को kdstab Cobalt Strike कमांड द्वारा उपयुक्त होने पर कॉल किया जाता है।

KDStab का x64 Windows 10, Windows 11, और Server 2019 पर सफलतापूर्वक परीक्षण किया गया है।

KDStab को प्रशासक या सिस्टम स्तर की पहुँच की आवश्यकता है।

प्राथमिक कार्य:

  1. किसी प्रक्रिया की अखंडता (integrity) की गणना करना

  2. किसी प्रक्रिया के विशेषाधिकार छीनना और उसकी अखंडता को Untrusted पर सेट करना

  3. PPL संरक्षित प्रक्रिया को मारना (kill)

  4. PPL संरक्षित प्रक्रिया के हैंडल सूचीबद्ध करना

  5. PPL संरक्षित प्रक्रिया के एक विशिष्ट हैंडल को बंद करना

उदाहरण

किसी प्रक्रिया के अखंडता स्तर की जाँच करें

image

किसी प्रक्रिया के विशेषाधिकार छीनें और उसका टोकन Untrusted पर सेट करें

image

/STRIP कमांड का परिणाम

image

PPL संरक्षित प्रक्रिया को मारें

image

पृष्ठभूमि

मैंने pwn1sher के KillDefender को इसके रिलीज़ होने के कुछ समय बाद देखा और सोचा कि यह बहुत अच्छा है; MsMpEng.exe (Defender) को बेकार करने के अलावा, यह प्रक्रिया को चालू रखता है जो OPSEC के दृष्टिकोण से वांछनीय लगता है (इस तथ्य के अलावा कि WinDefend सेवा का डिफ़ॉल्ट व्यवहार विफलता पर MsMpEng.exe को पुनरारंभ करना है - यह बाद में उपयोगी होगा)।

जबकि Defender को अंधा करना एक एंगेजमेंट के लिए शानदार है, पेशेवरों के रूप में हम ग्राहक की संपत्तियों को उसी स्थिति में बहाल करने के लिए जिम्मेदार हैं जैसे हमने पाया था; इसके अलावा, हम वास्तव में उनके सिस्टम को अन्य अभिकर्ताओं के लिए उजागर नहीं छोड़ना चाहते क्योंकि हमने Kill(ed)Defender किया।

समस्या यह है कि MsMpEng.exe को उसके कार्यशील स्थिति में "पुनर्स्थापित" करना कठिन है। KillDefender लक्ष्य प्रक्रिया से विशेषाधिकार (SeDebugPrivilege, आदि) छीनने और उसके टोकन अखंडता को अविश्वसनीय (untrusted) पर सेट करके काम करता है। कोई केवल टोकन को "पुनः-उन्नत" नहीं कर सकता और विशेषाधिकार बहाल नहीं कर सकता; प्रक्रिया को मारना होगा और एक नया इंस्टेंस शुरू करना होगा। बेशक MsMpEng.exe एक PsProtectedSignerAntimalware-Light प्रक्रिया भी है, इसलिए सिस्टम के रूप में भी हम प्रक्रिया को समाप्त नहीं कर सकते। निराशाजनक रूप से, हाल ही में MsMpEng.exe से TrustedInstaller समूह हटा दिया गया है (आप इसके बारे में कुछ अन्य शोध पा सकते हैं), जिससे MsMpEng.exe प्रक्रिया (या WinDefend सेवा) को वास्तव में मारने की वह तकनीक, जो कई वर्षों से प्रचलित थी, अप्रभावी हो गई। इस सब के मद्देनजर, एकमात्र व्यवहार्य विकल्प मशीन को पुनरारंभ करना प्रतीत होता है, जो क्लाइंट के लिए समस्या पैदा कर सकता है यदि हम सर्वर और DC की बात कर रहे हों।

इस समस्या से लैस होकर मैंने चारों ओर देखना शुरू किया और जल्दी से Yaxser का Backstab पाया। Backstab ProcExp के ड्राइवर का लाभ उठाकर PPL संरक्षित प्रक्रियाओं को मारने में सक्षम है; यह sysinternals का एक Microsoft-हस्ताक्षरित ड्राइवर है जो हमारे लाभ में काम करता है। Backstab कुछ OPSEC-असुरक्षित क्रियाएँ करता है; यह ड्राइवर को डिस्क पर गिराता है और रेजिस्ट्री कुंजियाँ बनाता है। हालाँकि, यदि Defender पहले से अंधा है... :)

मैंने इन दोनों टूल्स को BOF प्रारूप में पोर्ट करने का निर्णय लिया ताकि उन्हें Cobalt Strike Beacon के माध्यम से उपयोग किया जा सके, बिना उन्हें डिस्क पर गिराए (मूल Backstab बाइनरी को Defender द्वारा रनटाइम पर ब्लॉक कर दिया गया था)।

मैं C/C++ और BOF लिखने दोनों में नया हूँ और इस प्रक्रिया के दौरान मैंने बहुत कुछ सीखा। आपको कोड में कुछ असंगतियाँ मिलेंगी (जैसे Backstab_bof को linux पर gcc का उपयोग करके लिखा और संकलित किया गया है, जबकि KillDefender_bof को Visual Studio में लिखा और संकलित किया गया है) जो सृजन प्रक्रिया के दौरान मेरे सीखने के कारण है, लेकिन मैंने कार्यक्षमता सुनिश्चित करने के लिए काफी परीक्षण किया है और साथ ही BOF में उचित उपयोग और इनपुट सुनिश्चित करने के लिए aggressor स्क्रिप्ट में बहुत सारी रेलें बनाई हैं। मुझे आशा है कि आपको यह टूल उपयोगी लगेगा।

परिवर्तन और प्रोग्रामिंग नोट्स:

टूल्स के स्रोत कोड में कुछ उल्लेखनीय परिवर्तन किए गए और कुछ प्रोग्रामेटिक विकल्प चुने गए, जिनका यहाँ उल्लेख किया जाएगा:

  1. ProcExp ड्राइवर अब संसाधन के रूप में संग्रहीत/लोड नहीं किया जाता है; यह backstab_src/resource.c में एक हार्डकोडेड बाइट ऐरे है

  2. मूल Backstab कोड में कई मेमोरी लीक थे जिन्हें मैंने ढूँढा और हल किया

  3. KillDefender POC तब विफल होता है जब उपयोगकर्ता System नहीं है; मैंने चल रहे उपयोगकर्ता की गणना करने और यदि आवश्यक हो तो Winlogon के टोकन के माध्यम से सिस्टम प्राप्त करने के लिए एक स्निपेट जोड़ा

  4. KillDefender को संशोधित किया गया ताकि उपयोगकर्ता निर्दिष्ट कर सके कि किस प्रक्रिया को लक्षित करना है; इसके अलावा, एक "Check" मोड जोड़ा गया ताकि किसी प्रक्रिया की अखंडता स्तर की गणना की जा सके (जो पुष्टि कर सकता है कि प्रक्रिया को सफलतापूर्वक विशेषाधिकारों और अखंडता से वंचित किया गया)

  5. Backstab पर्याप्त भिन्न API और C कॉल का उपयोग करता है कि Cobalt Strike सभी गतिशील फ़ंक्शन रिज़ॉल्यूशन को प्रबंधित नहीं कर सका - trustedsec बचाव के लिए! मैंने CS के पूरक के लिए उनके गतिशील फ़ंक्शन रिज़ॉल्यूशन को लागू किया ताकि सभी आवश्यक API को कॉल किया जा सके

  6. मूल Backstab में कई switch/case स्टेटमेंट थे जिन्होंने पोर्ट के दौरान समस्याएँ पैदा कीं, इसलिए उन्हें if/else स्टेटमेंट से बदल दिया गया। इसके अलावा लगभग सभी ग्लोबल वेरिएबल्स को समान कारणों से हटा दिया गया

  7. मुझे पता है कि यह अजीब है कि एक टूल Visual Studio के लिए और दूसरा GCC के लिए लिखा गया; यह मेरे इन्हें सफलतापूर्वक पोर्ट करने के संघर्ष और रास्ते में बहुत सी बढ़ती पीड़ाओं का परिणाम है। भविष्य के टूल्स को यहाँ मैंने जो सबक सीखे हैं, उनसे लाभ उठाना चाहिए

  8. KillDefender_bof और Backstab_bof दोनों स्वतंत्र रिपॉजिटरी के रूप में मौजूद हैं। कृपया ध्यान दें कि स्वतंत्र रिपॉजिटरी और इस टूल के बीच कोड अलग है। यह उन्हें अधिक लचीला बनाने और एकल पैकेज में एकीकृत करने के लिए किया गया था

संकलन के लिए:

मैंने x86 के लिए किसी भी टूल को संकलित करने का प्रयास नहीं किया है; यदि आपको वास्तव में इसका संस्करण चाहिए तो मैं इसे आप पर छोड़ूँगा।

gcc का उपयोग करके Backstab_bof को संकलित करने के लिए:

root@kitploit:~
x86_64-w64-mingw32-gcc -o backstab.x64.o -Os -c main.c -DBOF -D_UNICODE

सुनिश्चित करें कि आपने अपने mingw को नवीनतम संस्करण में अपडेट किया है! मुझे समस्याएँ थीं जहाँ मेरे संस्करण में पुरानी हेडर फ़ाइलें थीं, लेकिन नवीनतम संस्करण की हेडर फ़ाइलें सही हैं।

x64 Native कमांड प्रॉम्प्ट का उपयोग करके KillDefender_bof को संकलित करने के लिए:

root@kitploit:~
cl.exe /c /GS- /TP killdefender_bof.cpp /FoKillDefender.x64.o

श्रेय

  1. Yaxser और उनका Backstab टूल: https://github.com/Yaxser/Backstab

  2. pwn1sher और उनका KillDefender टूल: https://github.com/pwn1sher/KillDefender

  3. Trustedsec उनके CS-Situational-Awareness-BOF रिपो के लिए जो पोर्टिंग प्रक्रिया के दौरान बहुत मददगार था। मैंने इस परियोजना में उनके कोड के स्निपेट का उपयोग किया और मैं किसी को भी जो BOF लिखना शुरू कर रहा है, उस रिपो को देखने की अत्यधिक अनुशंसा करता हूँ: https://github.com/trustedsec/CS-Situational-Awareness-BOF

टूल डाउनलोड करें