目录
魔改哥斯拉-JAR反编译打包构建
1、反编译Jar
在线反编译:Java decompiler online / APK decompiler - Decompiler.com
IDEA反编译:
java -cp IDEA_HOME/plugins/java-decompiler/lib/java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true <src.jar> <dest dir>
2、新建项目,lib文件夹,添加源码
- idea新建一个项目。我这里取名为godzilla
选择1.8的SDK
- 在项目根目录里面新建一个lib文件夹,将原版的哥斯拉文件拖进去
- 将反编译后的文件夹放到项目根目录
3、配置模块 工件
- 添加godzilla.jar模块
- 添加工件,选择主类
4、简单测试一下
- 尝试修改上面的内容
- 全局搜索
- 修改并移动到原根
- ctrl+f9 构建项目,然后构建工件
- 运行查看效果
- 显示hash校验失败。
关闭哈希效验
尝试搜索关键词搜索不到,发现是uinicode编码的问题,关键词被转换成了unicode编码
- 修改配置unicode自动转换成中文
- 如果修改后没有效果尝试下面的操作
鼠标移动到unicode编码上,选择更多操作
然后就可以找到关键点了
- 我们将其中的代码注释掉即可
- 再次尝试
修改成功
魔改哥斯拉-防识别-打乱特征指纹
抓包获取流量特征
- 先抓包看看哥斯拉原版的流量特征
这里选择的是第一种加密
这三种对应不同的数据包加密。
POST http://192.168.8.8/gsl.php HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Cookie: PHPSESSID=it3umnh62e33lfvc8g9dpiq8gi;
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Host: 192.168.8.8
Content-type: application/x-www-form-urlencoded
Content-Length: 1277
Connection: close
pass=eval%28base64_decode%28strrev%28urldecode%28%27K0QfK0QfgACIgoQD9BCIgACIgACIK0wOpkXZrRCLhR...省略&key=DlMRWA1cL1gOVDc%2FMjRhVAZCJ1ERUQJKKl9TXQ%3D%3D
哥斯拉的三个强特征
分析多个流量包可以发现哥斯拉有3个强特征
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
除了这三个强特征,还有数据包的加密特征(3种默认加密对应三种不同的特征)
修改强特征
- 全局搜索相关特征,修改相应的字段
修改后
重新构建工件查看效果
发现失败了
- 经过检验是发现修改的是添加而不是更新(因为添加数据在前,更新数据在后,只添加不更改,等于没改)
- 修改更新函数的信息
直接复制过来
如果代码能力够好,还可以在这里实现实时变动,更加牛逼 - 重新验证效果(这里要哥斯拉重新添加shell,否则可能不会更新)
更新成功
魔改哥斯拉-防查杀-新增后门插件
除了修改指纹外,我们还需要修改数据包的加密方式,以及魔改生成的shell以实现免杀的效果。
1、获取shell生成逻辑
我们都知道哥斯拉默认生成的shell是很容易被安全软件检测出来的。所以我们需要修改shell生成逻辑,以达到免杀 。
- 以魔改php的shell为例,其原版shell生成逻辑在这个位置
- 其生成逻辑是根据其同目录下的template目录下的模板文件生成的
也正确对应了哥斯拉生成的php三种加密器
2、修改shell生成逻辑
- 由于本人代码能力有限,只能借组大佬的免杀shell生成工具来生成免杀shell。 这里采用的小刚大佬的免杀工具:GitHub - xiaogang000/XG_NTAI: 用于Webshell木马免杀、流量加密传输
- 先复制原版哥斯拉生成出来的php后门到免杀工具里面生成加密后的免杀shell(这里选择的是第二种加密)
不能用模板里面的代码直接取生成,要用它生成出来的shell去生成免杀shell
注意:图中圈出的变量不能是数字开头否则会报错 - 将生成出来的后门替换掉默认的模板后门
- 编译看看效果
哥斯拉生成第二种加密的php后门,可以发现成功更改了生成逻辑
- 成功连接
- 成功免杀
3、新增插件(表面)
我们知道,哥斯拉强大之处就在于它的插件功能。插件我们也可以尝试自己开放插件。
- 插件目录
- 这里我就先尝试复制里面的一个插件。只更改其名字,看能不能成功新增一个插件。(后续再修改功能)
复制portsacn到同级目录取名portscan2
修改name
- 成功新增了一个一模一样的插件
4、新增插件(功能)
- 插件的界面显示代码目录
- 插件的功能实现代码目录
- 总结:如果要实现新增自定义插件,需要修改三个地方。
界面显示代码、功能实现代码、插件显示框代码
对代码能力要求较高,我能力有限就不做了
更多玩法(进阶)
遇到的问题
- 连接shell时显示initialloperation。。。
查看网站后门是不是被删掉了 - 更新指纹后,抓包发现没有更新
哥斯拉删除原来的shell重新添加shell再试 - shells目录下没有template文件夹
解压原版的jar包,将里面的template文件夹放进来