Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
redshell — 一个用于红队和渗透测试的交互式命令提示符。自动通过proxychains将命令推送到SOCKS4/5代理。可选的Cobalt Strike集成从团队服务器拉取beacon的SOCKS4/5代理。自动将活动记录到本地CSV文件以及Cobalt Strike团队服务器(如果已配置)。 | Kitploit
工具/GitHubGitHub/verizon/redshell
渗透测试命令与控制红队
GitHubverizon/redshell

redshell

一个用于红队和渗透测试的交互式命令提示符。自动通过proxychains将命令推送到SOCKS4/5代理。可选的Cobalt Strike集成从团队服务器拉取beacon的SOCKS4/5代理。自动将活动记录到本地CSV文件以及Cobalt Strike团队服务器(如果已配置)。

查看仓库
22543574年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

RedShell

一个用于红队和渗透测试的交互式命令提示符。自动通过SOCKS4/5代理经由 proxychains 推送命令。可选的 Cobalt Strike 集成可从团队服务器拉取 Beacon 的 SOCKS4/5 代理。活动自动记录到本地 CSV 文件以及(若已配置)Cobalt Strike 团队服务器。

请注意,由于 RedShell 底层使用 proxychains,仅 TCP 流量会被代理。

安装

RedShell 运行在 Python > 3.8 上。

安装依赖:

pip3 install -r requirements.txt

