分析某app的密码加密

VSole2022-03-04 22:10:31

1、抓包,可以看到密码是被加密过的:

2、ida打开对应so,发现没有被混淆,但是算法应该是有很大问题:

3、转换一下16进制的公钥, 我这里使用py的cryptography转换的,发现正好是1024size的共钥模数,指数对应的是65537。

然后点进去encrypt_one_group后继续分析:

4、进去第一反应就是很懵圈,为什么会有一个init和crypt,并且上面已经encrypt了,而且看这个init多半跟rsa没多大关系,看这个s是被填充了128个无符号的0,之后在初始化这个s的数组,这就更加确定下面两个函数的操作是加密之后的,因为rsa加密长度过长会进行切分,每一轮不大于117,等于117输出的位数就是128(不了解的可以去了解一下)

5、用frida 直接hook一下ch_crypt的入参和最后a7的返回值,可以看到s init之后的128位数组。

crypt前s

a7 正好是128位,说明已经被rsa加密好了:

crypt后

a7

6、先用c还原一下crypt这个函数, 这里就不贴代码了,大致看一下这个函数的内容是在做异或运算:

重点是这句代码,在c里面打印一下每轮 (result + ((v6 + (result + v5)) & 0x7F)) 的值:

这个ch_hex_map才是最终异或的映射表,打印一下结果:

这不完全对应上了吗?

7、现在就差这个rsa不知道啥情况了,去里面大概瞟一眼,然后先把流程走通,这都是很明显的pkcs1v5的填充了。

PKCS1-v1_5 编码

a) 生成一个 伪随机非零串PS , 长度为 k – mLen – 3, 所以至少为8, 因为 k-mLen>11

b) 将PS, M,以及其他填充串 一起编码为 EM, 长度为 k, 即:

EM = 0×00 || 0×02 || PS || 0×00 || M

重点来了:

1、正常base64编码字符串 A-Za-z0-9+/=,而它这个一看很像但又不像,如果拿下面这个顺序的编码加密出来的话差别又很大,这是因为它自己的base64函数把这个编码又重新拆分成A-Za-z0-9-_=。

2、开头第一张图片有一个占位0x1,这也是一个很重要的坑,最后一位永远是0x1。

总结:

1、计算明文加密好的长度+1填充0x1;

2、分组rsa pkcs1v5加密 之后并与128位码表异或;

3、base64,注意编码顺序;

后面也是登陆成功了。

异或rsa
本作品采用《CC 协议》,转载必须注明作者和本文链接
经过 16 轮迭代的 DES 算法已被证明具有充分的对抗统计分析和线性分析的能力。DES 算法的改进方案对 DES 算法的改进原则是使用 RSA 保护DES 密钥,同时在加密前,对明文增加乱序和干扰处理。为了增加暴力破解的难度,密文包头部字段中必须包含一些有助于提高暴力破解难度的信息,并且不能显著影响密文包头的 RSA 解密效率。乱序加密算法为,表明第i 组的密文由明文各组的第比特排列而成。
分析某app的密码加密
2022-03-04 22:10:31
) & 0x7F)) 的值:这个ch_hex_map才是最终异或的映射表,打印一下结果:这不完全对应上了吗?总结:1、计算明文加密好的长度+1填充0x1;2、分组rsa pkcs1v5加密 之后并与128位码表异或;3、base64,注意编码顺序;后面也是登陆成功了。
Typora 授权解密与剖析
2021-12-30 16:33:56
11月23日,Typora 正式发布 1.0 版本,进入了收费时代。Typora之于我如你所见,这一篇文章就是使用Typora所写。自搭建个人博客起,Typora就成为了我主要的写作平台。如今,typora进入收费阶段,不乏使用者被迫迁移至其他写作工具上。敬告请勿使用盗版,支持正版授权,文中内容仅作学习和讨论,请不要从事任何非法行为。
ProxyOracle漏洞分析
2021-12-07 14:03:00
NO.1 前言2021年8月份,oracle又公开了代理漏洞ProxyOracle、ProxyShell。本文则分析ProxyOracle具体的一些攻击细节。Padding Oracle攻击根据加解密时是否用同一组密钥,可以分为对称加密和非对称加密。对称加密中又存在流加密与分组加密两种加密方法。
如何设计消息加密?
2023-12-22 11:19:17
如何设计消息加密
2022 年 3 月,也就是 LockBit 2.0首次出现不到一年后 ,研究人员发现了即将 推出 的 LockBit勒索软件新变种。 LockBit 3.0,又名 “LockBit Black”, 要到 6 月下旬才会发布,这与该组织新的泄密站点和漏洞赏金计划的推出相吻合。此后,一位研究人员分享 了 LockBit 3.0 的样本,以及他对新变体的初步分析。
主流webshell工具流量分析
有sleep反调试,把sleep nop掉。这里读取了名称为cod的资源,用resource hacker把资源复制下来。然后向下执行,这里是一个对cod资源进行解密的地方。这里要注意的是如果检测到调试器,那么byte_7FF6DA64F000[3]将会被赋值为36。所以要把这个if语句通过修改ZF标志位的方式来绕过反调试。cod资源解密脚本如下:arr = [0x18, 0x57, 0x68, 0x64]. 用ida打开,看到有花指令。
起底GoldenJackal APT组织
2023-06-05 09:42:08
GoldenJackal是一家APT组织,自2019年开始活跃,通常针对中东和南亚的政府和外交机构。攻击途径 研究人员发现攻击者假冒Skype安装程序,使用恶意Word文档。“Gallery of Officers Who Have Received National And Foreign Awards.docx”的文件似乎是合法的,旨在收集巴基斯坦政府授予勋章的官员的信息。
VSole
网络安全专家