
Shhhloader एक कार्य प्रगति पर शेलकोड लोडर है। यह रॉ शेलकोड को इनपुट के रूप में लेता है और एक C++ स्टब संकलित करता है जो AV/EDR को बायपास करने के लिए कई अलग-अलग चीजें करता है। शामिल पायथन बिल्डर किसी भी Linux सिस्टम पर काम करेगा जिसमें Mingw-w64 स्थापित हो।
1/25/24 संपादन: Shhhloader अब PoolParty वैरिएंट 7 का समर्थन करता है! एक विकल्प भी जोड़ा गया है जो PoolParty को Module Stomping के साथ जोड़ता है ताकि निष्पादित शेलकोड को अनबैक्ड मेमोरी में रहने से रोका जा सके। डिफेंडर ATP के खिलाफ इस नई इंजेक्शन विधि का प्रदर्शन करने वाला एक वीडियो नीचे देखें:
┳┻|
┻┳|
┳┻|
┻┳|
┳┻| _
┻┳| •.•) - श्श्श्श, AV हमें सुन सकता है!
┳┻|⊂ノ
┻┳|
usage: Shhhloader.py [-h] [-p explorer.exe] [-m QueueUserAPC] [-u] [-w] [-nr] [-ns] [-l] [-v] [-sc GetSyscallStub] [-d] [-dp apphelp.dll] [-s domain]
[-sa testlab.local] [-o a.exe] [-pp explorer.exe] [-ppv] [-np] [-cp] [-td ntdll.dll] [-ef NtClose]
file
ICYGUIDER'S CUSTOM SYSCALL SHELLCODE LOADER
positional arguments:
file File containing raw shellcode
options:
-h, --help show this help message and exit
-p explorer.exe, --process explorer.exe
Process to inject into (Default: explorer.exe)
-m QueueUserAPC, --method QueueUserAPC
Method for shellcode execution (Options: PoolPartyModuleStomping, PoolParty, ThreadlessInject, ModuleStomping, QueueUserAPC,
ProcessHollow, EnumDisplayMonitors, RemoteThreadContext, RemoteThreadSuspended, CurrentThread) (Default: QueueUserAPC)
-u, --unhook Unhook NTDLL in current process
-w, --word-encode Save shellcode in stub as array of English words
-nr, --no-randomize Disable syscall name randomization
-ns, --no-sandbox Disable sandbox checks
-l, --llvm-obfuscator
Use Obfuscator-LLVM to compile stub
-v, --verbose Enable debugging messages upon execution
-sc GetSyscallStub, --syscall GetSyscallStub
Syscall execution method (Options: SysWhispers2, SysWhispers3, GetSyscallStub, None) (Default: GetSyscallStub)
-d, --dll Generate a DLL instead of EXE
-dp apphelp.dll, --dll-proxy apphelp.dll
Create Proxy DLL using supplied legitimate DLL (File must exist in current dir)
-s domain, --sandbox domain
Sandbox evasion technique (Options: sleep, domain, hostname, username, dll) (Default: sleep)
-sa testlab.local, --sandbox-arg testlab.local
Argument for sandbox evasion technique (Ex: WIN10CO-DESKTOP, testlab.local)
-o a.exe, --outfile a.exe
Name of compiled file
PPID Spoofing:
-pp explorer.exe, --ppid explorer.exe
Parent process to use for PPID Spoofing (Default: explorer.exe)
-ppv, --ppid-priv Enable spoofing for privileged parent process (Disabled by default)
-np, --no-ppid-spoof Disable PPID spoofing
ThreadlessInject:
-cp, --create-process
Create process instead of injecting into existing one
-td ntdll.dll, --target-dll ntdll.dll
Target DLL containing export function to overwrite
-ef NtClose, --export-function NtClose
Export function to overwrite
विशेषताएं:
ThreadlessInject विधि द्वारा Havoc बीकन को IE में इंजेक्ट करने का PoC वीडियो नीचे देखें, जो माइक्रोसॉफ्ट डिफेंडर फॉर एंडपॉइंट (MDE) EDR में कोई अलर्ट और न्यूनतम ईवेंट उत्पन्न नहीं करता है (4/3/2023 को रिकॉर्ड किया गया):
Module Stomping इंजेक्शन तकनीक का प्रदर्शन करने वाला नीचे दिया गया वीडियो DLL प्रॉक्सीिंग के माध्यम से निष्पादित (8/9/2022 को रिकॉर्ड किया गया):
Shhhloader को @jakobfriedl द्वारा एक मॉड्यूल के माध्यम से Havoc C2 फ्रेमवर्क में भी एकीकृत किया गया है। मॉड्यूल का प्रदर्शन करने वाला वीडियो नीचे देखें:
ज्ञात समस्याएं/नोट्स:
-p फ्लैग का उपयोग करना होगा जिसे आप जानते हैं या संदेह है कि लक्ष्य सिस्टम पर पहले से चल रहा है।नियोजित अपडेट:
वैकल्पिक: Obfuscator-LLVM फ्लैग का उपयोग करने के लिए, आपके सिस्टम पर wclang के साथ इसे स्थापित होना चाहिए। मुझे यह थोड़ा परेशानी भरा लगा है, लेकिन आप थोड़ी दृढ़ता से इसे कर सकते हैं। यहां वह चरण-दर-चरण दिया गया है जिसका उपयोग मैंने अपने Kali Linux सिस्टम पर OLLVM की llvm-13.x शाखा स्थापित करने के लिए किया:
# Clone and Run CMake
git clone -b llvm-13.x https://github.com/heroims/obfuscator.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_NEW_PASS_MANAGER=OFF ../obfuscator/llvm/