安装 proxychains-ng (https://github.com/rofl0r/proxychains-ng):

apt install proxychains4

RedShell 不再依赖 Cobalt Strike。但如果您使用了 Cobalt Strike 集成,CS 客户端必须与 RedShell 安装在同一主机上。同时请确保 agscript 包装器可执行:

chmod +x agscript.sh

用法

启动 RedShell:

$python3 redshell.py 

                ____           _______ __         ____
               / __ \___  ____/ / ___// /_  ___  / / /
              / /_/ / _ \/ __  /\__ \/ __ \/ _ \/ / / 
             / _, _/  __/ /_/ /___/ / / / /  __/ / /  
            /_/ |_|\___/\__,_//____/_/ /_/\___/_/_/

            
日志写入:/home/user/.redshell/redshell_2022_08_22_13_00_13.csv

redshell > 

显示帮助:

redshell > help

Documented commands (use 'help -v' for verbose/'help <topic>' for details):
===========================================================================
beacon_exec  cs_connect      cs_status     help        pwd    socks
cd           cs_disconnect   cs_use_pivot  history     quit 
config       cs_load_config  exec          log         set  
context      cs_pivots       exit          proxy_exec  shell
 

设置选项:

redshell> set 选项 值

日志

RedShell 会自动记录通过 beacon_exec、proxy_exec、exec 或 log 命令产生的活动。日志在启动时自动初始化,日志文件写入到 ~/.redshell。

若要记录到 Cobalt Strike,请连接到团队服务器、选择一个跳板,然后使用 beacon_exec 命令。

代理

RedShell 使用 proxychains-ng 和一个自定义的 proxychains 配置文件。配置文件的修改和命令代理会即时处理。

Cobalt Strike

要通过 Cobalt Strike 代理,请连接到团队服务器、选择一个跳板,然后使用 beacon_exec 命令。详情请参考 Cobalt Strike 章节。

自定义代理

可以使用 socks 命令设置自定义的 SOCKS 版本 4 或 5 代理。

redshell > socks -h
usage: socks [-h] [-u SOCKS5_USER] [-p SOCKS5_PASS] {socks4,socks5} ip_address socks_port

Use a custom socks4/5 server

positional arguments:
  {socks4,socks5}
  ip_address
  socks_port

options:
  -h, --help       show this help message and exit
  -u SOCKS5_USER
  -p SOCKS5_PASS

SOCKS 代理验证

RedShell 会在选择 SOCKS 代理(使用 socks 或 cs_use_pivot 命令)时自动验证连接和认证(如果适用)。可以使用以下命令禁用此功能:set check_socks false

上下文

RedShell 的上下文是活动日志的关键部分。上下文允许您设置在目标网络中执行活动的源主机的视角(在活动日志中)。以下上下文属性可以包含在活动日志中:IP 地址、DNS 名称、NetBIOS 名称、用户名和进程 ID。只有 IP 地址是必需的。

关于上下文的说明:

  • 设置新的 socks 端口时,上下文会被清除
  • 连接/断开与 CS 团队服务器的连接时,上下文会被清除

上下文 - 自定义代理

使用 socks 命令设置 socks 代理后,使用 context 命令添加上下文细节。

RedShell> context -h
usage: context [-h] [-d DNSNAME] [-n NETBIOSNAME] [-u USERNAME] [-p PID] ip_address

Set a custom context (Source IP/DNS/NetBIOS/User/PID) for logging

positional arguments:
  ip_address            Source IP Address

optional arguments:
  -h, --help            show this help message and exit
  -d DNSNAME, --dnsname DNSNAME
                        DNS Name
  -n NETBIOSNAME, --netbiosname NETBIOSNAME
                        NetBIOS Name
  -u USERNAME, --username USERNAME
                        User Name
  -p PID, --pid PID     Process ID

上下文 - Cobalt Strike

如果您在使用团队服务器上的跳板,上下文值会根据 Beacon 自动设置。

命令提示符

命令提示符会自动更新上下文变量(user@host)。

执行与记录

以下 RedShell 命令会被记录到活动日志中:

  • beacon_exec - 通过 Beacon socks 代理执行命令,并同时记录到团队服务器。
  • proxy_exec - 通过自定义 socks 代理执行命令,并同时记录到本地文件。
  • exec - 执行命令并记录到本地文件。
  • log - 向本地文件添加手动日志条目。

自定义代理示例

alt text

Cobalt Strike

连接 Cobalt Strike

设置 Cobalt Strike 连接选项:

redshell > set cs_host 127.0.0.1
redshell > set cs_port 50050
redshell > set cs_user somedude

连接到团队服务器(将提示输入团队服务器密码):

redshell > cs_connect 

示例:

alt text

或者从配置文件加载。注意:团队服务器密码不会从配置文件中读取。RedShell 会提示输入团队服务器密码,然后自动连接。

$ cat config.txt 
cs_host=127.0.0.1
cs_port=12345
cs_user=somedude
cs_directory=/path/to/cobaltstrike/install
redshell > cs_load_config config.txt

显示可用的代理跳板:

redshell > cs_pivots 

示例:

alt text

选择一个代理跳板(注意:只有在建立与团队服务器的连接后才能设置):

redshell > cs_use_pivot 2
SOCKS5 pivot requires authentication.

Enter SOCKS5 user: username
Enter SOCKS5 password:

检查 Cobalt Strike 状态:

redshell > cs_status

示例:

alt text

通过 Beacon socks 代理执行命令。这些命令可以在当前用户上下文中运行,也可以通过 sudo 运行。命令中指定 'proxychains' 是可选的。所有命令都会被强制通过 proxychains。MITRE ATT&CK 技术 ID 是可选的。

redshell > beacon_exec -h
usage: beacon_exec [-h] [-t TTP] ...

Execute a command through beacon socks proxy and simultaneously log it to the teamserver.

positional arguments:
  command            Command to execute through the proxy and log.

optional arguments:
  -h, --help         show this help message and exit
  -t TTP, --ttp TTP  MITRE ATT&CK Tactic IDs. Comma delimited to specify multiple.

example: 
beacon_exec -t T1550.002,T1003.002 cme smb 192.168.1.1 --local-auth -u Administrator -H C713B1D611657D0687A568122193F230 --sam

示例:

alt text

关于 RedShell 和 CS 安装目录选项的说明——脚本需要知道自己和 Cobalt Strike 的位置。 如果出现问题,请确保正确设置了目录:

redshell > set redshell_directory /opt/redshell
redshell > set cs_directory /opt/cobaltstrike

通用

关于 *exec 命令中使用的密码的说明:密码中的特殊字符可能会被解释为 shell 元字符,从而导致命令失败。解决方法是:设置密码选项,然后在命令中使用 '$password'。示例:

redshell > set password Test12345
password - was: ''
now: 'Test12345'
redshell > beacon_exec cme smb 192.168.1.14 --local-auth -u administrator -p $password --shares

RedShell 包含用于导航文件系统的命令:

redshell > cd /opt/redshell/
redshell > pwd
/opt/redshell

其他命令可以通过 shell 命令或 '!' 快捷方式运行:

redshell > shell date
Mon 29 Jul 2019 05:33:02 PM MDT
redshell > !date
Mon 29 Jul 2019 05:33:03 PM MDT

命令会被跟踪并可通过 history 命令访问:

redshell > history 
    1  load_config config.txt
    2  status
    3  help

RedShell 还支持 Tab 补全和通过 Ctrl + L 清屏。

CSV 日志格式

Datetime,IP Address,DNS Name,NetBIOS Name,User,PID,Activity,TTPs
2021/09/21 14:22:32 +0000,192.168.56.106,,WINDEV,USER,7312,[PROXY] cme smb 192.168.56.105,

说明:

  • 必填字段:Datetime, IP Address, Activity
  • 可选字段:DNS Name, NetBIOS Name, User, PID, TTPs
  • Datetime 格式:"%Y/%m/%d %H:%M:%S %z" (UTC)

维护者

  • exfiltrata

许可证

本项目基于 Apache 2.0 开源许可证的条款进行许可。请参阅 LICENSE 获取完整条款。

下载工具