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
RedPeanut — RedPeanut es un pequeño RAT desarrollado en .Net Core 2 y su agente en .Net 3.5 / 4.0. | Kitploit
Herramientas/GitHubGitHub/b4rtik/redpeanut
Frameworks de Pruebas de PenetraciónEscalada de PrivilegiosFrameworks de ExploitsGeneración de PayloadsMecanismos de PersistenciaShellcodePost-ExplotaciónComando y ControlRed TeamingHerramienta de Acceso Remoto
GitHubb4rtik/redpeanut
33078hace 6 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

RedPeanut

RedPeanut es un pequeño RAT desarrollado en .Net Core 2 y su agente en .Net 3.5 / 4.0.

Ver Repositorio

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
__________________________________________________________________________

Actualmente en pruebas.

Problemas conocidos de módulos:

process -> spawnasagent

process -> spawnasshellcode


RedPeanut es un pequeño RAT desarrollado en .Net Core 2 y su agente en .Net 3.5 / 4.0. La ejecución de código de RedPeanut se basa en shellcode generado con DonutCS. Por lo tanto, es un híbrido, aunque desarrollado en .Net no depende únicamente de Assembly.Load. Esto aumenta la superficie de detección, pero nos permite practicar y experimentar con diversas técnicas de evasión relacionadas con el entorno dotnet, la gestión de procesos y la inyección. Este comportamiento se puede cambiar en tiempo de ejecución con los comandos "managed" y "unmanaged". Si estás interesado en un framework C2 .Net que sea consistente y se pueda usar en un compromiso, sugiero Covenant.

RedPeanut está armado con:

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

Agente de RedPeanut

El agente de RedPeanut se puede compilar en .Net 3.5 y 4.0 y tiene capacidades de pivoteo a través de NamedPipe. El agente, cuando se ejecuta en modo no administrado, realiza sus propias tareas críticas en un proceso separado para evitar que la respuesta del AV ante una detección o error durante la ejecución te haga perder todo el agente.

El flujo de ejecución es el siguiente:

  1. Creación de proceso
  2. Inyectar shellcode estático generado con DonutCS
  3. El loader carga y ejecuta el stager o módulo

El agente actualmente solo soporta el canal https.

Canal C2

El protocolo de checkin del agente es muy simple:

  1. El stager requiere un id de agente, el mensaje se cifra con RC4 con la clave compartida del servidor
  2. El servidor descifra el mensaje, compila y envía el agente, genera y envía KEY e IV para futuras comunicaciones con cifrado AES, el mensaje se cifra con RC4
  3. El stager descifra el mensaje y carga el agente mediante Assembly.Load
  4. El agente envía un mensaje de checkin al servidor, el mensaje se cifra con AES

Alternativamente, se puede activar la función de canal cubierto (por ahora es solo una PoC). La idea es imitar el tráfico web realizado por un usuario real. Normalmente, una página web está compuesta por la página html y todos los objetos necesarios para su visualización como css, imágenes, etc. Al solicitar una nueva tarea, la respuesta del servidor no será directamente la tarea cifrada, sino una página html de la cual extraer el enlace a la imagen que tendrá incrustada la tarea cifrada. La solicitud http de la imagen contendrá la cabecera Referer.

Entrega de contenido

La entrega de contenido se organiza en 4 canales:

  1. Canal C2 personalizable mediante perfil
  2. Contenido dinámico generado/gestionado por RedPeanut personalizable mediante perfil
  3. Contenido estático mapeado a /file/
  4. Canal cubierto para la recuperación de la imagen que contiene el payload mapeado a /images/

Perfiles

RedPeanut tiene capacidad de personalización de la huella de red tanto del lado del servidor como del cliente. Las propiedades que se pueden establecer son:

  • General
    • Delay (entre solicitudes)
    • ContentUri (url de contenido dinámico, ej. dll hta etc.)
    • UserAgent
    • Spawn (el proceso a crear para realizar tareas críticas)
    • HtmlCovered (Habilitar canal cubierto)
    • TargetClass (Clase para buscar la recuperación de imagen)
  • Http Get
    • ApiPath (lista separada por comas de urls ej. /news-list.jsp,/antani.php etc.)
    • Server
      • Prepend
      • Append
      • Headers (par nombre-valor para cabeceras http)
    • Client
      • Headers
  • Http Post
    • ApiPath (lista separada por comas de urls ej. /news-list.jsp,/antani.php etc.)
    • Param (el nombre del parámetro del payload de la solicitud post)
    • Mask (formato para interpretar el par clave-valor, ej. {0}={1}) (necesita más trabajo...)
    • Server
      • Prepend
      • Append
      • Headers (par nombre-valor para cabeceras http)
    • Client
      • Headers

