Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
RedPeanut — RedPeanut — это небольшой RAT, разработанный на .Net Core 2, а его агент — на .Net 3.5 / 4.0. | Kitploit
Инструменты/GitHubGitHub/b4rtik/redpeanut
Фреймворки для пентестаПовышение привилегийФреймворки для эксплойтовГенерация полезной нагрузкиМеханизмы персистентностиШелл-кодПост-эксплуатацияКомандование и УправлениеRed TeamingИнструмент Удаленного Доступа
GitHubb4rtik/redpeanut
330786 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

RedPeanut

RedPeanut — это небольшой RAT, разработанный на .Net Core 2, а его агент — на .Net 3.5 / 4.0.

Репозиторий

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
__________________________________________________________________________

В настоящее время тестируется.

Известные проблемы модулей:

process -> spawnasagent

process -> spawnasshellcode


RedPeanut — это небольшой RAT, разработанный на .Net Core 2, а его агент — на .Net 3.5 / 4.0. Выполнение кода RedPeanut основано на шеллкоде, сгенерированном с помощью DonutCS. Таким образом, это гибрид: хотя он разработан на .Net, он не полагается исключительно на Assembly.Load. Это увеличивает поверхность обнаружения, но позволяет нам практиковаться и экспериментировать с различными техниками обхода, связанными с окружением dotnet, управлением процессами и инъекциями. Это поведение можно изменить во время выполнения с помощью команд "managed" и "unmanaged". Если вас интересует консистентный .Net C2 Framework, пригодный для использования в реальных операциях, рекомендую Covenant.

RedPeanut вооружен:

  • GhostPack
  • SharpGPOAbuse
  • SharpCOM
  • EvilClippy
  • DotNetToJS
  • SharpWeb
  • Модифицированная версия PsExec
  • SharpSploit
  • TikiTorch

Агент RedPeanut

Агент RedPeanut может быть скомпилирован под .Net 3.5 и 4.0 и обладает возможностями pivoting через NamedPipe.
При выполнении в неуправляемом режиме агент выполняет свои критические задачи в отдельном процессе, чтобы предотвратить потерю всего агента из-за реакции AV на обнаружение или ошибки во время выполнения.

Поток выполнения следующий:

  1. Создание процесса
  2. Внедрение статического шеллкода, сгенерированного с помощью DonutCS
  3. Загрузчик загружает и выполняет stager или модуль

В настоящее время агент поддерживает только https-канал.

C2 Канал

Протокол регистрации агента очень прост:

  1. Stager запрашивает идентификатор агента, сообщение шифруется RC4 с использованием общего серверного ключа
  2. Сервер расшифровывает сообщение, компилирует и отправляет агента, генерирует и отправляет KEY и IV для будущих сеансов AES-шифрования, сообщение шифруется RC4
  3. Stager расшифровывает сообщение и загружает агента через Assembly.Load
  4. Агент отправляет серверу регистрационное сообщение, сообщение шифруется AES

Альтернативно можно активировать функцию скрытого канала (пока что это PoC). Идея заключается в имитации веб-трафика реального пользователя. Обычно веб-страница состоит из HTML-страницы и всех объектов, необходимых для её отображения, таких как css, изображения и т.д. При запросе новой задачи ответ от сервера будет не напрямую зашифрованной задачей, а HTML-страницей, из которой нужно извлечь ссылку на изображение, содержащее зашифрованную задачу. HTTP-запрос к изображению будет содержать заголовок Referer.

Доставка контента

Доставка контента организована по 4 каналам:

  1. C2 Channel, настраиваемый через профиль
  2. Динамический контент, генерируемый/управляемый RedPeanut, настраиваемый через профиль
  3. Статический контент, сопоставленный с /file/
  4. Скрытый канал для получения изображения, содержащего полезную нагрузку, сопоставленный с /images/

Профили

