前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研判特征流量

研判特征流量

原创
作者头像
黑战士
发布2024-04-07 17:14:39
1930
发布2024-04-07 17:14:39
举报
文章被收录于专栏:黑战士安全黑战士安全

研判溯源应急

准备-检测-抑制-根除-恢复-跟踪总结

中级

内存马的判断和清除:

判断方式:先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志,如果是filter或者listener类型就会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的,查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错

清除方式:1.利用条件竞争把shell内容改写或者清除比较好用 2.重启服务 3.提前占用他的目录名

webshell:

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

蚁剑:

ini_set

ini_set_time

ini_set_limit

@ini_set("display_errors","0")

部分代码明文传输,较好辨认

菜刀:

老版本采用明文传输,非常好辨认

新版本采用base64加密,检测思路就是分析流量包,发现大量的base64加密密文就需要注意

冰蝎:

冰蝎1:冰蝎1有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验

冰蝎2:因为内置了很多的UA头,所以当某一个相同IP重复请求,但是UA头不一样的时候就需要注意了

冰蝎3:因为省去了协商过程,所以流量上可以绕过很多,但是其他特征依旧保留,比如ua头

冰蝎数据包总是伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream

还有他们的accept之类的长度总是等长,正常的根据应用场景和不同文件,长度是不同的

哥斯拉:

cookie这个值的地方有一个小纰漏,就是正常请求cookie最后结尾是没有分号的,可能后续作者会进行调整修改

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

fastjson流量特征:

fastjson原理:能够执行反序列化的根源定位在 @type

@type

还有commit值为true

不出网打法:#目前公开已知的poc有两个:com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp2.BasicDataSource

#第一种利用方式需要一个特定的触发条件:

解析JSON的时候需要使用Feature才能触发,参考如下代码:JSONObject.parseObject(sb.toString(), new Feature[] {Feature.SupportNonPublicField});

#第二种利用方式: 则需要应用部署在Tomcat应用环境中,因为Tomcat应用环境自带tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat- dbcp。

而且对于不同的Tomcat版本使用的poc也不同:

Tomcat 8.0以后使用

org.apache.tomcat.dbcp.dbcp2.BasicDataSource• Tomcat

8.0以下使用 org.apache.tomcat.dbcp.dbcp.BasicDataSource

log4j流量特征:

原理:该漏洞主要是由于日志在打印时当遇到`${`后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞

特征:${jndi:rmi

struts2:

流量特征:遇到之后先进行url解码在查看总体含义

redis未授权:

原理:redis使用了默认配置,使端口绑定在了0.0.0.0:6379并且暴露在公网的话

此时我们任意一台带有redis-cli的机器就可以直接访问,跳过登陆验证,从而可以写shell,写入shell的话使用config参数

thinkphp:

5.x通杀原理:路由url从Request::path()中获取,由于var_pathinfo的默认配置为s,我们可利用$_GET['s']来传递路由信息,也可利用pathinfo来传递,但测试时windows环境下会将$_SERVER['pathinfo']中的\替换为/。结合前面分析可得初步利用代码如下:index.php?s=index/\namespace\class/method

正则没写好

weblogic:

weblogic反序列化基于t3协议

shiro:

shiro550:硬编码导致密钥可以被爆破,然后利用密钥进行解密和反序列化构建payload

shiro721:这次没有了硬编码,但是rememberme字段又出问题了,导致可以构建恶意rememberme的值

服务端收到登录请求后,会对cookie的rememberMe字段的值进行base64解码,接着进行AES解密,然后反序列化

流量特征:rememberme字段长度异常

通过sql语句判断数据库类型:

1.根据注入后的报错信息判断

2.根据不同数据库所特有的表不同来判断

oracle:sys.user_tables

mysql:sysobjects

mysql v5.0以上:information_schema

access数据库:mysysobject

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档