初识哥斯拉流量

到公司实习之后玩了玩应急响应平台流量监测平台,发现基于哥斯拉流量来进行上传攻击取得成功案例有多个,觉得有必要了解一下什么是哥斯拉流量,下面写一下对于哥斯拉流量的认识  

名叫“哥斯拉”的webshell管理工具,与冰蝎类似,哥斯拉也采用了加密流量通信来躲避WAF等安全设备的检测,另外该工具自带了一些插件模块,实现了写内存webshell、与Meterpreter联动、bypass open_basedir等功能

关于webshell的上传特征

这里引用我看到的原博主的文章:哥斯拉流量特征已经检测思路_Buffedon的博客-CSDN博客

对于静态特征的识别应该是最简单的检测方法,只需要把哥斯拉的webshell提取相应的特征然后进行检测即可。当时这种检测方法往往只适合用于直接的文件上传漏洞检测,而当攻击者使用诸如反序列化漏洞或者命令执行等漏洞写入webshell,则可以实现在通讯流量中不直接传递webshell原始内容写入webshell。另外,如果不是用哥斯拉默认生成的webshell,对webshell进行改造同样可以绕过静态特征的匹配。

先看JAVA的,主要原理和冰蝎的差不多。关键在于加密、类加载和反射,可以提取关键操作的代码作为静态检测的特征,如:
AES加/解密:javax.crypto.Cipher.getInstance(“AES”)
类加载:ClassLoader
反射:Class.forName

C#的webshell核心在于使用Assembly来动态解析执行已编译的DLL二进制文件,以及流量加密。使用Assembly的特征为System.Reflection.Assembly,实现加/解密:System.Security.Cryptography.RijndaelManaged()

PHP没有沿用AES加密的流量,而是通过异或实现自定义的加密,并且直接使用eval函数进行代码执行。

webshell通信特征

waf等流量安全检测设备无法对加密流量进行识别,所以我们在平常工作之中尽量的对与各种类型的加密流量进行特征提取,并且把特征加入waf之中,如果只是单纯的对流量进行正则匹配很容易出现错误

这里的详细解释可以看我学习的原博主(哥斯拉流量特征已经检测思路_Buffedon的博客-CSDN博客),我这里只是个单纯的学习总结。

user-agent特征比较弱,一般不以user-agent作为特征来识别

accpet为弱特征,同样不考虑  

cookie强特征,在使用的天阗入侵检测与管理系统中有一段关于哥斯拉流量的检测

可以看到所谓的cookie结尾处有一个“;”符,但是在正常的请求头中cookie并没有“;”号,这可能是哥斯拉作者的失误,未来这个特征可能会被修复

响应体特征为强特征,

可以明显观察出来的是响应体信息中间为base64编码,前与尾都在0-9与a-f之间,应该是md5编码,所以判断响应体特征就是md5 + base64 + md5,出现该特征的认为是哥斯拉流量,可以写入特征检测规则之中,但是因为需要由响应体请求才能检测,所以安全设备要配置新的策略。

请求体特征 (较强特征)

因为无法准确识别加密的请求体,所以只能采用比较宽泛的匹配条件去匹配请求体特征,宽泛的匹配思路其实就是基于区别大部分正常的数据包,加密数据包自身体现的特征。这种宽泛的匹配在一些情况下可能会带来误报,因此有时候难以作为一种非常有效的检测手法。

哥斯拉支持对加密的数据进行base64编码以及原始的加密raw两种形式的通讯数据,对于请求体的检测也要考虑两种情况。

首先看一下base64编码的数据包,对于这种数据包唯一的识别方法就是识别流量中的base64编码。当然不能仅仅去识别数据包中存在base64编码就拦截,因为很多应用正常的参数也会采用base64编码加密。哥斯拉在进行初始化时会产生一个比较大的数据包,后面进行命令执行等操作时产生的base64数据包会比较比较小。在长度上做一个匹配条件在一定程度上也可以降低误报率。


对于原始加密raw请求体,没想到比较好的方法,目前只想到到了匹配较多的不可见字符的思路。同样的,这种检测方法也会产生误报,像一些对传输安全要求比较高的金融机构,不少应用也会实现一些加密的通讯流量。需要注意的是,在匹配不可见字符时,需要排除文件上传,也就是multipart/form-data数据包,因为文件上传的流量也会包含大量的不可见字符。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值