流量特征

流量特征
Att@ckxuSQL
1.参数长度异常:攻击者通常会在SQL注入攻击中使用长参数来尝试构建恶意语句,因此在网络流量中需要寻找异常长度的参数。
2.非法字符:攻击者通常使用非法字符来构建恶意SQL语句,如单引号、分号等。
3.异常请求:攻击者可能会在HTTP请求中包含多个语句或查询,或者在HTTP请求中包含错误或缺失的参数。
4.错误响应:如果应用程序未正确处理SQL注入攻击,则可能会返回错误响应。攻击者可以通过分析响应以查找此类错误,并尝试进一步攻击。
5.非常规流量:攻击者可能会在较短时间内发送大量请求,或在同一时间窗口内多次发送相同请求。这种非常规流量模式可能表明攻击正在进行中。
出现一些特殊字符:比如单引号括号’(
出现SQL命令或语句:增加、删除、修改、查询
出现注释符号:比如连续两个减号–
url上出现万能密码字段:’or’1’=’1
通过http数据流中的sql payload来定位sql注入,观察返回包中的内容(是否返回了如数据库名之类的敏感信息、状态码)
看请求参数、请求头、请求体中是否包含SQL语句或关键字(比如union select)
sqlmap流量特征:
若攻击者使用sqlmap且未加 –random-agent参数,则可以通过捕获请求包的user-agent字段来判断攻击者是否在使用sqlmap进行攻击;sqlmap在进行初识监测时会进行一些预检测,第一条语句是对数据库类型和XSS漏洞进行监测,且这句话几乎每次注入都不变,即我们可以通过XSS测试语句判断。
XSS
payload包含<script></script>
标签;
标签的一些事件:比如onclick、ondbclick、onload;
标签的超链接属性:比如href、src。
和sql注入一样,通过http数据流中的一些关键字来判断是否存在xss
看请求参数或请求体中是否包含JavaScript代码,将响应体的数据复制到文件中执行,如果弹窗,说明攻击成功。
http数据流对应返回结果
RCE
找请求包中的命令执行触发语句
观察数据包中是否存在命令执行的对应结果,如果存在对应返回结果,证明攻击成功
文件上传
找到上传的请求包,看上传文件名,后缀,Data部分右键显示分组字节,查看文件内容
目录扫描
短时间出现大量请求且存在大量404中夹杂一些铭感配置目录信息,判断为目录扫描
口令爆破
存在大量口令尝试访问登录页面的数据流,观察返回数据包看是否存在登录成功数据,判断是否攻击成功
登录成功和登录失败的返回长度不同
Log4j2
请求中存在jndi字样,且会发起jrmi的二次请求和ldap流量请求
rmi请求流量源地址为服务器地址目标地址为攻击机器地址
并会请求恶意class文件,通过追踪流可以看到请求的class文件内容
比如说我们通过base64解码之后可以看到命令内容,如果是反弹shell,我们继续看后续流量如果走向该端口,证明攻击成功
fastjson
存在利用链特征@type
请求恶意文件
追踪http流查看恶意文件内容
shiro
工具探测shiro框架流量
请求中携带rememberMe=yes进行探测是否存在shiro框架,如果存在返回包中会存在rememberMe=deleteMe
爆破密钥流量
密钥爆破失败存在rememberMe=deleteMe返回
爆破成功则无返回
爆破利用链流量
cookie中存在大量字符串
命令执行流量
返回包中存在多个$标识
内存马特征
存在密码特征及其路径以及返回成功字眼
strtus2
工具检测流量特征
cookie以及请求数据包存在poc包含大量%信息等
漏洞存在则会执行代码中包含的内容
可能有全局Cookie值(不明显,弱特征,可以更改)
Content-Type中有%{}的字样({}里是请求的格式/类型),后面有传入命令的内容 (强特征!)
命令执行流量特征
poc还是包含大量的特殊符号(#),以及%{}特征
追踪tcp数据包可以看到返回结果
总结
包含大量的特殊符号:%、#、{}、()
weblogic
因为weblogic漏洞大多数通过t3协议利用,所以观察tcp数据包内容可发现攻击者扫描数据
存在t3字样并且存在执行命令的关键字
写入webshell
植入内存马
webshell管理工具
蚁剑
明文传输
1、使用URL编解码;
2、每个数据包前面都会包含@ini_set(“display_errors”, “0”);@set_time_limit(0);这两个语句;
3、响应包都是明文。
我们使用一句话木马上传webshell,抓包后会发现每个请求体都存在以@ini_set(“display_errors”,”0”);@set_time_limit(0)开头。并且响应体的返回结果是base64编码发混淆字符,格式为:随机数 结果 随机数。
冰蝎
冰蝎2.0 、 3.0、4.0 版本有差异
冰蝎设置了10种User-Agent,每次连接shell时会随机选择一个进行使用。
1."Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36" |
请求体头部字节与响应题头部字节不会变化
referer中的文件名都是随机生成的,但文件名是纯大写或者是纯小写(弱特征)
哥斯拉
哥斯拉客户端与 shell 建连初期的三个固定行为特征,且顺序出现在同一个 TCP 连接中。可以总结为:
特征:发送一段固定代码(payload),http 响应为空
特征:发送一段固定代码(test),执行结果为固定内容
特征:发送一段固定代码(getBacisInfo)
哥斯拉的流量解密没有密钥是无法做到的
还有一些奇怪的特征
cookie 结尾有 ;
响应体前16位和后16为会组成一个32位md5 正则匹配类似于(?i:[0-9A-F]{16})[\w+/]{4,}=?=?(?i:[0-9A-F]{16})
远控服务器
metasploit
meterpreter命令执行的过程已经进行了加密处理,继续进行活动,防御者也不会发现有价值的数据,但可以观察到每个数据都包含MZ标头和DOS模式异常。
cobaltstrike
checksum8
下载stage payload的过程uri符合 checksum8 规则,即:路径的 ascii 之和与 256 取余计算值等于 92
sleep
c2服务器如果没有任务下发,会有规律的请求响应间隔,比如这里是3s
c2服务器如果有任务下发,则放入 http 心跳请求返回包中
靶机完成任务后,通过 post 方法回传数据