首页
社区
课程
招聘
[原创]Brute Ratel C4 Keygen
发表于: 2022-10-18 00:36 17846

[原创]Brute Ratel C4 Keygen

2022-10-18 00:36
17846

分析

Brute Ratel C4简称brc4,一款C2工具,功能和CobaltStrike差不多,界面花里胡哨,用了不少开源黑科技,据作者说前段时间被竞争对手Mdsec泄露到VT,然后又被老毛破解了...公布的版本是v1.2.2,给的license文件只支持到2023-01-01,于是打算抽空看看作者是怎么保护的。

 

压缩包网上都有,先看目录结构:
图片描述
包只支持linux,可在ubuntu上自测,界面是Qt写的,commander-runme是运行脚本,.brauth是license,brute-ratel-linx64是server,启动会进行license验证。

 

启动参数:./brute-ratel-linx64 -ratel -a admin -p 123456 -h 127.0.0.1:8443 -sc cert.pem -sk key.pem

 

先扫一下如图:
图片描述
可知server是Go写的,正好试下ida 7.7解析metadata,发现没识别到,搜了字符串发现是1.18,ida8.0(705K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Z5k6i4S2Q4x3X3c8J5j5i4W2K6i4K6u0W2j5$3!0E0i4K6u0r3M7s2u0G2k6s2g2U0N6s2y4Q4x3V1k6A6k6r3q4Q4x3V1k6F1k6i4N6K6i4K6u0r3z5q4)9#2k6U0m8Q4x3V1k6Q4c8f1k6Q4b7V1y4Q4z5o6W2Q4c8e0k6Q4z5o6W2Q4z5p5c8Q4c8e0k6Q4z5e0c8Q4b7f1k6Q4c8e0k6Q4z5p5y4Q4z5o6q4Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
图片描述

 

后面用了下0xjiayu兄弟的go_parser,正好支持到1.18,问题不大,把符号贴上去后就感觉没什么玩的了。

 

看了看逻辑:

1
2
3
4
5
6
7
8
main_main
  main_product_info
    stat //判断.brauth文件是否存在
    if (flase)
      main_validate_activation_key //从服务端校验激活key,生成.brauth
    main_DecryptBlob //解密.brauth,ECB mode
      main_KeyExpansion //密钥扩展128
      main_decryptmsg //xAES解密轮函数

xxxAES轮函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
AddRoundKey(10, state, RoundKey);
InvShiftRows(state);
InvSubBytes(state);
for (round = 9; round > 0; --round)
{
  InvShiftRows(state);
  AddRoundKey(round, state, RoundKey);
  ShiftRows(state);
  InvMixColumns(state);
  InvShiftRows(state);
  InvSubBytes(state);
}
MixColumns(state);
AddRoundKey(0, state, RoundKey);

开始以为作者留了小动作,上linux_server远程调试看了看其它地方,再确认了下密钥扩展的结果,然后只是轮函数简单改了改-。-

KeyGen

再看下license结构:

1
2
3
4
加密前:01-01-2000:01-01-3000:YourLicense:foo@foo.com:Just 4 fun
格式:start:expired:type:email:note
加密后:v8l7HAP1rnsFZLwL:k9eYKc+dzgi/ybsVCfgVowQwS3Nufd1NdooFsXKPvxgDRE2pWVlTPPRyjcB9vqeaqFC4Mgj/Nv8Qq7+QvixxoQ==
格式:key:base64(xxxAES_ECB(data))

最后附上一个keygen,有兴趣的可以玩玩...
图片描述


[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-10-18 00:36 被BlackINT3编辑 ,原因:
上传的附件:
收藏
免费 6
支持
分享
最新回复 (7)
雪    币: 11706
活跃值: (6035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2022-10-18 10:49
0
雪    币: 1038
活跃值: (925)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
感谢分享 思路学习了
2022-11-12 00:38
0
雪    币: 2575
活跃值: (532)
能力值: ( LV6,RANK:85 )
在线值:
发帖
回帖
粉丝
4
这个强!
2022-12-26 17:31
0
雪    币: 10
活跃值: (2856)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
is there version 1.4.4 download link ?
2023-3-4 18:12
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
想请教一下,既然这个加密.brauth的算法是一个对AES进行一点修改的算法,那么加密它的时候的密钥是否是固定的呢?
2023-11-3 09:25
0
雪    币: 1725
活跃值: (3314)
能力值: ( LV13,RANK:327 )
在线值:
发帖
回帖
粉丝
7
RC_L1dde11 想请教一下,既然这个加密.brauth的算法是一个对AES进行一点修改的算法,那么加密它的时候的密钥是否是固定的呢?
当然
2023-12-28 12:50
0
雪    币: 801
活跃值: (1414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
请教一下师傅师傅是怎么调试出解密函数的,使用了特殊调试器吗,复现调试解密函数的时候总是触发不到,或者多线程的原因无法无法冻结时间,用gdb 总是各种问题 vfork 事件等等系列。
2025-1-27 04:23
0
游客
登录 | 注册 方可回帖
返回