Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SharpWhispers — Porte em C# do SysWhispers2. Ele usa o SharpASM para encontrar as code caves para executar o stub de chamada de sistema. | Kitploit
Ferramentas/GitHubGitHub/secforce/sharpwhispers
Evasão de IDS/IPSShellcodePós-ExploraçãoRed TeamingDesenvolvimento de Payloads
GitHubsecforce/sharpwhispers

SharpWhispers

Porte em C# do SysWhispers2. Ele usa o SharpASM para encontrar as code caves para executar o stub de chamada de sistema.

Ver Repositório
1121720há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SharpWhispers

LOGO

Uma versão em C# do SysWhispers2.

Ele usa SharpASM para encontrar os code caves para executar o stub de chamada de sistema.

Leia a postagem do blog para obter os detalhes técnicos: https://www.secforce.com/blog/sharpasm-sharpwhispers/

Requisitos

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

Uso


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

@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)

As instruções para criar o projeto no Visual Studio estão disponíveis aqui

Um exemplo básico de injeção de processo é fornecido aqui

Predefinições

Atualmente, os arquivos json contêm os dados para gerar 33 chamadas de sistema.

Nota: o preset All contém um subconjunto de todas as chamadas de sistema.

All

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

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

DInvoke

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

Modelos

Delegates.cs

Gerado dinamicamente

Contém os delegates das chamadas de sistema a serem geradas

PEB.cs

Depende do SharpASM

Auxiliar para obter o endereço da PEB usando ASM

SharpASM.cs

Contém o código para chamar ASM dinamicamente em C#. A função public static IntPtr callASM(byte[] stub) pode ser usada para chamar o shellcode passando um byte array.

SharpWhispers.cs

Gerado dinamicamente - O script gera uma semente aleatória para aplicar hash aos nomes das chamadas de sistema

Contém o código para recuperar os números das chamadas de sistema usando a técnica de ElephantSe4l (código portado de SysWhispers2).

Syscalls.cs

Depende do SharpASM

Contém o código para executar as chamadas de sistema dinamicamente usando ASM.

Também contém os wrappers para as chamadas de sistema (ex.: Syscall.NtAllocateVirtualMemory) (Gerado dinamicamente)

Tipos de dados DInvoke

Gerado dinamicamente

Os arquivos de saída do SharpWhispers podem ser usados diretamente em um projeto C#. Os tipos de dados necessários são um subconjunto dos tipos de dados definidos no projeto DInvoke (alguns tipos de dados são, na verdade, emprestados do projeto minimizado do Rastamouse) a fim de reduzir a superfície de detecção. Os tipos de dados são definidos no namespace SharpWhisper.Data para evitar sobreposição com as definições do DInvoke.

Nota: Os tipos de dados são gerados apenas quando necessário (ou seja, se uma chamada de sistema precisar de um tipo de dados) para minimizar a superfície de detecção.

Os seguintes modelos são usados para gerar os tipos de dados necessários:

  • TypedefsNative.cs
  • TypedefsPE.cs
  • TypedefsWin32.cs
Baixar ferramenta