Domain Fronting

Para habilitar el soporte de domain fronting es necesario valorar la cabecera "Host" en la sección del cliente, tanto post como get (ejemplificado en el perfil predeterminado 2).

PowerShellExecuter

El módulo PowerShellExecuter te permite ejecutar comandos oneliner o archivos en un runspace con AMSI bypass, Logging bypass y PowerView ya cargados.

Lanzadores

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

Módulos locales

  • EvilClippy

Tareas del agente

  • Upload
  • DownLoad
  • SharpWeb
  • SharpWmi
  • SharpUp
  • UACBypass Token Duplication
  • SharpDPAPIVaults
  • SharpDPAPITriage
  • SharpDPAPIRdg
  • SharpDPAPIMasterKeys
  • SharpDPAPIMachineVaults
  • SharpDPAPIMachineTriage
  • SharpDPAPIMachineMasterKeys
  • SharpDPAPIMachineCredentials
  • SharpDPAPICredentials
  • 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

Persistencia

  • Autorun
  • Startup
  • WMI
  • CRL

BlockDlls

A partir de la versión 0.3.0, RedPeanutAgent soporta el comando blockdlls. Con esta opción habilitada, los procesos hijos que se crean para realizar tareas en modo no administrado se crean con el atributo PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON. Este atributo evita que el proceso cargue dlls que no estén firmadas por Microsoft, lo que podría proteger nuestras tareas de técnicas de hooking de AV y EDR.

Llamada Directa al Sistema y Carga Dinámica de Dlls

RedPeanutAgent utiliza la carga dinámica de Dlls para evitar el uso de importaciones de Dlls sospechosas. Los créditos por la carga dinámica de Dlls van para @TheRealWover, @cobbr_io y @FuzzySec por su trabajo en SharpSploit.

Algunos proveedores de AV y EDR utilizan técnicas de hooking para realizar un seguimiento de las actividades. Para evitar el uso de syscalls hookeadas, RedPeanutAgent utiliza llamada directa al sistema (direct syscall), autoinyectando el código necesario. Los créditos por la llamada directa al sistema van para @Cneelis

Ejecución

Para ejecutar RedPeanut necesitas tener dotnet instalado. Para instalar dotnet en 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 la funcionalidad de canal cubierto es necesario instalar la librería libgdiplus, por lo tanto:

Para usuarios de Linux:

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

Para OSx

root@kitploit:~
brew install mono-libgdiplus

Generación de clave de firma de ensamblados

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

Luego copia key.snk en 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] >

Generador de shellcode

DonutCS es una herramienta de generación de shellcode que crea payloads de shellcode independientes de la posición a partir de ensamblados .NET. Este shellcode puede usarse para inyectar el ensamblado en procesos de Windows arbitrarios. Dado un ensamblado .NET arbitrario, parámetros y un punto de entrada (como Program.Main), produce shellcode independiente de la posición que lo carga desde la memoria. El ensamblado .NET puede ser obtenido desde una URL (staged) o integrado directamente en el shellcode (stageless).

Persistencia CLR

La técnica de persistencia CLR fue presentada por primera vez en este post por @Am0nsec. La técnica consiste en realizar el hooking del administrador de dominio de la aplicación. Como se describe en el post, es necesario el ensamblado para realizar el hooking, el cual está disponible en el GAC. Un ensamblado para ser usado desde el GAC debe tener un nombre seguro (strong-named) y luego firmarse con una clave. El módulo de persistencia CLR necesita una clave para poder firmar los ensamblados, que se puede generar con la herramienta sn.exe de la siguiente manera:

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

Copia el archivo key.snk a la carpeta Workspace/KeyFile. Este archivo se usará para firmar el ensamblado para la persistencia.

Actualización de herramientas

Algunas de las herramientas conocidas presentes en RedPeanut, como las herramientas GhostPack, están completamente envueltas y se ejecutan en el lado del cliente. Para actualizar las herramientas, por ejemplo SeatBelt, sin actualizar todo el repositorio, es necesario: Clonar el repositorio de Seatbelt, renombrar el método "Main" a "Execute", insertar el modificador public y recompilar como dll. El dll debe ser comprimido y codificado en Base64 con el script ps de RastaMouse Get-CompressedShellcode.ps1

Créditos

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