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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
IKEV2-POC — IKEv2, ikeext.dll, CVE-2026-33824, डबल फ्री, हीप ग्रूमिंग, ROP, SKF विखंडन, विंडोज शोषण, एंटी-डीबग, अस्पष्टीकरण, एपीआई हुकिंग, शेलकोड, रिवर्स शेल | Kitploit
उपकरण/GitHubGitHub/epsilonpointori/ikev2-poc
शोषण फ्रेमवर्करिवर्स इंजीनियरिंगशेलकोडकमांड एंड कंट्रोलपेलोड डेवलपमेंटबाइनरी शोषण
GitHubepsilonpointori/ikev2-poc

IKEV2-POC

IKEv2, ikeext.dll, CVE-2026-33824, डबल फ्री, हीप ग्रूमिंग, ROP, SKF विखंडन, विंडोज शोषण, एंटी-डीबग, अस्पष्टीकरण, एपीआई हुकिंग, शेलकोड, रिवर्स शेल

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

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

सभी देखें →

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

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

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

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

EpSiLoNPoInTIkEv2.cpp

⚠️ परियोजना अंतिम रूप दी जा रही है। वर्तमान स्थिति में पूरी तरह कार्यात्मक नहीं है।


विवरण

EpSiLoNPoInTIkEv2.cpp एक C/C++ एक्सप्लॉइट प्रोटोटाइप है जो विंडोज को लक्षित करता है, जिसे ikeext.dll में डबल-फ्री प्रकार के शोषण के आसपास विकसित किया गया है (विंडोज का IKEv2 ड्राइवर), अनुसंधान के तहत CVE-2026-33824 के रूप में संदर्भित।

परियोजना में शामिल हैं:

  • एक पूर्ण अस्पष्टता परत (वर्चुअल मशीन, नियंत्रण प्रवाह अस्पष्टता, स्ट्रिंग छिपाना, नकली बाइनरी हस्ताक्षर, इनलाइन ASM एंटी-विश्लेषण)।
  • एक पूर्ण IKEv2 शोषण इंजन (पैकेट निर्माण, SKF विखंडन, मल्टी-थ्रेड हीप ग्रूमिंग, ROP चेन, मनमानी पढ़ने/लिखने की प्रिमिटिव्स)।
  • विंडोज डिफेंडर, AMSI और ETW को बायपास करने के तंत्र।
  • पोर्ट 4444 पर एक अंतर्निहित रिवर्स शेल लिस्नर।
  • संदिग्ध मेमोरी क्षेत्रों के निरीक्षण के लिए आंशिक GUI (ListView, ComboBox, स्थिति पट्टी)।

कोड आर्किटेक्चर

1. अस्पष्टता परत (EpSi_OBF_ENDL / प्रेरित obfusheader)

कोड संकलन पर #define EpSi_OBF_ENDL के माध्यम से सक्रिय एक भारी अस्पष्टता परत का उपयोग करता है। obfusheader.h पर आधारित, अनुकूलित और विस्तारित।

नकली बाइनरी हस्ताक्षर (FAKE_SIGNS == 1)

ज्ञात प्रोटेक्टर स्कैनर्स को धोखा देने के लिए बाइनरी में कस्टम PE अनुभाग इंजेक्ट किए जाते हैं:

  • .vmp0, .vmp1, .vmp2 → VMProtect
  • UPX0 → UPX
  • .enigma1, .enigma2 → Enigma Protector
  • .winlice → Themida
  • .petite, .aspack, .adata, .rlp, .vlizer, .arch, .alien, .pwdprot, .dsstext, logicoma, __wibu00, __wibu01, PETETRIS, .tw, .rdata (Nuitka), .text (Screen2Exe), आदि।
  • एन्कोडेड स्ट्रिंग्स जो एनिग्मा की नकल करती हैं (0x45,0x6e,0x69,...), Denuvo (0x64,0x65,0x6E,...)।
  • FAKE_DONGLE[] सारणी हार्डवेयर डोंगलों की नकल करती है: skeydrv.dll, HASPDOSDRV, MARXDEV1.SYS, WIBUKEY, SNTNLUSB, RNBOspro, आदि।

अंकगणितीय वर्चुअल मशीन (VIRT == 1)

सभी अंकगणितीय और तार्किक संचालन को एक आंतरिक VM (Obfh_VirtualMachine) में रूट किया जा सकता है:

  • ओपकोड (OP__ADD, OP__SUB, ..., OP__NOP) संकलन पर __COUNTER__ और RND() के माध्यम से यादृच्छिक रूप से उत्पन्न होते हैं।
  • प्रत्येक ओपकोड एन्क्रिप्टेड है: _VM_ENCRYPT_INT(value) = (value - _VM_MUTATOR_KEY) * ~SALT_CMD।
  • ऑपरेंड साल्टेड, उलटे (* -1), और जंक वैल्यू के साथ पास किए जाते हैं।
  • VM स्वयं goto, झूठे नकारात्मक case, BREAK_STACK_* (इनलाइन ASM xor; jz; .byte 0xE8; cpuid), झूठे JMP (.byte 0xFF, 0x25) और डीकंपाइलर्स को धोखा देने के लिए नकली x86_64 कोड ब्लॉक से भरा हुआ है।
  • उजागर मैक्रोज़: VM_ADD, VM_SUB, VM_MUL, VM_DIV, VM_MOD, VM_EQU, VM_NEQ, VM_LSS, VM_GTR, VM_LEQ, VM_GEQ, VM_OBF_INT, VM_ADD_DBL, VM_MUL_DBL, आदि।

अस्पष्ट प्रवाह नियंत्रण (NO_CFLOW != 1)

  • #define if(cond) : प्रत्येक if एक __s_rdtsc() कॉल और एक मृत BAD_CALL इंजेक्ट करता है।
  • #define else : वास्तविक else से पहले एक मृत else if (0) { BAD_CALL; } इंजेक्ट करता है।
  • #define while(...) : __s_rdtsc() != 0.1 और एक बेतुके पॉइंटर चेक द्वारा सशर्त।
  • #define for(...) : OBFUS_CONDITION_BLOCK द्वारा सशर्त।
  • #define switch(...) : OBFUS_CONDITION_BLOCK द्वारा सशर्त।
  • #define break : प्रत्येक break से पहले if (OBFUS_CONDITION_BLOCK) BREAK_STACK_1 इंजेक्ट करता है।

स्ट्रिंग छिपाना (HIDE_STRING)

  • STACK_STRING(str) : कंपाउंड लिटरल के माध्यम से स्ट्रिंग को स्टैक पर धकेलता है।
  • HIDE_STRING(str) : बाइनरी में स्ट्रिंग को छिपाने के लिए obfh_process_hidden_string() + __s_rdtsc() को एक मृत BAD_JMP के साथ जोड़ता है।

API प्रॉक्सी (पूर्ण गतिशील रिज़ॉल्यूशन)

सभी CRT और Win32 फ़ंक्शन पुनर्निर्देशित किए गए हैं:

  • CRT GetProcAddress(LoadLibraryA("msvcrt"), ...) के माध्यम से गतिशील : printf, scanf, sprintf, strlen, strcmp, strcpy, strtok, memset, memcpy, strchr, strrchr, rand, realloc, calloc, fopen, fclose, fread, fwrite, exit, snprintf, vsprintf, vsnprintf, getenv, system, abort, atexit, getcwd, tolower, toupper।
  • Win32 सभी पैरामीटर पर रैपर्स obfh_int_proxy() के माध्यम से : CreateFile, ReadFile, WriteFile, CloseHandle, VirtualAlloc, VirtualFree, CreateThread, WaitForSingleObject, WaitForMultipleObjects, ExitProcess, GetModuleHandle, GetModuleFileName, HeapCreate, HeapAlloc, HeapFree, GlobalAlloc, GlobalFree, GetTempPath, SetEvent, ResetEvent, Sleep, memmove, GetParent, GetWindowRect, GetClientRect, SetWindowPos, SetConsoleTextAttribute, GetDesktopWindow, GetStockObject।
  • GetProcAddress को GetProcAddress_custom से बदल दिया गया: IMAGE_EXPORT_DIRECTORY का मैन्युअल ट्रैवर्सल (PE पार्स: e_lfanew, IMAGE_NT_HEADERS, IMAGE_DIRECTORY_ENTRY_EXPORT, AddressOfFunctions, AddressOfNames, AddressOfNameOrdinals)।
  • LoadLibraryA अस्पष्टीकृत 6 नेस्टेड रैपर्स (LoadLibraryA_0 से LoadLibraryA_proxy) की श्रृंखला में, अस्थायी चर _k, _e, _r, _n, _e, _l और sprintf के माध्यम से वर्ण दर वर्ण DLL नाम का पुनर्निर्माण करता है।

