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, and all options)
تعداد الوحدات باستخدام ToolHelp32
تعداد هياكل LDR للعملية باستخدام LdrEnumerateLoadedModules
تعداد هياكل LDR للعملية مباشرة
جولة في الذاكرة باستخدام GetModuleInformation
جولة في الذاكرة للبحث عن الوحدات المخفية
مكافحة التفريغ
مسح رأس PE من الذاكرة
SizeOfImage
هجمات التوقيت [مكافحة الصندوق الرملي]
RDTSC (مع CPUID لإجبار خروج VM)
RDTSC (نسخة Locky مع GetProcessHeap & CloseHandle)
Sleep -> SleepEx -> NtDelayExecution
Sleep (في حلقة مع تأخير صغير)
Sleep والتحقق مما إذا كان الوقت قد تم تسريعه (GetTickCount)