Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
CobaltWhispers — CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV | Kitploit
Ferramentas/GitHubGitHub/nvisosecurity/cobaltwhispers
Persistence MechanismsIDS/IPS EvasionPost-ExploitationCommand and ControlRed TeamingPayload DevelopmentAdversarial Attack
GitHubnvisosecurity/cobaltwhispers

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

CobaltWhispers

CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV

Ver Repositório
24035há 3 anosRevisado pelo Kitploit

CobaltWhispers

Autor: @Cerbersec

O CobaltWhispers é um aggressor script que utiliza uma coleção de Beacon Object Files para Cobalt Strike para realizar injeção de processo, persistência e muito mais, aproveitando syscalls diretos para contornar EDR/AV.

O CobaltWhispers é alimentado por SysWhispers2 e InlineWhispers2
O CobaltWhispers é baseado no StayKit e no trabalho de Hasherezade e Forrest Orr.

O CobaltWhispers foi criado como parte de um estágio na Red Team da NVISO Security. Os posts de blog associados podem ser encontrados aqui (process-injection) e aqui (kernel karnage).

Compilando a partir do código-fonte

O CobaltWhispers requer várias ferramentas para compilar:

  • MingW-w64 - apt install mingw-w64
  • Make - apt install make
  • Python3
  • SysWhispers2
  • InlineWhispers2

Cada projeto requer 3 arquivos gerados por SysWhispers2 / InlineWhispers2 para funcionar:

  • syscalls-asm.h
  • syscalls.c
  • syscalls.h

Esses arquivos podem ser gerados de acordo com a documentação do InlineWhispers2, porém este não é o método ideal porque muito código não utilizado será incluído:

root@kitploit:~
git clone https://github.com/Sh0ckFR/InlineWhispers2 && cd InlineWhispers2
cd SysWhispers2/ && python3 syswhispers.py --preset all -o syscalls_all && cd ..
python3 InlineWhispers2.py

Em vez disso, use o SysWhispers2 para gerar os arquivos de saída apenas para as APIs necessárias e, em seguida, forneça-os manualmente (ou por script) ao InlineWhispers2, que os converterá para o formato adequado. Consulte o makefile incluído para obter informações adicionais ou use os arquivos incluídos por sua conta e risco.

Injeção

SpawnProcess

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
--5NãoHerda permissões do processo pai

Descrição

Cria um novo processo suspenso com o Code Integrity Guard (CIG) habilitado para bloquear binários assinados que não sejam da Microsoft. Falsifica o processo pai especificado. O PID é retornado.

Parâmetros

Processo pai: O nome do processo a ser definido como pai
Local do executável: Caminho completo para o executável em disco usado para criar o novo processo


CreateRemoteThread

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
Shellcode/RawPID5Não-

Descrição

Injeta um payload em um processo remoto usando NtCreateThreadEx

Parâmetros

PID do processo: O ID do processo remoto
Local do payload: Local do payload em forma binária no disco (Condicional | Opcional)
Payload b64: Shellcode bruto em formato de string codificada em base64 (Condicional | Opcional)
Listener: Listener para o qual gerar o payload (Condicional)

Um listener deve ser especificado para gerar um payload Beacon. Se um payload manual for desejado, ele deve ser fornecido por meio de um caminho para o binário bruto em disco ou shellcode codificado em Base64.


QueueUserAPC

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
Shellcode/RawPID2NãoPode potencialmente causar crash no processo alvo

Descrição

Injeta um payload em um processo remoto usando NtQueueApcThread

Parâmetros

PID do processo: O ID do processo remoto
Threads: Número de threads para adicionar uma chamada APC
Local do payload: Local do payload em forma binária no disco (Condicional | Opcional)
Payload b64: Shellcode bruto em formato de string codificada em base64 (Condicional | Opcional)
Listener: Listener para o qual gerar o payload (Condicional)

Um listener deve ser especificado para gerar um payload Beacon. Se um payload manual for desejado, ele deve ser fornecido por meio de um caminho para o binário bruto em disco ou shellcode codificado em Base64.


MapViewOfSection

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
Shellcode/RawProcesso substituto5Não-

Descrição

Injeta um payload em um processo substituto usando NtMapViewOfSection

Parâmetros

Processo pai: O nome do processo a ser definido como pai
Local do executável: O local do executável em disco a ser usado para criar um novo processo
Local do payload: Local do payload em forma binária no disco (Condicional | Opcional)
Payload b64: Shellcode bruto em formato de string codificada em base64 (Condicional | Opcional)
Listener: Listener para o qual gerar o payload (Condicional)

Um listener deve ser especificado para gerar um payload Beacon. Se um payload manual for desejado, ele deve ser fornecido por meio de um caminho para o binário bruto em disco ou shellcode codificado em Base64.


TransactedHollowing

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
PEProcesso substituto5NãoRequer payload PE x64

Descrição

