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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/reveng007/darkwidow
विशेषाधिकार वृद्धिशोषणआईडीएस/आईपीएस से बचनापोस्ट-शोषणमालवेयर विश्लेषणबाइनरी विश्लेषणलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubreveng007/darkwidow

DarkWidow

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

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

सभी देखें →

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

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

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

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

विवरण

Indirect Dynamic Syscall, SSN + Syscall address sorting via Modified TartarusGate approach + Remote Process Injection via APC Early Bird + एक बलिदान प्रक्रिया को लक्ष्य प्रक्रिया के रूप में उत्पन्न करता है + (ACG+BlockDll) उत्पन्न प्रक्रिया पर शमन नीति + PPID spoofing + TIB से Api resolving + API हैशिंग

साझा करें

DarkWidow

विंडोज़ को लक्ष्य करने वाला एक अनुकूलन योग्य ड्रॉपर टूल।


सम्माननीय उल्लेख:

  1. BlackHat Asia, 2024 - टूल्स के लिए कॉल
  2. BlackHat USA, 2024 - टूल्स के लिए कॉल
  3. BlackHat SecTor, 2024 - टूल्स के लिए कॉल
  4. BlackHat Europe, 2024 - टूल्स के लिए कॉल
  5. Wild West Hacking Fest 2024 - शस्त्रागार
  • सुमित Da उर्फ @SoumyadeepBas12 का बहुत-बहुत धन्यवाद जिन्होंने मुझे इन सम्मेलनों के लिए आवेदन करने के लिए प्रोत्साहित किया, अन्यथा मैं ऐसा नहीं कर पाता :)
  • फरान उर्फ @Chrollo_l33t का बहुत-बहुत धन्यवाद जिन्होंने इस टूल के प्रेजेंटेशन के लिए स्लाइड्स और PPT बनाने में मेरी मदद की :)

क्षमताएँ:

  1. अप्रत्यक्ष गतिशील Syscall। (MITRE ATT&CK TTP: T1106)
  2. संशोधित TartarusGate दृष्टिकोण के माध्यम से SSN + Syscall पता छँटाई
  3. APC अर्ली बर्ड के माध्यम से रिमोट प्रोसेस इंजेक्शन, EDR द्वारा टेलीमेट्री कैचिंग को काटने के लिए। (MITRE ATT&CK TTP: T1055.004)
  4. लक्ष्य प्रक्रिया के रूप में एक बलिदान प्रक्रिया को जन्म देता है, वातावरण में पहले से खुली प्रक्रियाओं को बाधित नहीं करता।
  5. जन्मी बलिदान प्रक्रिया पर ACG(मनमाना कोड गार्ड)/BlockDll शमन नीति।
  6. PPID स्पूफिंग (MITRE ATT&CK TTP: T1134.004)
  7. TIB से API और DLL का समाधान (सीधे ऑफसेट के माध्यम से (TIB से) -> TEB -> PEB -> Nt API को हल करें) (MITRE ATT&CK TTP: T1106)
  8. शापित Nt API हैशिंग (MITRE ATT&CK ID: S0574)

बोनस: यदि व्यवस्थापक विशेषाधिकार से आशीर्वादित हो तो =>

  1. EventLog सेवा थ्रेड्स को मारकर इवेंट लॉग अक्षम करता है (MITRE ATT&CK TTP: T1562.002)

नुकसान: यदि थ्रेड्स फिर से शुरू हो जाते हैं, तो इवेंट लॉगर के निलंबन के दौरान हुई सभी घटनाएँ फिर से लॉग हो जाती हैं!

इसलिए, उन्हें मारने के बारे में सोचा!

"यह निलंबन से अधिक आक्रामक है, लेकिन निर्णय हमेशा ऑपरेटर पर निर्भर करता है। इसके अलावा, थ्रेड्स को मारना कर्नेल स्तर पर लॉग हो जाता है" - @SEKTOR7net

अप्रत्यक्ष syscall इम्प्लांट में केवल उन थ्रेड्स को मारते समय, एक त्रुटि का सामना करना पड़ रहा था। मैं "eventlog" का SubProcessTag Value प्राप्त करने में असमर्थ था। इसलिए सभी थ्रेड्स को मारने के बारे में सोचा, यानी पूरी प्रक्रिया (जिम्मेदार svchost.exe) को मारना। हाँ एक IOC बनाना!।

=

1. EDR/Ring-3/UserLand हुक बाइपास

2. सिस्कॉल और रिटर्न स्टेटमेंट ntdll.dll की मेमोरी से निष्पादित होते हैं

3. कॉल स्टैक में रिटर्न एड्रेस की जाँच करने पर आधारित EDR डिटेक्शन को बायपास किया जा सकता है।

संकलन:

root@kitploit:~
सीधे VS कंपाइलर के माध्यम से:

image

इसके अलावा /MT कंपाइलर फ्लैग जोड़ें! => बाइनरी में CRT फंक्शंस को स्थिर रूप से लिंक करने के लिए (हाँ, आपने अनुमान लगाया, यह इम्प्लांट को फुलाता है)

image

  1. साथ ही compile.bat के माध्यम से (विकल्प 1 पसंद करें)
