al-khaser एक PoC "मैलवेयर" एप्लिकेशन है जिसके अच्छे इरादे हैं और इसका उद्देश्य आपके एंटी-मैलवेयर सिस्टम का तनाव परीक्षण करना है।
यह आम मैलवेयर चालों का एक समूह करता है ताकि यह देखा जा सके कि आप रडार के नीचे रहते हैं या नहीं।
उपयोग
root@kitploit:~
$ ./al-khaser.exe -h
Usage: al-khaser.exe [OPTIONS]
Options:
--check <type> Enable specific check(s). Can be used multiple times. Valid types are:
TLS (Thread Local Storage callback checks)
DEBUG (Anti-debugging checks)
INJECTION (Code injection checks)
GEN_SANDBOX (Generic sandbox checks)
VBOX (VirtualBox detection)
VMWARE (VMware detection)
VPC (Virtual PC detection)
QEMU (QEMU detection)
KVM (KVM detection)
XEN (Xen detection)
WINE (Wine detection)
PARALLELS (Parallels detection)
HYPERV (Hyper-V detection)
CODE_INJECTIONS (Additional code injection techniques)
TIMING_ATTACKS (Timing/sleep-based sandbox evasion)
DUMPING_CHECK (Dumping memory/process checks)
ANALYSIS_TOOLS (Analysis tools detection)
ANTI_DISASSM (Anti-disassembly checks)
--sleep <seconds> Set sleep/delay duration in seconds (default: 600).
--delay <seconds> Alias for --sleep.
-h, --help Show this help message and exit.
Examples:
al-khaser.exe --check DEBUG --check TIMING_ATTACKS --sleep 30
al-khaser.exe --check VMWARE --check QEMU
al-khaser.exe --sleep 30
डाउनलोड
आप इस प्रोजेक्ट के रिलीज़ पेज से बिल्ट बाइनरीज़ (x86, x64) डाउनलोड कर सकते हैं। 7z का पासवर्ड यहाँ पाया जा सकता है।
संभावित उपयोग
आप एक एंटी-डीबग प्लगइन बना रहे हैं और आप इसकी प्रभावशीलता की जाँच करना चाहते हैं।
आप यह सुनिश्चित करना चाहते हैं कि आपका सैंडबॉक्स समाधान पर्याप्त रूप से छिपा हुआ है।
या आप यह सुनिश्चित करना चाहते हैं कि आपका मैलवेयर विश्लेषण वातावरण अच्छी तरह से छिपा हुआ है।
कृपया, यदि आप कोई भी एंटी-विश्लेषण चाल देखते हैं जो आपने मैलवेयर में देखी है, तो योगदान करने में संकोच न करें।
विशेषताएँ
एंटी-डिबगिंग हमले
IsDebuggerPresent
CheckRemoteDebuggerPresent
Process Environment Block (BeingDebugged)
Process Environment Block (NtGlobalFlag)
ProcessHeap (Flags)
ProcessHeap (ForceFlags)
Low Fragmentation Heap (LFH)
NtQueryInformationProcess (ProcessDebugPort)
NtQueryInformationProcess (ProcessDebugFlags)
NtQueryInformationProcess (ProcessDebugObject)
WudfIsAnyDebuggerPresent
WudfIsKernelDebuggerPresent
WudfIsUserDebuggerPresent
NtSetInformationThread (HideThreadFromDebugger)
NtQueryObject (ObjectTypeInformation)
NtQueryObject (ObjectAllTypesInformation)
CloseHanlde (NtClose) Invalide Handle
SetHandleInformation (Protected Handle)
UnhandledExceptionFilter
OutputDebugString (GetLastError())
Hardware Breakpoints (SEH / GetThreadContext)
Software Breakpoints (INT3 / 0xCC)
Memory Breakpoints (PAGE_GUARD)
Interrupt 0x2d
Interrupt 1
Trap Flag
Parent Process (Explorer.exe)
SeDebugPrivilege (Csrss.exe)
NtYieldExecution / SwitchToThread
TLS callbacks
Process jobs
Memory write watching
Page exception breakpoint detection
API hook detection (module bounds based)
एंटी-इंजेक्शन
EnumProcessModulesEx (32-bit, 64-bit, और सभी विकल्पों) के साथ मॉड्यूल की गणना करें
ToolHelp32 के साथ मॉड्यूल की गणना करें
LdrEnumerateLoadedModules के साथ प्रक्रिया LDR संरचनाओं की गणना करें
प्रक्रिया LDR संरचनाओं की सीधे गणना करें
GetModuleInformation के साथ मेमोरी वॉक करें
छिपे हुए मॉड्यूल के लिए मेमोरी वॉक करें
एंटी-डंपिंग
मेमोरी से PE हेडर मिटाएं
SizeOfImage
टाइमिंग हमले [एंटी-सैंडबॉक्स]
RDTSC (VM Exit को मजबूर करने के लिए CPUID के साथ)
RDTSC (GetProcessHeap और CloseHandle के साथ Locky संस्करण)
Sleep -> SleepEx -> NtDelayExecution
Sleep (एक लूप में छोटी देरी)
Sleep और जाँच करें कि क्या समय तेज किया गया (GetTickCount)