Injeta um payload em um processo substituto usando seções transacionadas e exibições mapeadas. O ponto de entrada remoto e o PEB são atualizados, sem seções de memória anômalas ou permissões de memória anormais. Consulte aqui para obter mais informações.

Parâmetros

Processo pai: O nome do processo a ser definido como pai
Local do executável: O local do executável em disco a ser usado para criar um novo processo
Local do payload: Local do payload PE x64 em disco (Condicional | Opcional)
Payload b64: Payload PE x64 em formato de string codificada em base64 (Condicional | Opcional)
Listener: Listener para o qual gerar o payload (Condicional)

Um listener deve ser especificado para gerar um payload Beacon. Se um payload manual for desejado, ele deve ser fornecido por meio de um caminho para o PE x64 em disco ou PE x64 codificado em Base64.


PhantomDLLHollowing

ATUALMENTE NÃO IMPLEMENTADO

Tipo de PayloadAlvoConfiabilidade (0-5)ElevadoObservações
Position Independent Shellcode (PIC)Processo substituto5SimPermissões elevadas são necessárias para abrir DLLs do sistema com permissões de gravação

Descrição

Injeta um payload em um processo substituto usando seções transacionadas em combinação com DLL hollowing. Consulte aqui para obter mais informações.

Parâmetros

Processo pai: O nome do processo a ser definido como pai
Local do executável: O local do executável em disco a ser usado para criar um novo processo
Local do payload: Local do payload em forma binária no disco (Condicional | Opcional)
Payload b64: Shellcode bruto em formato de string codificada em base64 (Condicional | Opcional)
Listener: Listener para o qual gerar o payload (Condicional)

Um listener deve ser especificado para gerar um payload Beacon. Se um payload manual for desejado, ele deve ser fornecido por meio de um caminho para o binário bruto em disco ou shellcode codificado em Base64.


Persistência

ElevatedRegKey

Descrição

Cria ou modifica uma chave de registro no local especificado.

  • HKLM:Software\Microsoft\Windows\CurrentVersion\Run
  • HKLM:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parâmetros

Nome da chave: Nome do valor
Comando: Comando a ser executado quando o registro for usado
Chave de registro: Local onde a chave de registro será criada
Oculto: Antepõe um byte nulo ao nome da chave; gera erros no regedit
Limpeza: Remove a chave criada

A limpeza requer o nome da chave e a chave de registro (local).


ElevatedUserInitRegKey

Descrição

Cria ou modifica uma chave de registro no local especificado.

  • HKLM:Software\Microsoft\Windows NT\CurrentVersion\Winlogon [UserInit]

Parâmetros

Nome da chave: Nome do valor
Comando: Comando a ser executado quando o registro for usado
Chave de registro: Local onde a chave de registro será criada
Oculto: Antepõe um byte nulo ao nome da chave; gera erros no regedit
Limpeza: Remove a chave criada

A limpeza requer o nome da chave e a chave de registro (local).
UserInit: Define automaticamente 'Nome da chave' e 'Chave de registro'.


UserRegKey

Descrição

Cria ou modifica uma chave de registro no local especificado.

  • HKCU:Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parâmetros

Nome da chave: Nome do valor
Comando: Comando a ser executado quando o registro for usado
Chave de registro: Local onde a chave de registro será criada
Oculto: Antepõe um byte nulo ao nome da chave; gera erros no regedit
Limpeza: Remove a chave criada

A limpeza requer o nome da chave e a chave de registro (local).


UserInitMprRegKey

Descrição

Cria ou modifica uma chave de registro no local especificado.

  • HKCU:Environment [UserInitMprLogonScript]

Parâmetros

Nome da chave: Nome do valor
Comando: Comando a ser executado quando o registro for usado
Chave de registro: Local onde a chave de registro será criada
Oculto: Antepõe um byte nulo ao nome da chave; gera erros no regedit
Limpeza: Remove a chave criada

A limpeza requer o nome da chave e a chave de registro (local).
UserInitMprLogonScript: Define automaticamente 'Nome da chave'e 'Chave de registro'.


Sequestro de COM de Tarefa Agendada

Descrição

Sequestra o manipulador COM de uma tarefa agendada. Cria uma chave de registro em HKCU:\Software\Classes\CLSID\\InprocServer32 que aponta para uma DLL.

Parâmetros

ID da classe: O CLSID que corresponde ao CLSID do manipulador COM da tarefa
Caminho da DLL: Caminho para a DLL que será carregada
Limpeza: Remove a chave criada


Drivers

DisableDSE

Confiabilidade (0-5)ElevadoObservações
4SimPode potencialmente causar BSOD no sistema alvo

Descrição

