安全矩阵

 找回密码
 立即注册
搜索
查看: 5295|回复: 0

APP硬编码密钥渗透测试

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-11-10 22:21:18 | 显示全部楼层 |阅读模式
原文链接:APP硬编码密钥渗透测试


背景

接到一个任务,做app的测试,使用postern+charles+burpsuite抓包,观察到

charles请求流量中有阿里云开放存储服务(oss)的地址



那么app中的资源一定用到了阿里云oss,遂怀疑app可能会编码了oss的登陆账号和密码,闲话不多说,直接开搞!

正文

把apk拖入jadx 发现 qihoo.util, 用360加固了


使用Objection 加载huluwa的dexdump 脱之!


使用grep查找关键字符串

  1. grep -rnl "cn-beijing"
复制代码




定位到 0xc28b2000.dex文件,拖入Jadx,继续搜搜字符串"cn-beijing"




如上图,定位到 OSSutils.sign 方法,该登录方法 传入Accesskeyid和AccessKeySecret 用于登录oss存储桶,这里发现他传了两个加密的字符串,那
么我们跟进AESUtils.decrypt(String str)方法



又调用了AESUtilsChat.decrypt(str)方法,继续跟进:



发现调用了AESUtils.decrypt(1.str),继续跟进,我去这是俄罗斯套娃啊。。。



i==1,发现又调用了 decryptByAes(str)........ 继续跟进去,看看



找到了 decryptByAes方法,又调用了decryptByAESWithKey方法,这个方法
的声明就在下面,终于在我不懈努力下找到了加密的方法,我们可以看到这个方法传了CRYPTKEY,IVSTRING,str 三个值,CRYPTKEY是密码,IVSTRING是偏移量,str是要解密的值,AES_CODE 是加密算法,填充模式,继续查看这几个值是啥



ok,明文的加密值都有了,放到在线解密去解一下



把两个加密字符串解密之后,我们打开阿里云的官方工具OSS文件管理器,填写对应的值,尝试登陆



成功~~



ok,一个密钥硬编码导致阿里云OSS账户接管漏洞到手了。

后话

在渗透测试过程中我们要细心观察流量,遇到这种有endpoint的都可以尝试看看,app内有没有存储的密码。或者我们可以直接在app里搜“Accesskeyid”,“aliyuncs” 等字符串也可以发现此类漏洞
























回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-20 15:01 , Processed in 0.013917 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表