Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ICALL-GADGET — एक वैध कर्नेल मॉड्यूल के नियंत्रण प्रवाह को अपने स्वयं के अवैध कर्नेल मॉड्यूल की ओर पुनर्निर्देशित करने के लिए एक्सप्लॉइट, ताकि एंटी-चीट्स स्टैक वॉकिंग से बचा जा सके | Kitploit
उपकरण/GitHubGitHub/gmh5225/icall-gadget
स्थायित्व तंत्रशोषणआईडीएस/आईपीएस से बचनारिवर्स इंजीनियरिंगशेलकोडरेड टीमिंगपेलोड डेवलपमेंटबाइनरी शोषण
GitHubgmh5225/icall-gadget

ICALL-GADGET

एक वैध कर्नेल मॉड्यूल के नियंत्रण प्रवाह को अपने स्वयं के अवैध कर्नेल मॉड्यूल की ओर पुनर्निर्देशित करने के लिए एक्सप्लॉइट, ताकि एंटी-चीट्स स्टैक वॉकिंग से बचा जा सके

रिपॉजिटरी देखें
122 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

संचार के लिए ICALL गैजेट का दुरुपयोग

सामान्य जानकारी: यह विंडोज कर्नेल में है और यह हमें अपने ड्राइवर में एंटीचीट्स द्वारा पता लगाए बिना संचार करने की अनुमति देगा

तो मैं IDA में स्क्रॉल कर रहा था और मुझे यह मिला

image

आगे की जांच के बाद हम देख सकते हैं कि यह _guard_dispatch_icall_ptr नामक फ़ंक्शन को कॉल करता है। icall मूल रूप से rax पर एक jmp है, इसलिए यदि आप थोड़ा सोचें तो हम इस पूरे फ़ंक्शन को संशोधित कर सकते हैं ताकि यह शेलकोड का उपयोग करके हमारे हैंडलर को कॉल करे।

हमारा शेलकोड

हम ऐसा शेलकोड बनाने जा रहे हैं जो rax को हमारे हैंडलर फ़ंक्शन के पॉइंटर पर सेट करता है। इस तरह जब फ़ंक्शन को कॉल किया जाएगा तो यह हमारे शेलकोड को निष्पादित करेगा और हमारे हैंडलर को कॉल करेगा। हम यह सुनिश्चित करना चाहते हैं कि जब हम अपना शेलकोड बनाएं तो यह उस कोड के बाइट्स के समान आकार का हो जिसे हम संशोधित कर रहे हैं। तो यहाँ मेरे द्वारा asm में उपयोग किए गए शेलकोड का एक उदाहरण है, आपको इसे बाइट्स में बदलना होगा।

 sub    rsp,0x38
 movabs rax,0xdeadbeef #placeholder for handler
 movabs r10,0xab39cfee
 inc    rax
 dec    rax
 call   QWORD PTR [rip+0x720d4]        # 0x720f8
 jmp    0x29

हमारा कोड

cpp में हमें बस फ़ंक्शन का पता प्राप्त करना है और फिर अपने शेलकोड को उसमें मैप करना है, लेकिन यहीं यह मुश्किल हो जाता है, अगर हम इसे सीधे वैसे ही करें जैसा यह है तो हम स्टैक को भ्रष्ट कर देंगे और समय-समय पर ब्लूस्क्रीन हो जाएगा। इससे बचने के लिए हमें स्टैक की मरम्मत करनी होगी। इसलिए अपने हैंडलर के अंदर वापस लौटने के बजाय हमें वही ऑपरेशन करने चाहिए जो फ़ंक्शन कर रहा होता अगर हमने इसे संशोधित न किया होता। मैं इसे पाठक पर छोड़ता हूं क्योंकि मैं एंटीचीट्स से बचने का एक शानदार तरीका सीधे नहीं बताना चाहता, लेकिन याद रखें कि फ़ंक्शन के मूल asm को देखें और देखें कि हम क्या संशोधित कर रहे हैं। साइड नोट: यदि आप स्टैक भ्रष्टाचार को ठीक करते हैं और अपने हैंडलर के अंदर वही करते हैं जो फ़ंक्शन का इरादा था, तो ऐसा दिखेगा जैसे कुछ भी संशोधित नहीं हुआ है! :)

 //getting address to function
 FunctionAddress = module + 0xD70C; 
 
 BYTE shellcode[] = { 0x48, 0x83, 0xEC, 0x38, 0x48, 0xB8, 0xEF, 0xBE, 0xAD, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBA, 0xEE, 0xCF, 0x39, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x48, 0xFF, 0xC0, 0x48, 0xFF, 0xC8, 0xFF, 0x15, 0xD4, 0x20, 0x07, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x00 };

 memcpy(&shellcode[6], &hkfunction, 8);

 DisableWriteProtection();
 memcpy((PVOID)FunctionAddress, &shellcode, sizeof(shellcode));
 EnableWriteProtection();

समापन

उम्मीद है कि आपने इस त्वरित राइट-अप से कुछ सीखा होगा, बस इतना जान लें कि आप अन्य गैजेट्स भी पा सकते हैं जो बहुत कुछ करेंगे, जितना जटिल उतना बेहतर।

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