Carrega um driver assinado vulnerável com leitura/gravação arbitrária de memória do kernel (NalDrv/iqvm64.sys). Altera o sinalizador g_CiEnabled do ntoskrnl.exe ou g_CiOptions da CI.dll para desabilitar o Driver Signature Enforcement (DSE).
Carrega um driver não assinado (Interceptor/Interceptor.sys) e, em seguida, restaura os valores do sinalizador DSE. Tanto o driver assinado quanto o driver não assinado são gravados em disco.

DriverChecksum MD5
iqvm64.sys1898ceda3247213c084f43637ef163b3
Interceptor.sys508c8943359717cfa0c77b61ebea2118

Parâmetros

Local do driver vulnerável: Local do driver assinado vulnerável em forma binária no disco
Local do driver malicioso: Local do driver não assinado malicioso em forma binária no disco
Nome do driver vulnerável: nome usado para criar a chave de registro '\Registry\Machine\System\CurrentControlSet\Services\'
Nome do dispositivo do driver vulnerável: nome usado para contatar o driver '\DosDevices\'
Nome do driver malicioso: nome usado para criar a chave de registro '\Registry\Machine\System\CurrentControlSet\Services\'
Nome do dispositivo do driver malicioso: nome usado para contatar o driver '\DosDevices\'
Caminho de destino: caminho temporário para gravar os arquivos dos drivers vulnerável e malicioso


UnloadDriver

Confiabilidade (0-5)ElevadoObservações
5Sim-

Descrição

Descarrega um driver no alvo usando a chave de registro fornecida e exclui o binário do disco no caminho especificado.

Parâmetros

Chave de registro do driver: chave de registro usada para descarregar o driver '\Registry\Machine\System\CurrentControlSet\Services\'
Caminho de instalação do driver: local do driver em disco


Intercept

Confiabilidade (0-5)ElevadoObservações
4NãoPode potencialmente causar BSOD no sistema alvo

Descrição

Informações: Consultar o driver Interceptor
Hook: Hookar as funções principais do driver alvo (IRP)
Unhook: Restaurar as funções principais do driver alvo
Patch: Aplicar patch nos callbacks do kernel alvo
Restore: Restaurar os callbacks do kernel alvo

Parâmetros: Informações

Fornecedores: exibir fornecedores suportados
Módulos: consultar todos os drivers carregados
Módulos com hook: exibir todos os drivers com hook
Callbacks: consultar todos os callbacks registrados

Parâmetros: Hook

Índice: hookar um driver por índice (veja: informações - módulos)
Nome: hookar um driver por nome do dispositivo (\Device\Name)
Valores: lista de índices separados por vírgula (condicional)
Nome: nome do dispositivo do driver alvo (condicional)

Valores é obrigatório quando 'Índice' é selecionado. Nome é obrigatório quando 'Nome' é selecionado.

Parâmetros: Unhook

Índice: remover hook de um driver por índice (veja: informações - módulos com hook)
Todos: remover hooks de todos os drivers com hook
Valores: lista de índices separados por vírgula (condicional)

Valores é obrigatório quando 'Índice' é selecionado.

Parâmetros: Patch

Fornecedor: aplicar patch em todos os callbacks associados ao(s) módulo(s) do fornecedor
Módulo: aplicar patch em todos os callbacks associados ao(s) módulo(s)
Processo: aplicar patch em callbacks de processo
Thread: aplicar patch em callbacks de thread
Imagem: aplicar patch em callbacks de imagem
Registro: aplicar patch em callbacks de registro
Objeto processo: aplicar patch em callbacks de objeto de processo
Objeto thread: aplicar patch em callbacks de objeto de thread
Valores: lista de índices separados por vírgula (veja: informações - callbacks) (condicional)
Nome: lista de nomes de módulos separados por vírgula ou nome de um único fornecedor (veja: informações - fornecedores) (condicional)

Valores é obrigatório quando 'processo', 'thread', 'imagem', 'registro', 'objeto processo' ou 'objeto thread' é selecionado. Nome é obrigatório quando 'fornecedor' ou 'módulo' é selecionado.

Parâmetros: Restore

Fornecedor: restaurar todos os callbacks associados ao(s) módulo(s) do fornecedor
Módulo: restaurar todos os callbacks associados ao(s) módulo(s)
Processo: restaurar callbacks de processo
Thread: restaurar callbacks de thread
Imagem: restaurar callbacks de imagem
Registro: restaurar callbacks de registro
Objeto processo: restaurar callbacks de objeto de processo
Objeto thread: restaurar callbacks de objeto de thread
Todos: restaurar todos os callbacks
Valores: lista de índices separados por vírgula (veja: informações - callbacks) (condicional)
Nome: lista de nomes de módulos separados por vírgula ou nome de um único fornecedor (veja: informações - fornecedores) (condicional)

Valores é obrigatório quando 'processo', 'thread', 'imagem', 'registro', 'objeto processo' ou 'objeto thread' é selecionado. Nome é obrigatório quando 'fornecedor' ou 'módulo' é selecionado.


Baixar ferramenta