使用HTTP协议的异步反向Shell/反弹Shell

HTTP异步反向Shell

有很多方法可以创建反向shell,以便能够通过防火墙远程控制计算机。确实,传出连接并不总是被过滤。

但是,安全软件和硬件(IPS,IDS,Proxy,AV,EDR等)功能越来越强大,可以检测到这些攻击。在大多数情况下,通过TCP或UDP隧道建立与反向Shell的连接。我认为最好的检测方法是使它看起来像合法流量。HTTP协议是标准用户最常使用的协议。而且,它几乎从未被过滤,以免阻止访问网站。

怎么运行的 ?

  1. 客户端应用程序在目标计算机上执行。
  2. 客户端启动与服务器的连接。
  3. 服务器接受连接。

然后:

  1. 客户端查询服务器,直到获得指示。
  2. 攻击者向服务器提供指令。
  3. 定义命令后,客户端将执行该命令并返回结果。

依此类推,直到攻击者决定结束会话为止。 

特征

实现了以下功能:

  1. 伪造的HTTP流量显示为在bing.com上的搜索。
  2. 命令在HTML响应中以base64编码。
  3. 客户端将命令的结果编码为base64中的cookie。
  4. [可选] SSL支持;默认情况下,它是伪造的bing.com证书。
  5. 每个客户端调用之间的随机延迟,以避免触发IDS。
  6. 服务器的每个响应都使用随机模板。
  7. 重新使用相同的Powershell流程,以避免触发EDR。
  8. 支持所有Cmd和Powershell命令。
  9. [可选]客户端可以在启动时显示伪造的错误消息。
  10. 客户端从任务管理器中隐藏。
  11. [可选]客户端可以管理员身份运行。

使用示例

使用HTTP协议的异步反向Shell/反弹Shell
客户端
使用HTTP协议的异步反向Shell/反弹Shell
服务端

有一些配置参数可以在HARS.sln中的Config.cs修改。

更多文档直接看项目说明。

项目地址:https://github.com/onSec-fr/Http-Asynchronous-Reverse-Shell