Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SysWhispers3 — SysWhispers on Steroids - AV/EDR-Umgehung durch direkte Systemaufrufe. | Kitploit
Tools/GitHubGitHub/klezvirus/syswhispers3
DefensivwerkzeugePayload-GenerierungExploitationIDS/IPS-UmgehungShellcodeRed TeamingShellcode-GenerierungPayload-EntwicklungTop in IDS/IPS-Umgehung Nr.19Top in Payload-Entwicklung Nr.7
1.6k20782vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Top in Payload-Generierung Nr.9
Top in Shellcode Nr.7
Top in Shellcode-Generierung Nr.9
GitHubklezvirus/syswhispers3

SysWhispers3

SysWhispers on Steroids - AV/EDR-Umgehung durch direkte Systemaufrufe.

Repository anzeigen
Teilen

SysWhispers3

SysWhispers hilft bei der Umgehung, indem es Header/ASM-Dateien generiert, die Implants verwenden können, um direkte Systemaufrufe zu tätigen.

Offizieller Discord-Kanal

Komm auf Discord vorbei!

Inceptor Server

Warum um Himmels Willen habe ich keinen PR zu SysWhispers2 erstellt?

Die Gründe, warum SysWhispers3 eine eigenständige Version ist, sind vielfältig, aber die wichtigsten sind:

  • SysWhispers3 ist der De-facto-„Fork", der von [Inceptor][1] verwendet wird, und implementiert einige Hilfsklassen, die für die Originalversion des Tools nicht relevant sind.
  • SysWhispers2 entwickelt sich in Richtung NASM-Kompilierung (für gcc/mingw), während diese Version speziell für die Unterstützung von MSVC entwickelt und getestet wurde (weil [Inceptor][1] auf absehbare Zeit ein Windows-only-Framework bleiben wird).
  • SysWhispers3 enthält teilweise implementierte Funktionen (wie Egg-Hunting), die in der Originalversion des Tools nicht sinnvoll wären.

Unterschiede zu SysWhispers2

Die Verwendung ist ziemlich ähnlich zu SysWhispers2, mit den folgenden Ausnahmen:

  • Es unterstützt auch x86/WoW64
  • Es unterstützt den Ersatz von Syscall-Anweisungen durch ein EGG (das dynamisch ersetzt werden kann)
  • Es unterstützt direkte Sprünge zu Syscalls im x86/x64-Modus (im WOW64-Modus ist es fast Standard)
  • Es unterstützt direkte Sprünge zu zufälligen Syscalls (Idee von @ElephantSeal übernommen)

Eine bessere Erklärung dieser Funktionen ist im Blogbeitrag [SysWhispers is dead, long live SysWhispers!][2] dargelegt.

Einleitung

Sicherheitsprodukte wie AVs und EDRs platzieren normalerweise Hooks in User-Mode-API-Funktionen, um den Programmablauf zu analysieren und potenziell bösartige Aktivitäten zu erkennen.

SysWhispers2 ist ein Tool, das Header/ASM-Paare für jeden Systemaufruf im Kernkernel-Image (ntoskrnl.exe) generiert, die dann direkt aus C/C++-Code integriert und aufgerufen werden können, wodurch User-Land-Hooks umgangen werden.

Das Tool erzeugt jedoch einige Muster, die in Signaturen enthalten sein können, oder ein Verhalten, das zur Laufzeit erkannt werden kann.

SysWhispers3 baut auf SysWhispers2 auf und integriert einige hilfreiche Funktionen, um diese Erkennungsformen zu umgehen.

Installation

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

Nutzung und Beispiele

Die Hilfe zeigt alle verfügbaren Befehle und Funktionen des Tools:

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)

Befehlszeilen

Standard SysWhispers, eingebettete Systemaufrufe (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

Nur SysWhispers3-Beispiele

# 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


Skriptausgabe

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...

Importieren in Visual Studio

  1. Kopieren Sie die generierten H/C/ASM-Dateien in den Projektordner.
  2. Gehen Sie in Visual Studio zu Projekt → Buildanpassungen... und aktivieren Sie MASM.
  3. Fügen Sie im Projektmappen-Explorer die .h- und .c/.asm-Dateien als Header- bzw. Quelldateien zum Projekt hinzu.
  4. Gehen Sie zu den Eigenschaften der ASM-Datei und setzen Sie den Elementtyp auf Microsoft Macro Assembler.

Kompilieren außerhalb von Visual Studio

Windows

Makefile für 64 Bit:

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 für 32 Bit:

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

Kompilieren mit nmake:

nmake -f Makefile.msvc

Linux

Makefile für sowohl 64 als auch 32 Bit:

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)

Kompilieren mit make:

make -f Makefile.mingw

Einschränkungen und bekannte Probleme

Tool herunterladen