常见Webshell&重大漏洞的流量特征(附解密流量工具)

0x01 前言

攻防演练中,经常会看到一些加密的流量,又分不清楚是不是误报,本文总结了一些常见的流量特征,附流量解密工具。

0x02 正文

远控C2

cs流量特征:

1,基础特征:心跳包

2,请求特征:下发的指令,url路径,老版本固定的ua头

3,源码特征:checksum8 (92L 93L)

如果进行二开魔改后的cs,可提取样本

MSF流量特征:

1,端口号:msf默认使用4444端口作为反向连接端口

2,数据内容:msf数据包通常包含特定字符串:("meterpreter"、"revshell"等)

webshell:

主要需要鉴别一些高危的函数,比如eval,assert

蚁剑:

特征:

请求中的User-Agent值是:antSword/*

也有可能是:Mozilla/5.0 (Windows NT ) AppleWebKit/ (KHTML, like Gecko) Chrome/* Safari/

请求中可以检测到的关键字:“eval””eVAL”

请求体存在@ini_set("display_errors", "0");@set_time_limit(0);(开头可能是菜刀或者是蚁剑)

加密后的明显参数多数是0x......=这种形式所以0x开头的参数名,以及dirname、get_current_user函数的字眼(需要讲请求内容解密后判断),后面为加密数据的数据包可以鉴定为蚁剑的流量特征

在命令执行时有目录标记[S]、[E]、[R]、[D]、等,说明已经拿到shell了(在执行系统命令)

payload特征

php assert、eval关键字执行,

asp eval在jsp使用

Java 同时会带有base64编码解码等字符特征

菜刀:

老版本采用明文传输,非常好辨认新版本采用base64加密,检测思路就是分析流量包,发现大量的base64加密密文就需要注意

请求头中

User-Agent存在百度或者火狐

请求体中

会存在QGluaV9zZXQ攻击的开头部分后面的部分需要base64解码

z0(也会修改)跟随后面的payload的base64的数据。z0是菜刀的默认参数

eval也会替换成assert的方式(可能是拼接)

("ass"."ert",....

固定的

QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

冰蝎:

冰蝎1:冰蝎1有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验冰蝎2:因为内置了很多的UA头,所以当某一个相同IP重复请求,但是UA头不一样的时候就需要注意了冰蝎3:因为省去了协商过程,所以流量上可以绕过很多,但是其他特征依旧保留,比如ua头冰蝎数据包总是伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream还有他们的accept之类的长度总是等长,正常的根据应用场景和不同文件,长度是不同的

冰蝎4:

1.UserAgent字段:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Mozilla/5.0 (Windows; U;
### WebShell工具流量特征分析及检测方法 WebShell工具是一种常见的后门程序,攻击者通过其可以对目标服务器进行远程控制。WebShell工具的网络流量特征和检测方法可以从多个角度进行分析。 #### 1. 常见WebShell工具流量特征 - **ASP类WebShell流量特征** 蚁剑(AntSword)与菜刀等工具在ASP类WebShell流量中表现出相似性。例如,常用的函数如`OnError ResumeNext`、`Response.End`、`Response.Write`等经常出现在流量中[^1]。此外,蚁剑通过混淆技术将某些关键字分割为拼接形式,例如`Ex"&cHr(101)&"cute`,以绕过简单的正则匹配规则。同时,`eval`参数也常被用作执行动态代码的关键手段。 - **加密与混淆** 蚁剑具备良好的扩展性,支持对流量进行加密和混淆处理,以规避检测。例如,它可以将敏感函数或字符串分段发送,并在目标服务器上重新组合[^3]。这种行为增加了检测的难度。 - **分段发送** 攻击者可以通过将特征流量分段发送来绕过基于正则表达式的检测系统。例如,在POST请求中插入额外的数据片段,使检测引擎无法直接匹配完整的恶意模式[^2]。 #### 2. WebShell工具的检测方法 - **基于正则匹配的检测** 正则匹配是最早期且最简单的检测方法之一。它通过预定义的恶意模式库来识别可疑流量。然而,这种方法容易被加密、编码或分段等技术绕过,因此仅适用于基础的开源工具或低质量的项目。 - **基于行为分析的检测** 行为分析不依赖于具体的代码内容,而是关注代码的实际运行行为。例如,检测是否尝试执行危险操作(如文件读写、命令执行等),或者是否存在异常的网络通信模式。商业级检测工具通常采用行为分析技术,因为它能够更有效地识别经过混淆或加密的恶意流量。 - **基于机器学习的检测** 机器学习方法通过训练模型来识别正常流量与恶意流量之间的差异。这种方法的优势在于能够适应不断变化的攻击模式,并具有较高的检测精度。然而,实现高质量的机器学习检测需要大量的标注数据和计算资源[^2]。 #### 3. 检测平台分类 根据检测技术的不同,WebShell工具的检测平台可以分为以下几类: - **WAF(Web应用防火墙)** WAF主要用于实时拦截恶意流量,但其检测能力通常依赖于规则集,因此可能无法应对高级攻击。 - **入侵检测平台** 入侵检测平台结合了多种检测技术,包括规则匹配、行为分析和机器学习,能够提供更全面的防护[^2]。 - **威胁感知平台** 威胁感知平台专注于长期监控和分析,能够发现潜在的高级持续性威胁(APT)。这类平台通常集成大数据分析和人工智能技术[^2]。 ```python # 示例:检测POST请求中是否存在分段特征 import re def detect_segmented_payload(post_data): # 定义常见分段特征的正则表达式 pattern = r"(?i)(chr\(|eval\(|execute\()(&|&)|(&|&)chr\(" if re.search(pattern, post_data): return True return False post_data = "Ex\"&cHr(101)&\"cute" if detect_segmented_payload(post_data): print("Detected segmented payload") else: print("No segmented payload detected") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小模型

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值