Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SysWhispers — تجاوز برامج مكافحة الفيروسات/كشف الاستجابة الطرفية عبر استدعاءات النظام المباشرة. | Kitploit
أدوات/GitHubGitHub/jthuraisamy/syswhispers
الاستغلالالتهرب من IDS/IPSشيل كوداختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubjthuraisamy/syswhispers

SysWhispers

تجاوز برامج مكافحة الفيروسات/كشف الاستجابة الطرفية عبر استدعاءات النظام المباشرة.

عرض المستودع
2.0k2778منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

SysWhispers

يساعد SysWhispers في التهرب من خلال إنشاء ملفات رأس/ASM يمكن للـ implants استخدامها لإجراء استدعاءات نظام مباشرة.

جميع استدعاءات النظام الأساسية مدعومة من Windows XP إلى Windows 10 19042 (20H2). ملفات أمثلة مولدة متاحة في مجلد example-output/.

مقدمة

تضع العديد من منتجات الأمان خطافات في واجهات برمجة التطبيقات في وضع المستخدم والتي تسمح لها بتوجيه تدفق التنفيذ إلى محركاتها واكتشاف السلوك المشبوه. تتكون الدوال في ntdll.dll التي تقوم باستدعاءات النظام من بضع تعليمات تجميع فقط، لذا فإن إعادة تنفيذها في الـ implant الخاص بك يمكن أن يتجاوز تفعيل خطافات منتجات الأمان هذه. تم تعميم هذه التقنية بواسطة @Cn33liz ومنشور مدونته blog post يحتوي على مزيد من التفاصيل التقنية تستحق القراءة.

يوفر SysWhispers لأعضاء الفريق الأحمر القدرة على إنشاء أزواج ملفات رأس/ASM لأي استدعاء نظام في صورة النواة الأساسية (ntoskrnl.exe) عبر أي إصدار ويندوز بدءًا من XP. ستتضمن ملفات الرأس أيضًا تعريفات الأنواع الضرورية.

الفرق الرئيسي في التنفيذ بين هذا و Dumpert POC هو أن هذا لا يستدعي RtlGetVersion للاستعلام عن إصدار نظام التشغيل، بل يقوم بذلك في التجميع عن طريق الاستعلام مباشرة من PEB. الفائدة هي القدرة على استدعاء دالة واحدة تدعم إصدارات ويندوز متعددة بدلاً من استدعاء دوال متعددة كل منها يدعم إصدارًا واحدًا.

التثبيت

root@kitploit:~
> git clone https://github.com/jthuraisamy/SysWhispers.git
> cd SysWhispers
> pip3 install -r .\requirements.txt
> py .\syswhispers.py --help

الاستخدام والأمثلة

أسطر الأوامر

root@kitploit:~
# Export all functions with compatibility for all supported Windows versions (see example-output/).
py .\syswhispers.py --preset all -o syscalls_all

# Export just the common functions with compatibility for Windows 7, 8, and 10.
py .\syswhispers.py --preset common -o syscalls_common

# Export NtProtectVirtualMemory and NtWriteVirtualMemory with compatibility for all versions.
py .\syswhispers.py --functions NtProtectVirtualMemory,NtWriteVirtualMemory -o syscalls_mem

# Export all functions with compatibility for Windows 7, 8, and 10.
py .\syswhispers.py --versions 7,8,10 -o syscalls_78X

مخرجات البرنامج النصي

root@kitploit:~
PS C:\Projects\SysWhispers> py .\syswhispers.py --preset common --out-file syscom

  ,         ,       ,_ /_   .  ,   ,_    _   ,_   ,
