Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SysWhispers3 — SysWhispers on Steroids - التهرب من AV/EDR عبر استدعاءات النظام المباشرة. | Kitploit
أدوات/GitHubGitHub/klezvirus/syswhispers3
أدوات دفاعيةتوليد الحمولةالاستغلالالتهرب من IDS/IPSشيل كودالفريق الأحمرتوليد شيفرة القشرةتطوير الحمولاتالأفضل في التهرب من IDS/IPS #19الأفضل في تطوير الحمولات #7
1.6k20782منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الأفضل في توليد الحمولة #9
الأفضل في شيل كود #7
الأفضل في توليد شيفرة القشرة #9
GitHubklezvirus/syswhispers3

SysWhispers3

SysWhispers on Steroids - التهرب من AV/EDR عبر استدعاءات النظام المباشرة.

عرض المستودع

SysWhispers3

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

قناة Discord الرسمية

تعالوا لنلتقي على Discord!

Inceptor Server

لماذا لم أقم بإنشاء PR إلى SysWhispers2؟

الأسباب التي جعلت SysWhispers3 إصدارًا مستقلاً كثيرة، لكن أهمها هي:

  • SysWhispers3 هو الـ "fork" الفعلي المستخدم من قبل [Inceptor][1]، ويطبق بعض فئات الأدوات المساعدة غير ذات الصلة بالإصدار الأصلي من الأداة.
  • SysWhispers2 يتجه نحو دعم تجميع NASM (لـ gcc/mingw)، بينما هذا الإصدار مصمم ومختبر خصيصًا لدعم MSVC (لأن [Inceptor][1] سيبقى إطار عمل خاص بنظام Windows في المستقبل القريب).
  • يحتوي SysWhispers3 على ميزات منفذة جزئيًا (مثل egg-hunting) والتي لن يكون من المنطقي تضمينها في الإصدار الأصلي من الأداة.

الاختلافات عن SysWhispers2

الاستخدام مشابه جدًا لـ SysWhispers2، مع الاستثناءات التالية:

  • كما أنه يدعم x86/WoW64
  • يدعم استبدال تعليمات syscalls بـ EGG (لاستبدالها ديناميكيًا)
  • يدعم القفزات المباشرة إلى syscalls في وضع x86/x64 (في WOW64 هو تقريبًا معياري)
  • يدعم القفزات المباشرة إلى syscalls عشوائية (باستعارة فكرة @ElephantSeal)

شرح أفضل لهذه الميزات موضح بشكل أفضل في منشور المدونة [SysWhispers is dead, long live SysWhispers!][2]

مقدمة

عادةً ما تضع منتجات الأمان، مثل برامج مكافحة الفيروسات (AVs) وأنظمة الكشف والاستجابة للنقاط الطرفية (EDRs)، خطافات (hooks) في دوال API في وضع المستخدم لتحليل تدفق تنفيذ البرنامج، وذلك لاكتشاف الأنشطة التي يحتمل أن تكون ضارة.

SysWhispers2 هي أداة مصممة لإنشاء أزواج رأس/ASM لأي استدعاء نظام في صورة النواة الأساسية (ntoskrnl.exe)، والتي يمكن بعد ذلك دمجها واستدعاؤها مباشرة من كود C/C++، متجنبةً خطافات وضع المستخدم.

ومع ذلك، فإن الأداة تولد بعض الأنماط التي يمكن تضمينها في التواقيع، أو سلوك يمكن اكتشافه في وقت التشغيل.

SysWhispers3 مبني على SysWhispers2، ويدمج بعض الميزات المفيدة لتجاوز هذه الأشكال من الكشف.

التثبيت

C:\> git clone https://github.com/klezVirus/SysWhispers3.git
C:\> cd SysWhispers3
C:\> python .\syswhispers.py --help

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

يعرض المساعدة جميع الأوامر والميزات المتاحة للأداة:

C:\>python syswhispers.py -h

usage: syswhispers.py [-h] [-p PRESET] [-a {x86,x64}] [-m {embedded,egg_hunter,jumper,jumper_randomized}] [-f FUNCTIONS] -o OUT_FILE [--int2eh] [--wow64] [-v] [-d]

SysWhispers3 - SysWhispers on steroids

optional arguments:
  -h, --help            show this help message and exit
  -p PRESET, --preset PRESET
                        Preset ("all", "common")
  -a {x86,x64}, --arch {x86,x64}
                        Architecture
  -c {msvc,mingw,all}, --compiler {msvc,mingw,all}
                        Compiler
  -m {embedded,egg_hunter,jumper,jumper_randomized}, --method {embedded,egg_hunter,jumper,jumper_randomized}
                        Syscall recovery method
  -f FUNCTIONS, --functions FUNCTIONS
                        Comma-separated functions
  -o OUT_FILE, --out-file OUT_FILE
                        Output basename (w/o extension)
  --int2eh              Use the old `int 2eh` instruction in place of `syscall`
  --wow64               Use Wow64 to run x86 on x64 (only usable with x86 architecture)
  -v, --verbose         Enable debug output
  -d, --debug           Enable syscall debug (insert software breakpoint)

