Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/b4rtik/redpeanut
Penetration Testing FrameworksPrivilege EscalationExploit FrameworksPayload GenerationPersistence MechanismsShellcodePost-ExploitationCommand and ControlRed TeamingRemote Access Tool
GitHubb4rtik/redpeanut

RedPeanut

RedPeanut은 .Net Core 2로 개발된 소형 RAT이며, 에이전트는 .Net 3.5/4.0으로 개발되었습니다.

저장소 보기
330786년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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은 .Net Core 2로 개발된 소형 RAT이며, 그 에이전트는 .Net 3.5/4.0으로 개발되었습니다. RedPeanut의 코드 실행은 DonutCS로 생성된 셸코드를 기반으로 합니다. 따라서 .Net으로 개발되었지만 Assembly.Load에만 의존하지 않는 하이브리드 방식입니다. 이는 탐지 표면을 증가시키지만, dotnet 환경, 프로세스 관리 및 인젝션과 관련된 다양한 회피 기술을 연습하고 실험할 수 있게 해줍니다. 이 동작은 "managed" 및 "unmanaged" 명령으로 런타임에 변경할 수 있습니다. 일관성 있고 실제 업무에 사용할 수 있는 .Net C2 프레임워크에 관심이 있다면 Covenant를 추천합니다.

RedPeanut은 다음 도구로 무장되어 있습니다:

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

RedPeanut Agent

RedPeanut 에이전트는 .Net 3.5 및 4.0으로 컴파일할 수 있으며 NamedPipe를 통한 피벗 기능이 있습니다. 에이전트가 비관리(unmanaged) 모드로 실행될 때, 중요한 작업을 별도 프로세스에서 수행하여 AV의 탐지나 실행 중 오류로 인해 전체 에이전트를 잃지 않도록 합니다.

실행 흐름은 다음과 같습니다:

  1. 프로세스 생성
  2. DonutCS로 생성된 정적 셸코드 인젝션
  3. 로더가 스테이저 또는 모듈을 로드하고 실행

에이전트는 현재 https 채널만 지원합니다.

C2 Channel

에이전트 체크인 프로토콜은 매우 간단합니다:

  1. 스테이저는 에이전트 ID를 필요로 하며, 메시지는 공유 서버키로 RC4 암호화됩니다
  2. 서버는 메시지를 복호화하고, 에이전트를 컴파일하여 전송하며, 향후 AES 암호화 통신을 위한 KEY와 IV를 생성하여 전송합니다. 메시지는 RC4로 암호화됩니다.
  3. 스테이저는 메시지를 복호화하고 Assembly.Load를 통해 에이전트를 로드합니다
  4. 에이전트는 체크인 메시지를 서버에 전송하며, 메시지는 AES로 암호화됩니다.

또는 은폐 채널(covered channel) 기능을 활성화할 수 있습니다(현재는 PoC 수준입니다). 아이디어는 실제 사용자가 수행하는 웹 트래픽을 모방하는 것입니다. 일반적으로 웹 페이지는 HTML 페이지와 CSS, 이미지 등 표시에 필요한 모든 객체로 구성됩니다. 새 작업 요청 시 서버의 응답은 암호화된 작업을 직접 반환하는 대신, 암호화된 작업이 포함된 이미지로의 링크를 추출할 수 있는 HTML 페이지가 반환됩니다. 이미지에 대한 HTTP 요청에는 Referer 헤더가 포함됩니다.

Content delivery

콘텐츠 전달은 4개의 채널로 구성됩니다:

  1. 프로필을 통해 사용자 정의 가능한 C2 채널
  2. 프로필을 통해 사용자 정의 가능한 RedPeanut이 생성/관리하는 동적 콘텐츠
  3. /file/에 매핑된 정적 콘텐츠
  4. /images/에 매핑된 페이로드가 포함된 이미지 복구를 위한 은폐 채널

Profiles

RedPeanut은 서버 측과 클라이언트 측 모두의 네트워크 풋프린트를 사용자 정의할 수 있습니다. 설정할 수 있는 속성은 다음과 같습니다:

  • General
    • Delay (between requests) - 지연 시간(요청 간)
    • ContentUri (url of dynamic content eg. dll hta etc.) - ContentUri(동적 콘텐츠 URL, 예: dll, hta 등)
    • UserAgent - UserAgent
    • Spawn (the process to create to perform critical tasks) - Spawn(중요 작업 수행을 위해 생성할 프로세스)
    • HtmlCovered (Enable covered channel) - HtmlCovered(은폐 채널 활성화)
    • TargetClass (Class to search for image recover) - TargetClass(이미지 복구를 위해 검색할 클래스)
  • Http Get
    • ApiPath (comma separated list of url es /news-list.jsp,/antani.php etc.) - ApiPath(쉼표로 구분된 URL 목록, 예: /news-list.jsp,/antani.php 등)
    • Server
      • Prepend - Prepend
      • Append - Append
      • Headers (name and value pair for http headers) - Headers(HTTP 헤더의 이름-값 쌍)
    • Client
      • Headers - Headers
  • Http Post
    • ApiPath (comma separated list of url es /news-list.jsp,/antani.php etc.) - ApiPath(쉼표로 구분된 URL 목록, 예: /news-list.jsp,/antani.php 등)
    • Param (the name of the post request payload parameter) - Param(POST 요청 페이로드 파라미터 이름)
    • Mask (format for interpreting the key value pair eg {0}={1}) (need more work...) - Mask(키-값 쌍 해석 형식, 예: {0}={1}) (추가 작업 필요...)
    • Server
      • Prepend - Prepend
      • Append - Append
      • Headers (name and value pair for http headers) - Headers(HTTP 헤더의 이름-값 쌍)
    • Client
      • Headers - Headers