_/_)__(_/__/_)__/_/_/ / (__/__/_)__/_)__(/__/ (__/_)__
      _/_                         /
     (/                          /   @Jackson_T, 2019

SysWhispers: Why call the kernel when you can whisper?

Common functions selected.

Complete! Files written to:
        syscom.asm
        syscom.h

مثال قبل وبعد لحقن DLL الكلاسيكي باستخدام CreateRemoteThread

root@kitploit:~
py .\syswhispers.py -f NtAllocateVirtualMemory,NtWriteVirtualMemory,NtCreateThreadEx -o syscalls
root@kitploit:~
#include <Windows.h>

void InjectDll(const HANDLE hProcess, const char* dllPath)
{
    LPVOID lpBaseAddress = VirtualAllocEx(hProcess, NULL, strlen(dllPath), MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    LPVOID lpStartAddress = GetProcAddress(GetModuleHandle(L"kernel32.dll"), "LoadLibraryA");
	
    WriteProcessMemory(hProcess, lpBaseAddress, dllPath, strlen(dllPath), nullptr);
    CreateRemoteThread(hProcess, nullptr, 0, (LPTHREAD_START_ROUTINE)lpStartAddress, lpBaseAddress, 0, nullptr);
}
root@kitploit:~
#include <Windows.h>
#include "syscalls.h" // Import the generated header.

void InjectDll(const HANDLE hProcess, const char* dllPath)
{
    HANDLE hThread = NULL;
    LPVOID lpAllocationStart = nullptr;
    SIZE_T szAllocationSize = strlen(dllPath);
    LPVOID lpStartAddress = GetProcAddress(GetModuleHandle(L"kernel32.dll"), "LoadLibraryA");
	
    NtAllocateVirtualMemory(hProcess, &lpAllocationStart, 0, (PULONG)&szAllocationSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    NtWriteVirtualMemory(hProcess, lpAllocationStart, (PVOID)dllPath, strlen(dllPath), nullptr);
    NtCreateThreadEx(&hThread, GENERIC_EXECUTE, NULL, hProcess, lpStartAddress, lpAllocationStart, FALSE, 0, 0, 0, nullptr);
}

الدوال الشائعة

استخدام المفتاح --preset common سينشئ زوج ملفات رأس/ASM مع الدوال التالية:

انقر لتوسيع قائمة الدوال.
  • NtCreateProcess (CreateProcess)
  • NtCreateThreadEx (CreateRemoteThread)
  • NtOpenProcess (OpenProcess)
  • NtOpenThread (OpenThread)
  • NtSuspendProcess
  • NtSuspendThread (SuspendThread)
  • NtResumeProcess
  • NtResumeThread (ResumeThread)
  • NtGetContextThread (GetThreadContext)
  • NtSetContextThread (SetThreadContext)
  • NtClose (CloseHandle)
  • NtReadVirtualMemory (ReadProcessMemory)
  • NtWriteVirtualMemory (WriteProcessMemory)
  • NtAllocateVirtualMemory (VirtualAllocEx)
  • NtProtectVirtualMemory (VirtualProtectEx)
  • NtFreeVirtualMemory (VirtualFreeEx)
  • NtQuerySystemInformation (GetSystemInfo)
  • NtQueryDirectoryFile
  • NtQueryInformationFile
  • NtQueryInformationProcess
  • NtQueryInformationThread
  • NtCreateSection (CreateFileMapping)
  • NtOpenSection
  • NtMapViewOfSection
  • NtUnmapViewOfSection
  • NtAdjustPrivilegesToken (AdjustTokenPrivileges)
  • NtDeviceIoControlFile (DeviceIoControl)
  • NtQueueApcThread (QueueUserAPC)
  • NtWaitForMultipleObjects (WaitForMultipleObjectsEx)

الاستيراد إلى Visual Studio

  1. انسخ ملفات H/ASM المولدة إلى مجلد المشروع.
  2. في Visual Studio، اذهب إلى Project → Build Customizations... وقم بتمكين MASM.
  3. في Solution Explorer، أضف ملفات .h و .asm إلى المشروع كملفات رأس ومصدر على التوالي.
  4. اذهب إلى خصائص ملف ASM، واضبط Item Type على Microsoft Macro Assembler.
  5. تأكد من أن منصة المشروع مضبوطة على x64. مشاريع 32-bit غير مدعومة في الوقت الحالي.

تحذيرات وقيود

  • فقط ويندوز 64-bit مدعوم في الوقت الحالي.
  • استدعاءات النظام من النظام الفرعي الرسومي (win32k.sys) غير مدعومة.
  • تم اختباره على Visual Studio 2019 (v142) مع Windows 10 SDK.

استكشاف الأخطاء وإصلاحها

  • ModuleNotFoundError في البرنامج النصي بايثون.
    • تأكد من تثبيت الوحدات المطلوبة باستخدام pip3 install -r requirements.txt.
  • أخطاء إعادة تعريف الأنواع: قد لا يتم ترجمة المشروع إذا كانت تعريفات typedef في syscalls.h قد تم تعريفها بالفعل.
    • تأكد من تضمين الدوال المطلوبة فقط (أي --preset all نادرًا ما يكون ضروريًا).
    • إذا كان typedef قد تم تعريفه بالفعل في ملف رأس آخر مستخدم، فيمكن إزالته من syscalls.h.

الاعتمادات

تم تطوير هذا البرنامج النصي بواسطة @Jackson_T ولكنه يبني على عمل العديد من الآخرين:

  • @j00ru للحفاظ على أرقام استدعاءات النظام بصيغ قابلة للقراءة آليًا.
  • @FoxHex0ne لفهرسة العديد من نماذج الدوال والتعريفات بصيغة قابلة للقراءة آليًا.
  • @PetrBenes، وفريق NTInternals.net، و MSDN لنماذج وتعريفات إضافية.
  • @Cn33liz لتنفيذ Dumpert POC الأولي.

شكر خاص لـ @Dcept905 على الاختبار والاقتراحات.

مقالات ومشاريع ذات صلة

  • @0x00dtm: مراقبة واجهة برمجة تطبيقات وضع المستخدم واكتشاف حقن الكود
  • @0x00dtm: هزيمة خطافات وضع المستخدم (مثال: Bitdefender) (الكود)
  • @Cn33liz: دمج استدعاءات النظام المباشرة و sRDI لتجاوز AV/EDR (الكود)
  • @mrgretzky: هزيمة الحماية الفورية لمكافحة الفيروسات من الداخل
  • @SpecialHoang: تجاوز حماية الذاكرة لـ EDR، مقدمة عن الخطافات (الكود)
  • @xpn و @domchell: إسكات Cylance: دراسة حالة في أنظمة EDR الحديثة
  • @mrjefftang: إزالة الخطافات العالمية: تعمية برامج الأمان (الكود)
  • @spotheplanet: إزالة خطافات DLL بالكامل باستخدام C++
  • @hasherezade: Floki Bot و المحمل الخفي
  • @hodg87: أحدث متغير Trickbot له حيل جديدة في جعبته
  • @hodg87: التخفيف من البرامج الضارة عند استخدام استدعاءات النظام المباشرة

الترخيص

هذا المشروع مرخص بموجب رخصة Apache 2.0.

تنزيل الأداة