渗透攻击工具分析:哥斯拉(Godzilla)
时间:2023年05月30日
/来源:网络
/编辑:佚名
简介
对,你没有看错,本期我们要研究的目标是哥斯拉。
不过,此哥斯拉非彼哥斯拉,他是继菜刀、蚁剑、冰蝎之后具有更多优点的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)
(代码先记下来,一会可以利用到。)
3. 尝试对数据进行解密
利用wireshark抓取攻击的流量包。
图9 流量包
抓取数据中等号之后的内容,即被加密编码后的数据内容,然后先将内容进行URL解码。
图10 URL解码
再利用第二点提到的代码,写一个简单的解密脚本,将”$POST”的内容替换为URL解码后的数据。
图11 解密脚本
再执行脚本,瞬间感觉豁然开朗了有没有,明文出现,说明分析的思路是正确的。简单分析了一下payload的内容,包含run、bypass_open_basedir、formatParameter、evalFunc等二十多个功能函数,具备代码执行、文件操作、数据库操作等诸多功能。
图12 payload明文
总结
不得不佩服开发哥斯拉作者的思路很有创造性,虽然其实现的原理并不是很难,但却有效地避开了同类工具在网络流量中出现的常见特征,加上工具配置了自定义http_header,使得一些利用UA等其他http_header数据的检测效果也大打折扣。
对,你没有看错,本期我们要研究的目标是哥斯拉。
不过,此哥斯拉非彼哥斯拉,他是继菜刀、蚁剑、冰蝎之后具有更多优点的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)
(代码先记下来,一会可以利用到。)
3. 尝试对数据进行解密
利用wireshark抓取攻击的流量包。
图9 流量包
抓取数据中等号之后的内容,即被加密编码后的数据内容,然后先将内容进行URL解码。
图10 URL解码
再利用第二点提到的代码,写一个简单的解密脚本,将”$POST”的内容替换为URL解码后的数据。
图11 解密脚本
再执行脚本,瞬间感觉豁然开朗了有没有,明文出现,说明分析的思路是正确的。简单分析了一下payload的内容,包含run、bypass_open_basedir、formatParameter、evalFunc等二十多个功能函数,具备代码执行、文件操作、数据库操作等诸多功能。
图12 payload明文
总结
不得不佩服开发哥斯拉作者的思路很有创造性,虽然其实现的原理并不是很难,但却有效地避开了同类工具在网络流量中出现的常见特征,加上工具配置了自定义http_header,使得一些利用UA等其他http_header数据的检测效果也大打折扣。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03