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 é um script de agressor que utiliza uma coleção de Beacon Object Files (BOF) para Cobalt Strike, a fim de realizar injeção de processos, persistência e muito mais, aproveitando syscalls diretos (SysWhispers2) para contornar EDR/AV. | Kitploit
Ferramentas/GitHubGitHub/nvisosecurity/cobaltwhispers
Mecanismos de PersistênciaEvasão de IDS/IPSPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de PayloadsAtaque Adversário
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 →

CobaltWhispers

CobaltWhispers é um script de agressor que utiliza uma coleção de Beacon Object Files (BOF) para Cobalt Strike, a fim de realizar injeção de processos, persistência e muito mais, aproveitando syscalls diretos (SysWhispers2) para contornar EDR/AV.

Ver Repositório
240355há 3 anosRevisado pelo Kitploit
Compartilhar

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