前言
由于在攻防渗透中webshell使用的比较频繁,其中最为广泛使用的就是冰蝎、蚁剑、哥斯拉这三个webshell连接工具,因此各大厂商对其流量特征监控的也是极为严格,所以对其流量特征进行修改是非常有必要的。
环境搭建
使用在线反编译网站
https://www.decompiler.com/ 直接把jar包拖进去就可以了或者可以用idea的插件进行反编译
1 | java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true godzilla.jar godzillaDeCompiler |
新建一个空的java项目
在该项目新建一个lib文件夹将jar包拖进去,然后将反编译好的源码直接拖进去
之后配置lib下的jar包
这里可能不会显示core.ui.MainActivity这个类,需要将反编译源码中的META-INF/MAINFEST.MF放入src/META-INF/MAINFEST.MF中然后将core/ui/MainActivity复制到src下就可以了,到这二开的环境基本就配置好了。
通信流程分析
首先在core.ui.MainActivity类中的interactMenuItemClick方法中下断点,因为这里是点击进入时会触发的监听
这里首先是在数据库中获取这个shell的id,然后从数据库中获取这个shell的信息,传入ShellManage方法中跟进去看看
跟到initShellOpertion方法中去
继续跟到init方法中去
这里会跟到shells.cryptions.phpXor包下的PhpXor类的init方法,因为我们选择是这个loader,这里看到会发送http请求然后获取响应信息继续跟一下
继续走,最终会走到最后一个sendHttpResponse方法中
然后会跟到SendHttpConn方法中开始真正的网路请求
继续走到HttpResponse方法中获取返回信息
分到ReadAllData方法中
这里会走到对应解密起的decode方法中
这里有数据传入时会走进findstr方法
跟到subMiddleStr方法,这里注意下findStrLeft,findStrRinght是初始化时定义好的固定值
然后进入subMiddleStr方法
可以看到就是获取返回包中findStrLeft,findStrRinght之间加密的值传入解密方法
这里我没有去分析加密数据的生成流程只时简单分析了解密流程加密的流程稍微debug下就可以定位到了
二开
改标题
可以改成自己的标志,在MainActivity中的initVariable方法中随意更改
然后buildproject在build Artifacts就可以更改完成了,这里要说明下你想要更改哪个就要把反编译对应的源码复制到src下包也要对齐。
第一次build的时候会报错hash校验错误,因为作者进行了限制,当然我们只需要给他注释掉这段代码就可以绕过了在core包的ApplicationConfig.java文件下
此时就是自己的id了哈哈哈
改请求头的特征
哥斯拉有一个强特征就是cookie带;,这里只需要找到util/http包下的HttpResponse类中修改就可以
删掉就可以了,此时在抓包就能发现没有这个特征了稍后在抓包,把ua头这些也改改,在core.ui.component.frame包下的ShellSetting类中
可以看到已经修改完
请求包修改
先来看一下原版的请求流量
可以看到这里就是一个参数传入后面跟的是经过加密之后数据特征还算是明显的,这里哥斯拉原版给了增加左右请求参数的功能
但是我们并不想每次请求都要修改,所以可以自己给固定下,在core.ui.component.frame包下的ShellSetting类中
这里修改下就可以了
这样看着就像是个正常的请求了
响应包修改
还是同样的先来看看原版的响应包
可以看到是前面16位md5值+加密数据+后16位md5值组成的,这里直接看下生成的模版就可以知道响应包为什么是这样的了
如何修改呢,这里的一个思路就是给他输入html页面加点css样式js代码伪装成正常的页面
改成类似于这样的形式,其中那两串base64编码就是html页面,不仅改这里同时要改java的代码
这样是为了能够找到加密数据从而进行相应的解密,建议大家去debug下这个流程就能明白了。
可以看到其实就比较像正常的流量了。
加密解密修改
这里我没有实现比较懒,可以用gpt帮自己重写加解密函数,主要的逻辑就在
shells.cryptions包下各自加密的类稍微跟一下就可以
免杀模版
这里我没有仔细研究过先留个坑以后再说主要还是自己不会
延伸
这里其实还有其他修改特征方式可以参考如下的文章
1 | https://mp.weixin.qq.com/s/mRlMhi7Zy2fvCdvuQmJh2g |