Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SharpWhispers — Adaptación de SysWhispers2 a C#. Utiliza SharpASM para localizar los code caves con los que ejecutar el stub de la llamada al sistema. | Kitploit
Herramientas/GitHubGitHub/secforce/sharpwhispers
Evasión de IDS/IPSShellcodePost-ExplotaciónRed TeamingDesarrollo de Payloads
GitHubsecforce/sharpwhispers

SharpWhispers

Adaptación de SysWhispers2 a C#. Utiliza SharpASM para localizar los code caves con los que ejecutar el stub de la llamada al sistema.

Ver Repositorio
11217hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SharpWhispers

LOGO

Versión en C# de SysWhispers2.

Utiliza SharpASM para encontrar los code caves para ejecutar el stub de llamada al sistema.

Lee la entrada del blog para los detalles técnicos: https://www.secforce.com/blog/sharpasm-sharpwhispers/

Requisitos

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

Uso

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)

Las instrucciones para crear el proyecto de Visual Studio se proporcionan aquí

Se proporciona un ejemplo básico de inyección de proceso aquí

Preajustes

Actualmente, los archivos json contienen los datos para generar 33 llamadas al sistema.

Nota: el preajuste All contiene un subconjunto de todas las llamadas al sistema.

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

Plantillas

Delegates.cs

Generado dinámicamente

Contiene los delegados de las llamadas al sistema a generar.

PEB.cs

Depende de SharpASM

Auxiliar para obtener la dirección de PEB usando ASM.

SharpASM.cs

Contiene el código para llamar dinámicamente a ASM en C#. La función public static IntPtr callASM(byte[] stub) se puede usar para llamar al shellcode pasando un array de bytes.

SharpWhispers.cs

Generado dinámicamente: el script genera una semilla aleatoria para aplicar hash a los nombres de las llamadas al sistema

Contiene el código para recuperar los números de las llamadas al sistema utilizando la técnica de ElephantSe4l (código portado de SysWhispers2).

Syscalls.cs

Depende de SharpASM

Contiene el código para ejecutar las llamadas al sistema dinámicamente usando ASM.

Contiene también los wrappers para las llamadas al sistema (p. ej. Syscall.NtAllocateVirtualMemory) (Generado dinámicamente)

Tipos de datos de DInvoke

Generado dinámicamente

Los archivos de salida de SharpWhispers pueden usarse directamente en un proyecto de C#. Los tipos de datos necesarios son un subconjunto de los tipos de datos definidos en el proyecto DInvoke (algunos tipos de datos están tomados del proyecto minimizado de Rastamouse) para reducir la superficie de detección. Los tipos de datos están definidos en el espacio de nombres SharpWhisper.Data para evitar superposiciones con las definiciones de DInvoke.

Nota: los tipos de datos se generan solo si son necesarios (es decir, si una llamada al sistema necesita un tipo de datos) para minimizar la superficie de detección.

Las siguientes plantillas se utilizan para generar los tipos de datos necesarios:

  • TypedefsNative.cs
  • TypedefsPE.cs
  • TypedefsWin32.cs
Descargar herramienta