RedPeanut позволяет настраивать сетевой след как на стороне сервера, так и на стороне клиента. Настраиваемые свойства:

  • Общие
    • Delay (задержка между запросами)
    • ContentUri (url динамического контента, например, dll, hta и т.д.)
    • UserAgent
    • Spawn (процесс, создаваемый для выполнения критических задач)
    • HtmlCovered (включение скрытого канала)
    • TargetClass (класс для поиска изображения для восстановления)
  • Http Get
    • ApiPath (список url, разделенных запятыми, например, /news-list.jsp,/antani.php и т.д.)
      • Сервер
        • Prepend
        • Append
        • Headers (пары имя-значение для http-заголовков)
      • Клиент
        • Headers
  • Http Post
    • ApiPath (список url, разделенных запятыми, например, /news-list.jsp,/antani.php и т.д.)
    • Param (имя параметра полезной нагрузки POST-запроса)
    • Mask (формат для интерпретации пары ключ-значение, например, {0}={1}) (требует доработки...)
    • Сервер
      • Prepend
      • Append
      • Headers (пары имя-значение для http-заголовков)
    • Клиент
      • Headers

Domain Fronting

Для поддержки domain fronting необходимо указать заголовок "Host" в клиентской части, как для POST, так и для GET (пример в профиле по умолчанию 2).

PowerShellExecuter

Модуль PowerShellExecuter позволяет выполнять однострочные команды или файлы в runspace с AMSI bypass, отключением логирования и уже загруженным PowerView.

Загрузчики Launchers

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

Локальные модули

  • EvilClippy

Задачи агента

  • 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

Персистентность

  • Autorun
  • Startup
  • WMI
  • CLR

BlockDlls

Начиная с версии 0.3.0, RedPeanutAgent поддерживает команду blockdlls. При включении этой опции дочерние процессы, создаваемые для выполнения задач в неуправляемом режиме, создаются с атрибутом PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON. Этот атрибут предотвращает загрузку в процесс dll, не подписанных Microsoft, что может защитить наши задачи от техник хукинга со стороны AV и EDR.

Прямые системные вызовы и динамическая загрузка DLL

RedPeanutAgent использует динамическую загрузку DLL для избежания использования подозрительных импортов DLL. Благодарности за динамическую загрузку DLL принадлежат @TheRealWover, @cobbr_io и @FuzzySec за их работу в SharpSploit.

Некоторые поставщики AV и EDR используют технику хукинга для отслеживания активности. Чтобы избежать использования хукированных системных вызовов, RedPeanutAgent использует прямые системные вызовы, автоматически внедряя необходимый код. Благодарности за прямые системные вызовы принадлежат @Cneelis

Запуск

Для запуска RedPeanut необходимо установить dotnet. Установка dotnet на 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

Для работы скрытого канала необходимо установить библиотеку libgdiplus:

Для пользователей Linux:

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

Для OSx

root@kitploit:~
brew install mono-libgdiplus

Генерация ключа подписи сборки

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

Затем скопируйте key.snk в 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] >

Генератор шеллкода

DonutCS — это инструмент генерации шеллкода, который создает позиционно-независимые полезные нагрузки из .NET сборок. Этот шеллкод может быть использован для внедрения сборки в произвольные процессы Windows. Для заданной .NET сборки, параметров и точки входа (например, Program.Main) он создает позиционно-независимый шеллкод, загружающий её из памяти. .NET сборка может быть либо загружена по URL (staged), либо встроена непосредственно в шеллкод (stageless).

CLR Persistence

Техника CLR persistence была впервые представлена в этом посте от @Am0nsec. Техника заключается в выполнении хукинга доменного менеджера приложений. Как описано в посте, необходима сборка для выполнения хукинга, которая доступна в GAC. Сборка для использования из GAC должна иметь строгое имя и быть подписана ключом. Модуль CLR persistence требует ключ для подписи сборок, который можно сгенерировать с помощью инструмента sn.exe следующим образом:

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

Скопируйте файл key.snk в папку Workspace/KeyFile. Этот файл будет использоваться для подписи сборки для персистентности.

Обновление инструментов

Некоторые известные инструменты в RedPeanut, такие как инструменты GhostPack, полностью обёрнуты и выполняются на стороне клиента. Для обновления инструментов, например SeatBelt, без обновления всего репозитория необходимо: склонировать репозиторий Seatbelt, переименовать метод "Main" в "Execute", добавить модификатор public и перекомпилировать как dll. DLL необходимо сжать и закодировать в Base64 с помощью ps-скрипта RastaMouse Get-CompressedShellcode.ps1

Благодарности

  • 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
Скачать инструмент