Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SharpWhispers — Portage en C# de SysWhispers2. Il utilise SharpASM pour trouver les code caves afin d'exécuter le stub d'appel système. | Kitploit
Outils/GitHubGitHub/secforce/sharpwhispers
Évasion IDS/IPSShellcodePost-ExploitationRed TeamingDéveloppement de Charges Utiles
GitHubsecforce/sharpwhispers

SharpWhispers

Portage en C# de SysWhispers2. Il utilise SharpASM pour trouver les code caves afin d'exécuter le stub d'appel système.

Voir le dépôt
11217il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SharpWhispers

LOGO

Portage en C# de SysWhispers2.

Il utilise SharpASM pour trouver les code caves permettant d'exécuter le stub d'appel système.

Lisez l'article de blog pour les détails techniques : https://www.secforce.com/blog/sharpasm-sharpwhispers/

Requirements

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

Usage

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)

Les instructions pour créer le projet Visual Studio sont fournies ici

Un exemple d'injection de processus de base est fourni ici

Préréglages

Pour le moment, les fichiers json contiennent les données pour générer 33 appels système.

Remarque : le préréglage All contient un sous-ensemble de l'ensemble des appels système.

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

Modèles

Delegates.cs

Généré dynamiquement

Contient les délégués des appels système à générer.

PEB.cs

Dépend de SharpASM

Fonction utilitaire pour obtenir l'adresse du PEB en utilisant l'ASM.

SharpASM.cs

Contient le code pour appeler dynamiquement l'ASM en C#. La fonction public static IntPtr callASM(byte[] stub) peut être utilisée pour appeler le shellcode en passant un tableau d'octets.

SharpWhispers.cs

Généré dynamiquement - Le script génère une graine aléatoire pour hacher les noms des appels système

Contient le code pour récupérer les numéros d'appels système en utilisant la technique d'ElephantSe4l (code porté depuis SysWhispers2).

Syscalls.cs

Dépend de SharpASM

Contient le code pour exécuter les appels système dynamiquement en utilisant l'ASM.

Contient également les wrappers pour les appels système (par exemple Syscall.NtAllocateVirtualMemory) (Généré dynamiquement)

Types de données DInvoke

Généré dynamiquement

Les fichiers de sortie de SharpWhispers peuvent être utilisés directement dans un projet C#. Les types de données nécessaires sont un sous-ensemble des types de données définis dans le projet DInvoke (certains types de données sont en réalité empruntés au projet minimisé de Rastamouse) afin de réduire la surface de détection. Les types de données sont définis dans l'espace de noms SharpWhisper.Data pour éviter tout chevauchement avec les définitions de DInvoke.

Remarque : Les types de données ne sont générés que si nécessaire (c'est-à-dire si un appel système a besoin d'un type de données) afin de minimiser la surface de détection.

Les modèles suivants sont utilisés pour générer les types de données nécessaires :

  • TypedefsNative.cs
  • TypedefsPE.cs
  • TypedefsWin32.cs
Télécharger l’outil