对,你没有看错,本期我们要研究的目标是哥斯拉。
不过,此哥斯拉非彼哥斯拉,他是继菜刀、蚁剑、冰蝎之后具有更多优点的Webshell管理工具,由java语言开发,如名称一样,他的“凶猛”之处主要体现在:
图1 哥斯拉运行界面
(如此简单的操作界面,实际效果和功能可绝不简单。)
它能实现的功能除了传统的命令执行、文件管理、数据库管理之外,根据shell类型的不同还包括了:
图2 功能界面
介绍的也差不多了,我们来分析看看他到底强在哪。
2、加密模块分析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明文
3、总结不得不佩服开发哥斯拉作者的思路很有创造性,虽然其实现的原理并不是很难,但却有效地避开了同类工具在网络流量中出现的常见特征,加上工具配置了自定义http_header,使得一些利用UA等其他http_header数据的检测效果也大打折扣。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved