转载

新版burp-loader-keygen-2.jar

新版burp-loader-keygen-2.jar

之前写过一篇:

《浅析旧版burp-loader-keygen.jar》

http://scz.617.cn:8/misc/201909271517.txt

本文是其后续。

surferxyz的keygen一直支持到Burp 2.0.11beta,终于在2.1版时失效。这是因为2.1版Burp注册算法有变,包括但不限于:

1)License格式有变,包含SHA256签名,旧版keygen没有生成相应字段。

2)不再调用库函数进行关键的大数运算,而是自己实现大数模幂、大数比较,相当于inline展开。这使得旧版keygen针对compareTo()的修改不会起作用。

总的来说,2.1版注册算法整体结构与更早版本相比没有变化,比如DES密钥、大数n等等都沿用旧值。

提供一个新版keygen:

http://scz.617.cn/private/burp-loader-keygen-2.jar

http://scz.617.cn:8/private/burp-loader-keygen-2.jar

burp-loader-keygen-2.jar不是从源码编译来的,是在burp-loader-keygen.jar基础上直接修改而得。

新版keygen与如下版本Burp精确匹配:

新版burp-loader-keygen-2.jar

这个版本Burp在网上能下到,请自行搜索并 校验哈希

新版keygen用法如下:

jdk1.8.0_221/bin/java -jar burp-loader-keygen-2.jar

jdk1.8.0_221/bin/java -noverify -Xbootclasspath/p:burp-loader-keygen-2.jar -jar burpsuite_pro_v2.1.jar

其实可以继续使用旧版keygen生成注册数据,但loader必须用新版:

jdk1.8.0_221/bin/java -jar burp-loader-keygen.jar

jdk1.8.0_221/bin/java -noverify -Xbootclasspath/p:burp-loader-keygen-2.jar -jar burpsuite_pro_v2.1.jar

如有其他疑问,参看旧版keygen的使用说明:

https://www.52pojie.cn/thread-691448-1-1.html

新版burp-loader-keygen-2.jar

新版burp-loader-keygen-2.jar

简单说说思路。

既然无法通过Patch compareTo()完成RSA签名校验,干脆动态修改Burp注册流程中的RSA签名校验代码,就跟x86上暴破一样。

为什么动态修改而不是静态Patch?因为需要修改的代码不是以.class文件形式存在于jar包中,是动态释放到内存中、动态加载进来的。并不是说绝对不可能静态Patch,但那样动静太大,要改的地方较多。

如何动态修改?请用任意一款Java反编译器查看burp-loader-keygen-2.jar,未做任何混淆。我在ClassLoader.defineClass()中动态修改了目标class的7个字节,以此绕过Burp的RSA签名校验。和surferxyz一样,我未做混淆,请自行围观jar包,一般来说7个字节的修改不足以实现明显恶意行为。在哈希匹配的前提下,我为新版keygen的行为背书,相信我个人道德底线的,请放心使用,存疑的,就不要冒这种险了。

为什么用"-Xbootclasspath/p:"?仅仅是最大程度重复旧版keygen套路。如果觉得不爽,换成ClassFileTransformer或其他什么技术手段也是可以的。

不清楚Burp是否有反破解暗桩存在,使用者风险自负。只在Windows+Java 1.8.0_221上测试过,其他OS、其他Java版本如有问题, 不要找我 ,请自行Patch ClassLoader。

关于Spider模块到哪里去了,参看:

https://portswigger.net/blog/burp-2-0-where-are-the-spider-and-scanner

旧版keygen可以通杀1.7至2.0.11beta,新版keygen只能用于2.1,目前看,很难再有通杀型loader,后续只能"case by case"。

发现Burp 1.6版注册流程中直接出现了"burpr0x!"的byte[]形式,看来旧版keygen的"burpr0x!"源自于此。我在前一篇文章中猜测过是否源自暴力穷举,想多了。

需要说明的是,2.1版Burp已有larry_lau的破解,一直以来不断有人质疑之,未分析过他的helper,不做评价。

前几天有网友私下提供了:

新版burp-loader-keygen-2.jar

一是人家没说可以再分享,二是这个版本我不太想剁。等有下面这个版本时或许会继续提供匹配的新版keygen:

新版burp-loader-keygen-2.jar

提供keygen是将之视为Java逆向工程挑战,有购买能力者建议购买正版Burp。

从技术原理上讲,可以不需要keygen、利用loader直接破解成功,之所以搞成现在这种略显复杂的的局面,就是简单地想向旧版keygen的作者致敬,也向所有"永远充满好奇心的人们"致敬。

http://scz.617.cn/misc/201910151519.txt

http://scz.617.cn:8/misc/201910151519.txt

原文  http://wiki.ioin.in/url/LXqW
正文到此结束
Loading...