Domain Fronting

도메인 프론팅을 활성화하려면 클라이언트 섹션(Post 및 Get 모두)에서 "Host" 헤더 값을 설정해야 합니다(기본 프로필 2에 예시됨).

PowerShellExecuter

PowerShellExecuter 모듈을 사용하면 AMSI 우회, 로깅 우회 및 PowerView가 이미 로드된 runspace에서 원라이너 명령이나 파일을 실행할 수 있습니다.

Launchers

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

Local modules

  • EvilClippy

Agent Tasks

  • 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

Persistence

  • Autorun
  • Startup
  • WMI
  • CRL

BlockDlls

버전 0.3.0부터 RedPeanutAgent는 blockdlls 명령을 지원합니다. 이 옵션이 활성화되면 비관리 모드에서 작업을 수행하기 위해 생성되는 자식 프로세스는 PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON 속성으로 생성됩니다. 이 속성은 Microsoft 서명이 없는 DLL이 프로세스에 로드되는 것을 방지하여, AV 및 EDR 후킹 기술로부터 작업을 보호할 수 있습니다.

Direct Sysstem Call and Dynamic Dll Loading

RedPeanutAgent는 의심스러운 DLL 임포트 사용을 피하기 위해 동적 DLL 로드를 사용합니다. 동적 DLL 로드의 크레딧은 @TheRealWover, @cobbr_io 및 @FuzzySec에게 있으며, 그들의 작업은 SharpSploit에 있습니다.

일부 AV 및 EDR 벤더는 활동을 추적하기 위해 후킹 기술을 사용합니다. 후킹된 syscall 사용을 피하기 위해 RedPeanutAgent는 직접 syscall을 사용하며, 필요한 코드를 자동으로 인젝션합니다. 직접 Syscall의 크레딧은 @Cneelis에게 있습니다.

Running

RedPeanut을 실행하려면 dotnet이 설치되어 있어야 합니다. Kali에 dotnet을 설치하려면:

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 라이브러리를 설치해야 합니다. 따라서:

리눅스 사용자:

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] >

Shellcode generator

DonutCS는 .NET 어셈블리로부터 위치 독립적인 셸코드 페이로드를 생성하는 도구입니다. 이 셸코드는 임의의 Windows 프로세스에 어셈블리를 인젝션하는 데 사용될 수 있습니다. 주어진 .NET 어셈블리, 매개변수 및 진입점(예: Program.Main)을 기반으로 메모리에서 이를 로드하는 위치 독립적인 셸코드를 생성합니다. .NET 어셈블리는 URL에서 스테이징되거나 셸코드에 직접 포함되어 스테이지리스 방식이 될 수 있습니다.

CLR Persistence

CLR 지속성 기술은 @Am0nsec이 이 포스트에서 처음 소개했습니다. 이 기술은 애플리케이션 도메인 관리자 후킹을 수행하는 것입니다. 포스트에서 설명된 대로, 후킹을 수행하려면 GAC에서 사용 가능한 어셈블리가 필요합니다. GAC에서 사용할 어셈블리는 강력한 이름(strong-named)을 가져야 하며 키로 서명되어야 합니다. CLR 지속성 모듈은 어셈블리에 서명할 수 있는 키가 필요하며, 다음과 같이 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 폴더에 복사하십시오. 이 파일은 지속성을 위해 어셈블리에 서명하는 데 사용됩니다.

Tools updating

RedPeanut에 포함된 잘 알려진 도구들(예: GhostPack 도구)은 완전히 래핑되어 클라이언트 측에서 실행됩니다. 전체 저장소를 업데이트하지 않고 도구(예: SeatBelt)를 업데이트하려면 다음이 필요합니다: Seatbelt 저장소를 클론하고, "Main" 메서드 이름을 "Execute"로 변경하고, public 수식자를 추가한 후 dll로 다시 컴파일합니다. dll은 RastaMouse의 PowerShell 스크립트 Get-CompressedShellcode.ps1을 사용하여 압축 및 Base64 인코딩되어야 합니다.

Credits

  • 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
도구 다운로드