root@kitploit:~
./compile.bat

उपयोग:

root@kitploit:~
PS C:> .\x64\Release\indirect.exe
[!] गलत!
[->] सिंटैक्स: .\x64\Release\indirect.exe <PPID को स्पूफ करने के लिए>

कार्य में:

https://github.com/reveng007/DarkWidow/assets/61424547/62a90c5b-84af-4389-8ddc-9f7926debdcf

Sofos XDR एंडपॉइंट पर बिना अलर्ट बनाए सफल निष्पादन:

SofosXDREvade


आगे सुधार:

  1. PPID स्पूफिंग (Emotet विधि)
  2. अधिक गुप्त इवेंट लॉग अक्षम करने का उपयोग मामला!

कोड के अंश और लिंक जिन्होंने मदद की:

  1. TIB:

    • https://en.wikipedia.org/wiki/Win32_Thread_Information_Block
    • https://www.wikiwand.com/en/Win32_Thread_Information_Block
  2. GS और FS रजिस्टर:

    • https://stackoverflow.com/questions/39137043/what-is-the-gs-register-used-for-on-windows
    • https://stackoverflow.com/questions/10810203/what-is-the-fs-gs-register-intended-for#:~:text=The%20registers%20FS%20and%20GS,to%20access%20thread%2Dspecific%20memory.
  3. PEB LDR संरचना:

    • BlackHat - What Malware Authors Don't Want You to Know - Evasive Hollow Process Injection द्वारा @monnappa22

    • उपरोक्त लिंक से प्रक्रिया मेमोरी का एक चित्र:
      alt text

    • labs.cognisys.group से, @D1rkMtr द्वारा एक ब्लॉग:
      alt text

  4. TIB -> TEB -> PEB -> Nt API हल करें और API हैशिंग

    • https://stackoverflow.com/questions/41277888/iterating-over-peb-dllname-shows-only-exe-name

    • https://doxygen.reactos.org/d7/d55/ldrapi_8c_source.html#l01124

    • labs.cognisys.group, द्वारा एक ब्लॉग

root@kitploit:~

#include <stdint.h>
#include <stdio.h>
#include <Windows.h>

DWORD64 djb2(const char* str)
{
	DWORD64 dwHash = 0x7734773477347734;
	int c;

	while (c = *str++)
		dwHash = ((dwHash << 0x5) + dwHash) + c;


	return dwHash;
}

int main(int argc, char** argv)
{
	if (argc < 2)
	{
		printf("[!] गलत!\n");
		printf("[->] सिंटैक्स: .\\%s <NTFuncName>\n\n", argv[0]);
		return 1;
	}

	const char* string = argv[1];

	DWORD64 hashvalue = djb2(string);

	printf("हैश मान: 0x%llX\n", hashvalue);

	return 0;
}

  1. ACG(मनमाना कोड गार्ड)/BlockDll शमन नीति:

    • लिंक:
    • Protecting Your Malware द्वारा @xpn
    • Wraith द्वारा @winterknife
    • spawn और HOLLOW द्वारा @0xBoku alt text
  2. PPID स्पूफिंग डिटेक्शन:

    • PPID Spoofing Detect द्वारा @spotheplanet
    • यदि समय मिला, तो मैं इस भाग में एक डिटेक्शन भाग जोड़ूंगा! -> [शेष................................................!]
  3. Moneta डिटेक्शन और PESieve डिटेक्शन:\

    • Moneta:
      alt text

    • PESieve:
      alt text

  4. Capa स्कैन:
    alt text

  5. इम्प्लांट प्रक्रिया का थ्रेड स्टैक कैसा दिखता है:

इम्प्लांट प्रक्रियावैध Cmd प्रक्रिया
alt textalt text

इससे यह निष्कर्ष निकलता है कि अप्रत्यक्ष syscall POC में ntdll.dll की मेमोरी में रिटर्न निर्देश को निष्पादित करके, रिटर्न पते को सफलतापूर्वक स्पूफ किया जा सकता है, ntdll.dll को कॉल स्टैक के शीर्ष पर रखा जा सकता है और EDR उच्च वैधता की व्याख्या करेगा। - @VirtualAllocEx DirectSyscall Vs Indirect Syscall से
साथ ही, @peterwintrsmith का धन्यवाद!

  1. इंस्ट्रुमेंटेशन कॉलबैक चोरी: इस POC - syscall-detect का उपयोग किया गया winternl_t द्वारा

image

  1. EventLogger कॉन्फ़िग, मेरे द्वारा उपयोग किया गया:

alt text alt text

  1. SeDebugPrivilege सेट करना:
    यहाँ से: alt text यहाँ तक: alt text

  2. इवेंट लॉग थ्रेड्स को मारना:

    • rto-win-evasion द्वारा @SEKTOR7net
    • Phant0m द्वारा @hlldz
    • Goblin द्वारा @winterknife
    • disabling-windows-event-logs-by-suspending-eventlog-service-threads द्वारा @spotheplanet
      यहाँ से:
      alt text
      यहाँ तक:
      alt text
    • यह विधि, अप्रत्यक्ष syscall कार्यान्वयन में त्रुटियाँ उत्पन्न करने पर समाप्त हुई। इसलिए, मैंने जिम्मेदार svchost.exe के भीतर मौजूद उन सभी थ्रेड्स को मारना समाप्त कर दिया (कारण: ऊपर जाएँ).