أسطر الأوامر

SysWhispers القياسي، استدعاءات النظام المضمنة (x64)

# 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 (see below for list).
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

نماذج SysWhispers3 فقط

# Normal SysWhispers, 32-bits mode
py .\syswhispers.py --preset all -o syscalls_all -m jumper --arch x86

# Normal SysWhispers, using WOW64 in 32-bits mode (only specific functions)
py .\syswhispers.py --functions NtProtectVirtualMemory,NtWriteVirtualMemory -o syscalls_mem --arch x86 --wow64

# Egg-Hunting SysWhispers, to bypass the "mark of the sycall" (common function)
py .\syswhispers.py --preset common -o syscalls_common -m egg_hunter

# Jumping/Jumping Randomized SysWhispers, to bypass dynamic RIP validation (all functions) using MinGW as the compiler
py .\syswhispers.py --preset all -o syscalls_all -m jumper -c mingw


مخرجات السكربت

PS C:\Projects\SysWhispers2> py .\syswhispers.py --preset common --out-file temp\syscalls_common -v 
                                                       
                  .                         ,--.
,-. . . ,-. . , , |-. o ,-. ,-. ,-. ,-. ,-.  __/
`-. | | `-. |/|/  | | | `-. | | |-' |   `-. .  \
`-' `-| `-' ' '   ' ' ' `-' |-' `-' '   `-'  '''
     /|                     |  @Jackson_T
    `-'                     '  @modexpblog, 2021

                      Edits by @klezVirus,  2022
SysWhispers3: Why call the kernel when you can whisper?


Common functions selected.

Complete! Files written to:
        temp\syscalls_common.h
        temp\syscalls_common.c
        temp\syscalls_common_.asm
Press a key to continue...

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

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

التجميع خارج Visual Studio

Windows

ملف Makefile للـ 64 بت:

Makefile.msvc

OPTIONS = -Zp8 -c -nologo -Gy -Os -O1 -GR- -EHa -Oi -GS-
LIBS = libvcruntime.lib libcmt.lib ucrt.lib kernel32.lib

program:
  ML64 /c syscalls-asm.x64.asm /link /NODEFAULTLIB /RELEASE /MACHINE:X64
  cl.exe $(OPTIONS) syscalls.c  program.c
  link.exe /OUT:program.x64.exe -nologo $(LIBS) /MACHINE:X64 -subsystem:console -nodefaultlib syscalls-asm.x64.obj syscalls.obj program.obj

ملف Makefile للـ 32 بت:

Makefile.msvc

OPTIONS = -Zp8 -c -nologo -Gy -Os -O1 -GR- -EHa -Oi -GS-
LIBS = libvcruntime.lib libcmt.lib ucrt.lib kernel32.lib

program:
  ML /c syscalls-asm.x86.asm /link /NODEFAULTLIB /RELEASE /MACHINE:X86
  cl.exe $(OPTIONS) syscalls.c  program.c
  link.exe /OUT:program.x86.exe -nologo $(LIBS) /MACHINE:X86 -subsystem:console -nodefaultlib syscalls-asm.x86.obj syscalls.obj program.obj

قم بالتجميع باستخدام nmake:

nmake -f Makefile.msvc

Linux

ملف Makefile لكل من 64 و 32 بت:

Makefile.mingw

CC_x64 := x86_64-w64-mingw32-gcc
CC_x86 := i686-w64-mingw32-gcc
OPTIONS := -masm=intel -Wall

program:
  $(CC_x64) syscalls.c program.c -o program.x64.exe $(OPTIONS)
  $(CC_x86) syscalls.c program.c -o program.x86.exe $(OPTIONS)

قم بالتجميع باستخدام make:

make -f Makefile.mingw

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

  • وظيفة Egg-Hunter غير مطبقة ضمن هذه الأداة، بل هي في [Inceptor][1].
  • استدعاءات النظام من النظام الفرعي الرسومي (win32k.sys) غير مدعومة.
  • تم اختباره على Visual Studio 2019/2022 مع Windows 10 SDK.
  • الدعم لـ NASM غير مضمون.
  • الدعم لـ GCC و MinGW غير مضمون.

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

من SysWhispers2

  • أخطاء إعادة تعريف الأنواع: قد لا يتم تجميع المشروع إذا كانت typedefs في syscalls.h قد تم تعريفها بالفعل.
    • تأكد من تضمين الوظائف المطلوبة فقط (أي --preset all نادرًا ما يكون ضروريًا).
    • إذا كان typedef معرّفًا بالفعل في ملف رأس آخر مستخدم، فيمكن إزالته من syscalls.h.

جديد

تنزيل الأداة