Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SharpWhispers — Porting in C# di SysWhispers2. Utilizza SharpASM per trovare i code cave in cui eseguire lo stub delle system call. | Kitploit
Strumenti/GitHubGitHub/secforce/sharpwhispers
Evasione IDS/IPSShellcodePost-ExploitRed TeamingSviluppo Payload
GitHubsecforce/sharpwhispers

SharpWhispers

Porting in C# di SysWhispers2. Utilizza SharpASM per trovare i code cave in cui eseguire lo stub delle system call.

Vedi Repository
1121763 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SharpWhispers

LOGO

Porting in C# di SysWhispers2.

Utilizza SharpASM per trovare le code cave per eseguire lo stub delle system call.

Leggi il post del blog per i dettagli tecnici: https://www.secforce.com/blog/sharpasm-sharpwhispers/

Requisiti

  • Visual Studio
  • .NET Framework >= 3.5
  • Python3

Utilizzo

root@kitploit:~

   ______               _      ____   _                    
  / __/ /  ___ ________| | /| / / /  (_)__ ___  ___ _______
 _\ \/ _ \/ _ `/ __/ _ \ |/ |/ / _ \/ (_-</ _ \/ -_) __(_-<
/___/_//_/\_,_/_/ / .__/__/|__/_//_/_/___/ .__/\__/_/ /___/
                 /_/                    /_/                

@d_glenx
@SECFORCE_LTD

=============================================================


usage: SharpWhispers.py [-h] [-p PRESET] [-f FUNCTIONS] -o OUT_FILE

optional arguments:
  -h, --help            show this help message and exit
  -p PRESET, --preset PRESET
                        Preset ("all", "common", "dinvoke")
  -f FUNCTIONS, --functions FUNCTIONS
                        Comma-separated functions
  -o OUT_FILE, --out-file OUT_FILE
                        Output basename (w/o extension)

Le istruzioni per creare il progetto Visual Studio sono fornite qui

Un esempio di base di injection di processo è fornito qui

Preset

Al momento i file JSON contengono i dati per generare 33 system call.

Nota: il preset All contiene un sottoinsieme di tutte le system call.

All

root@kitploit:~
==== System Calls Imported ====

==[DInvoke]==
[i] Number of Delegates: 13

NtCreateThreadEx
NtCreateSection
NtUnmapViewOfSection
NtMapViewOfSection
NtQueryInformationProcess
NtOpenProcess
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtQueryVirtualMemory
NtProtectVirtualMemory
NtWriteVirtualMemory
NtReadVirtualMemory
NtOpenFile

==[Additional]==
[i] Number of Delegates: 20

NtOpenThread
NtQueueApcThread
NtOpenSection
NtSuspendThread
NtQueryInformationFile
NtSetContextThread
NtResumeProcess
NtOpenProcessToken
NtWaitForMultipleObjects
NtQueryDirectoryFile
NtAdjustPrivilegesToken
NtQuerySystemInformation
NtDeviceIoControlFile
NtResumeThread
NtCreateProcess
NtSuspendProcess
NtGetContextThread
NtClose
NtQueryInformationThread
NtTestAlert

Common

root@kitploit:~
NtCreateThreadEx
NtCreateSection
NtUnmapViewOfSection
NtMapViewOfSection
NtQueryInformationProcess
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtProtectVirtualMemory
NtWriteVirtualMemory
NtOpenFile
NtReadVirtualMemory
NtQueryVirtualMemory
NtOpenProcess

DInvoke

root@kitploit:~
NtCreateThreadEx
NtCreateSection
NtUnmapViewOfSection
NtMapViewOfSection
NtQueryInformationProcess
NtOpenProcess
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtQueryVirtualMemory
NtProtectVirtualMemory
NtWriteVirtualMemory
NtReadVirtualMemory
NtOpenFile

Modelli

Delegates.cs

Generato dinamicamente

Contiene i delegati delle system call da generare

PEB.cs

Dipende da SharpASM

Helper per ottenere l'indirizzo del PEB usando ASM

SharpASM.cs

Contiene il codice per chiamare dinamicamente ASM in C#. La funzione public static IntPtr callASM(byte[] stub) può essere utilizzata per chiamare lo shellcode passando un array di byte.

SharpWhispers.cs

Generato dinamicamente - Lo script genera un seed casuale per calcolare l'hash dei nomi delle system call

Contiene il codice per recuperare i numeri delle system call utilizzando la tecnica di ElephantSe4l (codice portato da SysWhispers2).

Syscalls.cs

Dipende da SharpASM

Contiene il codice per eseguire le system call dinamicamente tramite ASM.

Contiene anche i wrapper per le system call (ad es. Syscall.NtAllocateVirtualMemory) (Generati dinamicamente)

Tipi di dati di DInvoke

Generati dinamicamente

I file di output di SharpWhispers possono essere utilizzati direttamente in un progetto C#. I tipi di dati necessari sono un sottoinsieme dei tipi di dati definiti nel progetto DInvoke (alcuni tipi di dati sono in realtà presi in prestito dal progetto minimizzato di Rastamouse) in modo da ridurre la superficie di rilevamento. I tipi di dati sono definiti nel namespace SharpWhisper.Data per evitare sovrapposizioni con le definizioni di DInvoke.

Nota: I tipi di dati vengono generati solo se necessario (cioè se una system call richiede un tipo di dati) per minimizzare la superficie di rilevamento.

I seguenti modelli vengono utilizzati per generare i tipi di dati necessari:

  • TypedefsNative.cs
  • TypedefsPE.cs
  • TypedefsWin32.cs
Scarica lo strumento