Sophos XDR इवेंट लॉगिंग परिदृश्य:

  1. केस 1: जब Darkwidow सामान्य विशेषाधिकार के तहत निष्पादित किया गया

image

एक कम गंभीरता वाले लॉग को छोड़कर कोई महत्वपूर्ण अलर्ट नहीं बनाया गया!

  1. केस 2: जब Darkwidow व्यवस्थापक विशेषाधिकार के तहत निष्पादित किया गया

image

एक कम गंभीरता वाला लॉग => APC इंजेक्शन (पहले की तरह)

image

एक और जो SeDebugPrivilege सेट करने के लिए एक मध्यम गंभीरता वाला लॉग हुआ।

image

DarkWidow V2:

इस इवेंट लॉगिंग डिटेक्शन से बचने के लिए, मैंने इसमें सिंथेटिक फ्रेम थ्रेड स्टैक स्पूफिंग की अवधारणा जोड़ी।

सिंथेटिक फ्रेम थ्रेड स्टैक स्पूफिंग लागू करने के बाद स्टैक इस तरह दिखता है।

image

यह NT api थ्रेड स्टैक है

image

यह शेलकोड (वैसे, यह कस्टम नहीं है, यह Havoc शेलकोड है :)) थ्रेड स्टैक है।

शेलकोड विकास के लिए, मैंने हावोक और इस नीचे दिए गए कॉन्फ़िगरेशन का उपयोग किया है:

image

नोट:

नव निर्मित थ्रेड स्टार्ट एड्रेस स्पूफिंग वास्तव में इस प्रोजेक्ट में आवश्यक नहीं थी क्योंकि APC इंजेक्शन तकनीक के भीतर, APC पहले से चल रहे एक वैध थ्रेड के निष्पादन को हाईजैक कर लेता है। @C5pider का धन्यवाद!

डेमो निष्पादन चित्र:

1708744707672

Sophos XDR के विरुद्ध डेमो वीडियो:

डेमो वीडियो Youtube लिंक

अब इवेंट लॉग पर स्थिति?

image

कोई लॉग उत्पन्न नहीं हुआ। मैंने DarkWidow V2 से इवेंट लॉगर किलिंग भाग को भी हटा दिया है, जो इवेंट जनरेशन को भी कम करता है!

मेरा BlackHat Arsenal डेमो वीडियो यहाँ पाया जा सकता है:

डेमो वीडियो Youtube लिंक

मेरा WildWestHackinFest प्रस्तुति स्लाइड और वीडियो लिंक यहाँ पाया जा सकता है:

  1. Google स्लाइड लिंक
  2. https://www.youtube.com/watch?v=xsibDZ6BpyA&t=1295s

इसके लिए भविष्य के अपडेट:

  1. इस संस्करण को C++ Clang कंपाइलर में पोर्ट करना, जो हमें LLVM अस्पष्टीकरण करने में मदद करेगा।
  2. अप्रत्यक्ष syscall और स्टैक स्पूफिंग करने के लिए NtCreateUserProcess() में अपग्रेड करना।
  3. इमेज लोड कर्नेल कॉलबैक को बायपास करने के लिए मैन्युअल लोड लाइब्रेरी क्षमता लागू करना।
  4. मॉड्यूल स्टॉम्पिंग क्षमता लागू करना।
  5. कर्नेल-ट्रिगर किए गए मेमोरी स्कैन से बचने के लिए एन्क्रिप्टेड शेलकोड इंजेक्शन (Caro-Kann)।

स्टैक स्पूफिंग तकनीक का पता लगाना (जैसा कि मेरी एक कार्यशाला/वार्ता में उल्लेख किया गया है):

image

मेरी मदद करने के लिए बड़ा धन्यवाद (प्रत्यक्ष/अप्रत्यक्ष रूप से (पन इरादा नहीं :))):

  1. @SEKTOR7net
  2. @peterwintrsmith
  3. @Jean_Maes_1994
  4. @D1rkMtr
  5. @spotheplanet
  6. @0xBoku
  7. @Sh0ckFR
  8. @winterknife
  9. @monnappa22
  10. @xpn
  11. @hlldz
  12. @d_tranman
  13. @SoumyadeepBas12
  14. @jack_halon
  15. @KlezVirus
  16. @C5pider

मुझे उम्मीद है कि मैं किसी को नहीं भूला!

यह प्रोजेक्ट EDR दुनिया के बारे में सीखने की मेरी यात्रा का एक हिस्सा है! => Learning-EDR-and-EDR_Evasion

टूल डाउनलोड करें
@D1rkMtr
  • उपरोक्त लिंक से स्निपेट का एक चित्र, जिसका उपयोग मैंने ऑफसेट को हार्डकोड किए बिना API को गतिशील रूप से हल करने के लिए किया:
    alt text

  • मेरे द्वारा लागू किया गया API हैशिंग कोड: