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
RedPeanut — RedPeanut é um pequeno RAT desenvolvido em .Net Core 2 e seu agente em .Net 3.5 / 4.0. | Kitploit
Ferramentas/GitHubGitHub/b4rtik/redpeanut
Frameworks de Testes de PenetraçãoEscalada de PrivilégiosFrameworks de ExploraçãoGeração de PayloadsMecanismos de PersistênciaShellcodePós-ExploraçãoComando e ControleRed TeamingFerramenta de Acesso Remoto
GitHubb4rtik/redpeanut
33078há 6 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

RedPeanut

RedPeanut é um pequeno RAT desenvolvido em .Net Core 2 e seu agente em .Net 3.5 / 4.0.

Ver Repositório

RedPeanut

root@kitploit:~
__________________________________________________________________________
ooooooo________________oo_ooooooo___________________________________oo____
oo____oo___ooooo___oooooo_oo____oo__ooooo___ooooo__oo_ooo__oo____o__oo____
oo____oo__oo____o_oo___oo_oo____oo_oo____o_oo___oo_ooo___o_oo____o_oooo___
ooooooo___ooooooo_oo___oo_oooooo___ooooooo_oo___oo_oo____o_oo____o__oo____
oo____oo__oo______oo___oo_oo_______oo______oo___oo_oo____o_ooo___o__oo__o_
oo_____oo__ooooo___oooooo_oo________ooooo___oooo_o_oo____o_oo_ooo____ooo__
__________________________________________________________________________
________________________________________________RedPeanut_v0.3.0___@b4rtik
__________________________________________________________________________

Atualmente em teste.

Problemas conhecidos dos módulos:

process -> spawnasagent

process -> spawnasshellcode


RedPeanut é um pequeno RAT desenvolvido em .Net Core 2 e seu agente em .Net 3.5 / 4.0. A execução de código do RedPeanut é baseada em shellcode gerado com DonutCS. É, portanto, um híbrido, embora desenvolvido em .Net, não depende exclusivamente do Assembly.Load. Isso aumenta a superfície de detecção, mas nos permite praticar e experimentar várias técnicas de evasão relacionadas ao ambiente dotnet, gerenciamento de processos e injeção. Esse comportamento pode ser alterado em tempo de execução com os comandos "managed" e "unmanaged". Se você está interessado em um Framework C2 .Net que seja consistente e possa ser usado em um engajamento, sugiro Covenant.

RedPeanut é equipado com:

  • GhostPack
  • SharpGPOAbuse
  • SharpCOM
  • EvilClippy
  • DotNetToJS
  • SharpWeb
  • Modified version of PsExec
  • SharpSploit
  • TikiTorch

Agente RedPeanut

O agente RedPeanut pode ser compilado em .Net 3.5 e 4.0 e possui capacidades de pivoting via NamedPipe. O agente, quando executado em modo não gerenciado (unmanaged), realiza suas próprias tarefas críticas em um processo separado para evitar que a resposta do AV à detecção ou erro durante a execução faça você perder o agente inteiro.

O fluxo de execução é o seguinte:

  1. Criação de processo
  2. Injetar shellcode estático gerado com DonutCS
  3. O loader carrega e executa o stager ou módulo

Atualmente, o agente suporta apenas o canal https.

Canal C2

O protocolo de check-in do agente é muito simples:

  1. O stager requer um ID de agente, a mensagem é criptografada com RC4 usando a serverkey compartilhada
  2. O servidor descriptografa a mensagem, compila e envia o agente, gera e envia KEY e IV para futuras comunicações com criptografia AES, a mensagem é criptografada com RC4
  3. O stager descriptografa a mensagem e carrega o agente via Assembly.Load
  4. O agente envia uma mensagem de check-in para o servidor, a mensagem é criptografada com AES

Alternativamente, o recurso de canal coberto pode ser ativado (no momento é apenas uma PoC). A ideia é imitar o tráfego web realizado por um usuário real. Geralmente, uma página web é composta pela página html e todos os objetos necessários para sua exibição, como css, imagens, etc. Na solicitação de uma nova tarefa, a resposta do servidor não será diretamente a tarefa criptografada, mas uma página html da qual extrair o link para a imagem que terá a tarefa criptografada embutida. A requisição http para a imagem conterá o cabeçalho Referer.

Entrega de conteúdo

A entrega de conteúdo é organizada em 4 canais:

  1. Canal C2 personalizável via perfil
  2. Conteúdo dinâmico gerado/gerenciado pelo RedPeanut personalizável via perfil
  3. Conteúdo estático mapeado para /file/
  4. Canal coberto para recuperação da imagem contendo o payload mapeado para /images/

Perfis

RedPeanut tem capacidade de personalização da pegada de rede tanto no lado do servidor quanto no lado do cliente. As propriedades que podem ser definidas são:

  • Geral

    • Atraso (entre requisições)
    • ContentUri (url do conteúdo dinâmico, ex. dll hta etc.)
    • UserAgent
    • Spawn (o processo a ser criado para realizar tarefas críticas)
    • HtmlCovered (Habilitar canal coberto)
    • TargetClass (Classe para procurar recuperação de imagem)
  • Http Get

    • ApiPath (lista separada por vírgulas de urls, ex. /news-list.jsp,/antani.php etc.)
      • Server
        • Prepend
        • Append
        • Headers (par nome e valor para cabeçalhos http)
      • Client
        • Headers    
  • Http Post

    • ApiPath (lista separada por vírgulas de urls, ex. /news-list.jsp,/antani.php etc.)
    • Param (o nome do parâmetro do payload da requisição post)
    • Mask (formato para interpretar o par chave-valor, ex. {0}={1}) (precisa de mais trabalho...)
    • Server
      • Prepend
      • Append
      • Headers (par nome e valor para cabeçalhos http)
    • Client
      • Headers
  • Domain Fronting

Para habilitar o suporte a domain fronting, é necessário valorizar o cabeçalho "Host" na seção client, tanto post quanto get (exemplificado no perfil padrão 2)

PowerShellExecuter

O módulo PowerShellExecuter permite executar comandos oneliner ou arquivos em um runspace com bypass de AMSI, bypass de Logging e PowerView já carregados.

Launchers

  • Exe
  • Dll
  • PowerShell
  • Hta (vbs,powershell)
  • InstallUtil
  • MSBuild
  • MacroVba

Módulos locais

  • EvilClippy

Tarefas do Agente

  • Upload
  • DownLoad
  • SharpWeb
  • SharpWmi
  • SharpUp
  • UACBypass Token Duplication
  • SharpDPAPIVaults
  • SharpDPAPITriage
  • SharpDPAPIRdg
  • SharpDPAPIMasterKeys
  • SharpDPAPIMachineVaults
  • SharpDPAPIMachineTriage
  • SharpDPAPIMachineMasterKeys
  • SharpDPAPIMachineCredentials
  • SharpDPAPIBackupKey
  • Seatbelt
  • SafetyKatz
  • RubeusTriage
  • RubeusTgtDeleg
  • RubeusS4U
  • RubeusRenew
  • RubeusPurge
  • RubeusPtt
  • RubeusMonitor
  • RubeusKlist
  • RubeusKerberoast
  • RubeusHash
  • RubeusHarvest
  • RubeusDump
  • RubeusDescribe
  • RubeusCreateNetOnly
  • RubeusChangePw
  • RubeusASREPRoast
  • RubeusAskTgt
  • SharpCOM
  • SharpGPOAddUserRights
  • SharpGPOAddStartupScript
  • SharpGPOAddLocalAdmin
  • SharpGPOAddImmediateTask
  • PowerShellExecuter
  • LatteralMSBuild
  • SharpPsExec
  • SharpAdidnsdump
  • PPIDAgent
  • SpawnAsAgent
  • SpawnShellcode
  • SpawnAsShellcode
  • SharpMiniDump
  • SharpKatz

Persistência

  • Autorun
  • Startup
  • WMI
  • CRL

BlockDlls

A partir da versão 0.3.0, o RedPeanutAgent suporta o comando blockdlls. Com esta opção habilitada, os processos filhos que são criados para realizar tarefas no modo não gerenciado são criados com o atributo PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON. Este atributo impede que o processo carregue dlls que não são assinadas pela Microsoft, isso pode proteger nossas tarefas contra técnicas de hooking de AV e EDR.

Chamada Direta ao Sistema (Syscall) e Carregamento Dinâmico de DLL

O RedPeanutAgent usa carregamento dinâmico de DLL para evitar o uso de imports de DLL suspeitos. Os créditos pelo Dynamic Dll Loading vão para @TheRealWover, @cobbr_io e @FuzzySec pelo seu trabalho em SharpSploit.

Alguns fornecedores de AV e EDR usam a técnica de hooking para rastrear atividades. Para evitar o uso de syscall com hook, o RedPeanutAgent usa syscall direto, injetando automaticamente o código necessário. Os créditos pelo Direct Syscall vão para @Cneelis

Executando

Para executar o RedPeanut, você precisa ter o dotnet instalado. Para instalar o dotnet no Kali:

root@kitploit:~
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/9/prod.list
mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
chown root:root /etc/apt/sources.list.d/microsoft-prod.list

apt-get install apt-transport-https
apt-get update
apt-get install dotnet-sdk-2.1
root@kitploit:~
git clone --recursive https://github.com/b4rtik/RedPeanut.git

Para a funcionalidade de canal coberto, é necessário instalar a biblioteca libgdiplus, portanto:

Para usuários Linux:

root@kitploit:~
apt-get install -y libgdiplus

Para macOS

root@kitploit:~
brew install mono-libgdiplus

Geração de chave de assinatura de assembly

root@kitploit:~
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>sn.exe -k 4096 key.snk

Em seguida, copie key.snk para Workspace/KeyFile

root@kitploit:~
root@kali:~# cd RedPanut
root@kali:~/RedPeanut# dotnet run
Using launch settings from /root/Projects/RedPeanut/Properties/launchSettings.json...
Enter password to encrypt serverkey: 

__________________________________________________________________________
ooooooo________________oo_ooooooo___________________________________oo____
oo____oo___ooooo___oooooo_oo____oo__ooooo___ooooo__oo_ooo__oo____o__oo____
oo____oo__oo____o_oo___oo_oo____oo_oo____o_oo___oo_ooo___o_oo____o_oooo___
ooooooo___ooooooo_oo___oo_oooooo___ooooooo_oo___oo_oo____o_oo____o__oo____
oo____oo__oo______oo___oo_oo_______oo______oo___oo_oo____o_ooo___o__oo__o_
oo_____oo__ooooo___oooooo_oo________ooooo___oooo_o_oo____o_oo_ooo____ooo__
__________________________________________________________________________
________________________________________________RedPeanut_v0.3.0___@b4rtik
__________________________________________________________________________

[*] No profile available, creating new one...
[RP] >

Gerador de shellcode

DonutCS é uma ferramenta de geração de shellcode que cria payloads de shellcode independentes de posição a partir de assemblies .NET. Este shellcode pode ser usado para injetar o Assembly em processos Windows arbitrários. Dado um assembly .NET arbitrário, parâmetros e um ponto de entrada (como Program.Main), ele produz shellcode independente de posição que o carrega a partir da memória. O assembly .NET pode ser staged a partir de uma URL ou sem stage, sendo incorporado diretamente no shellcode.

Persistência CLR

A técnica de persistência CLR foi apresentada pela primeira vez neste post por @Am0nsec. A técnica consiste em realizar o hooking do gerenciador de domínio de aplicação. Conforme descrito no post, o assembly para realizar o hooking é necessário e está disponível no GAC. Um assembly para ser usado a partir do GAC deve ter nome forte (strong-named) e ser assinado com uma chave. O módulo de persistência CLR precisa de uma chave para poder assinar os assemblies, que pode ser gerada com a ferramenta sn.exe da seguinte forma:

root@kitploit:~
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>sn.exe -k 4096 key.snk

Copie o arquivo key.snk para a pasta Workspace/KeyFile. Este arquivo será usado para assinar o assembly para persistência.

Atualização de ferramentas

Algumas das ferramentas conhecidas presentes no RedPeanut, como as ferramentas GhostPack, são totalmente encapsuladas e executadas no lado do cliente. Para atualizar as ferramentas, por exemplo SeatBelt, sem atualizar todo o repositório, é necessário: Clone o repositório do Seatbelt, renomeie o método "Main" para "Execute", insira o modificador public e recompile como dll. A dll deve ser compactada e codificada em Base64 com o script ps do RastaMouse Get-CompressedShellcode.ps1

Créditos

  • Donut - @TheRealWover
  • DonutCS - @n1xbyte
  • SharpSploit - @cobbr_io
  • GhostPack - @harmj0y
  • SharpCOM - @rvrsh3ll
  • SharpGPOAbuse - @mwrlabs
  • EvilClippy - @StanHacked
  • DotNetToJS - @tiraniddo
  • Sharpshooter - @domchell
  • SharpWeb - @djhohnstein
  • Original version of PsExec - @malcomvetter
  • TikiTorch - @_RastaMouse
  • ReadLine - Toni Solarin-Sodara
Baixar ferramenta