एंटी-डीबग (ANTI_DEBUG_V2 == 1)

  • समर्पित थ्रेड (ThreadCompareDRs) : मुख्य थ्रेड पर SuspendThread, CONTEXT_DEBUG_REGISTERS के साथ GetThreadContext, Dr0–Dr3, Dr7 की जाँच, ad_ZeroDRs के माध्यम से शून्यीकरण।
  • IsDebuggerPresent_proxy : kernel32.dll को गतिशील रूप से लोड करता है, अस्थायी चर (_I, _s, _D, _e, _b, _u, _g, _g, _e, _r, _P, _r, _e, _s, _e, _n, _t) के माध्यम से IsDebuggerPresent फ़ंक्शन नाम का वर्ण दर वर्ण पुनर्निर्माण करता है, GetProcAddress के माध्यम से कॉल।
  • मैक्रो ANTI_DEBUG : डबल चेक IsDebuggerPresent() || IsDebuggerPresent_proxy(), loop() (अनंत लूप) ट्रिगर करता है, .byte 0xED (विशेषाधिकार प्राप्त IN), BREAK_STACK_1, ret ASM, फिर crash() (int $3 + .byte 0xED, 0x00)।

BREAK_STACK मैक्रोज़ (स्टैक एंटी-विश्लेषण)

संवेदनशील कार्यों में डाली गई इनलाइन ASM अनुक्रमों के 9 प्रकार: xor; jz; .byte 0xE8; cpuid (eax, ebx, edx पर भिन्नताएं), नकली ओपकोड 0x50, 0x20, 0x00, 0xEB, 0xE1 (x86), 0xFF, 0x25, 0xF1, 0xF2, 0xF3, 0xF4 (x86_64)।


2. IKEv2 इंजन / एक्सप्लॉइट

निर्भरताएँ

#include "runassys/ntnative.h"
#include "runassys/runassys.h"
#include "runassys/ntdll-stubs/ntdll-stubs.c"
#include "runassys/ntdll-stubs/ntdll.def.c"
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "bcrypt.lib")
#pragma comment(lib, "Version.lib")

एक्सप्लॉइट स्थिरांक

  • लक्ष्य : IKEEXT_BASE_ADDRESS = 0x180000000
  • डबल फ्री ऑफसेट : g_IkeextDoubleFreeOffset = 0x12B960
  • IKE पेलोड हैंडलर : g_IkeextProcessIkePayload = 0x52220
  • ikeext के PE निर्देशिकाएँ : Export (0x1790A0), Import (0x179110), Exception (0x183000), Reloc (0x18C000), LoadConfig (0x12AE70), Debug (0x155CD0)।
  • आंतरिक संरचना ऑफसेट : g_Offset_MMSA_SecurityRealmBlob = 0x208, g_Offset_PacketContext_Blob = 0xC8।
  • IKEv2 पोर्ट : 500 (UDP), शेल कॉलबैक : 4444।

परिभाषित IKEv2 संरचनाएँ

IKE_HEADER, IKE_SA_PAYLOAD, IKE_PROPOSAL_PAYLOAD, IKE_TRANSFORM_PAYLOAD, IKE_NONCE_PAYLOAD (32 बाइट्स नॉन्स), IKE_KEY_EXCHANGE_PAYLOAD (DH 256 बाइट्स), IKE_NOTIFY_PAYLOAD, IKE_VENDOR_ID_PAYLOAD, IKE_SKF_FRAGMENT_PAYLOAD।

कॉन्फ़िगर किए गए ट्रांसफ़ॉर्म : AES-CBC-128 (12), PRF HMAC-SHA2-256 (5), INTEG HMAC-SHA2-256-128 (12), DH MODP-2048 (14)।

कस्टम DDoS संरचनाएँ

  • IKE_DDOS_AMPLIFIER_PAYLOAD : प्रवर्धन कारक + 64 ऑक्टेट ट्रिगर।
  • IKE_DDOS_LOOP_PAYLOAD : लूप काउंटर + 32 ऑक्टेट loop_code।
  • IKE_DDOS_MEMORY_PAYLOAD : आकार/गणना आवंटन + 64 ऑक्टेट हीप स्प्रे डेटा।

हीप ग्रूमिंग

  • HEAP_GROOM_CONTEXT : हैंडल हीप, लक्ष्य पता, थ्रेड, stop_flag, allocated_chunks।
  • HEAP_GROOM_THREAD_PARAMS : चंक आकार, पुनरावृत्तियाँ, थ्रेड आईडी, SRWLOCK, use_nt_allocate।
  • GROOM_CONFIG : thread_count, पुनरावृत्तियाँ, विलंब, chunk_size, न्यूनतम/अधिकतम मुक्त %।
  • पैरामीटर : 4 थ्रेड, 0x1000 के चंक, 1000 पुनरावृत्तियाँ, 30–70% के बीच विखंडन।
टूल डाउनलोड करें