-
-
[分享] 攻击工具分析-哥斯拉(Godzilla)
-
发表于: 2021-7-30 14:27 4941
-
一、简介
对,你没有看错,本期我们要研究的目标是哥斯拉。
不过,此哥斯拉非彼哥斯拉,他是继菜刀、蚁剑、冰蝎之后具有更多优点的Webshell管理工具,由java语言开发,如名称一样,他的“凶猛”之处主要体现在:
全部类型的shell能绕过市面大部分的静态查杀
流量加密能绕过过市面绝大部分的流量Waf
Godzilla自带的插件是冰蝎、蚁剑不能比拟的
图1 哥斯拉运行界面
(如此简单的操作界面,实际效果和功能可绝不简单。)
它能实现的功能除了传统的命令执行、文件管理、数据库管理之外,根据shell类型的不同还包括了:
- MSF联动
- 绕过OpenBasedir
- ZIP压缩 ZIP解压
- 代码执行
- 绕过 DisableFunctions
- Mimikatz
- 读取服务器 FileZilla Navicat Sqlyog Winscp XMangager 的配置信息以及密码
- 虚拟终端 可以用netcat连接
- Windows权限提升 (2012-2019烂土豆)
- 读取服务器 谷歌 IE 火狐 浏览器保存的账号密码
- Windows权限提升烂土豆的C#版本 甜土豆
- 支持 哥斯拉 冰蝎 菜刀 ReGeorg 的内存shell 并且支持卸载
- 屏幕截图
- Servlet管理 Servlet卸载
- 内存加载Jar 将Jar加载到 SystemClassLoader
图2 功能界面
介绍的也差不多了,我们来分析看看他到底强在哪。
二、加密模块分析
- 分析脚本类型:PHP_XOR_base64
- 工具版本:3.03
1.先进行反编译,加密代码的位置位于:”shells” packet->”cryptions” packet->”phpxor” packet->phpxor class
图3 加密函数位置
从代码中可以分析出,发送的payload内容先经过XOR加密后,再将密文进行base64编码,最后进行URL编码,再发给客户端。
图4 加密函数
XOR加密的密钥来自用户提供的密钥经过MD5的32位摘要后,取前16位的值。
图5 密钥生成
图6 数据主要处理流程
2. 生成shell脚本
接下来查看手动生成的脚本内容,可以看到shell对数据的处理方式基本和工具源码中的分析一致,变量key的值也确实为进行MD5摘要后的前16位的值。
图7 shell脚本内容
图8 密钥的值为'key'
其中,encode()函数主要是进行XOR操作。
主要的数据处理代码为:
$data=encode(base64_decode($_POST[$pass]),$key)
(代码先记下来,一会可以利用到。)
三、 尝试对数据进行解密
利用wireshark抓取攻击的流量包。
图9 流量包
抓取数据中等号之后的内容,即被加密编码后的数据内容,然后先将内容进行URL解码。
图10 URL解码
再利用第二点提到的代码,写一个简单的解密脚本,将”$POST”的内容替换为URL解码后的数据。
图11 解密脚本
再执行脚本,瞬间感觉豁然开朗了有没有,明文出现,说明分析的思路是正确的。简单分析了一下payload的内容,包含run、bypass_open_basedir、formatParameter、evalFunc等二十多个功能函数,具备代码执行、文件操作、数据库操作等诸多功能。
图12 payload明文
三、总结
不得不佩服开发哥斯拉作者的思路很有创造性,虽然其实现的原理并不是很难,但却有效地避开了同类工具在网络流量中出现的常见特征,加上工具配置了自定义http_header,使得一些利用UA等其他http_header数据的检测效果也大打折扣。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课