首页
社区
课程
招聘
[原创]Android协议分析(四)——Http/Https中间人攻击APP升级劫持漏洞:解析CNVD-2021-40179和CNVD-2021-45684
发表于: 2021-7-14 20:45 14866

[原创]Android协议分析(四)——Http/Https中间人攻击APP升级劫持漏洞:解析CNVD-2021-40179和CNVD-2021-45684

2021-7-14 20:45
14866

avatar

客户端不验证服务器是否可信,即checkServerTrusted()方法为空

不检查站点域名与站点证书的域名是否匹配

接收任意域名

(1)Fiddler环境配置

​ 参考链接:Fiddler环境配置

(2)安装酷我音乐,并抓取响应请求

avatar

然后,我们可以发现程序下载完成后,显示正常的升级界面

avatar

我们进一步分析报文的详细信息:

avatar

我们可以知道这条请求就是程序的下载请求,对应的就是下载的apk,我们尝试劫持这条请求,将apk替换成我们的恶意锁机程序

(3)劫持攻击

​ 1)下劫持响应请求断点,可以让我们在劫持特定的请求响应

avatar

​ 2)通过HFS文件管理服务器,来模拟请求的服务器

avatar

注意路径应与apk下载请求url保持一致,域名设置为我们本机的ip地址

​ 3)重新安装,开始升级

avatar

此时,我们将下载请求给劫持下来了,我们只需要更改域名为我们ip地址,再响应就可以下载我们的锁机程序了

avatar

avatar

此时我们发现我们的锁机样本被用户成功的下载,用户在未知情况下打开,便被锁机了

(1) 安装酷狗音乐,抓取响应请求

avatar

(2)劫持升级

avatar

我们用文件服务器模拟该url:

avatar

我们将主机的域名解析更改为我们本地的ip:

avatar

我们查取我们恶意程序的hash值:

avatar

我们劫持更新响应的url:

avatar

开始升级替换:

avatar

我们成功替换hash值,并点击升级:

avatar

avatar

(1)配置stunnel,实现https下载

stunnel配置:详细见stunnel配置

(2)我们劫持请求报文

avatar

我们将响应的报文保存下来,并修改其对应的MD5值

(3) 我们用HFS模拟下载的URL链接

avatar

(4) 由于是采用https传输,我们需要借助工具stunnel,才能实现https传输

avatar

我们配置好后,就可以https访问了

(5)我们进行截获

avatar

avatar

​ 重新启动,我们发现可以升级截获成功

我们总结了当下APP升级劫持攻击的常见形式,并分别对三种不同形式的升级劫持攻击做了一个具体的案例描述,可以发现都是通过抓包劫持替换实现的,恶意攻击者可以在用户手机中安装证书,就可以使用http/https中间人攻击,来劫持升级报文。我们可以发现当下大部分主流的APP都存在这种漏洞,并以此对提交的三个漏洞做了一个讲解,对于一些其他的APP,通常采用加密算法加密,这样获取报文的情况较难。

APP升级劫持漏洞是最常见的通用型逻辑缺陷漏洞,攻击者一般通过劫持APP升级的响应,通过伪造和篡改的方式来实现中间人攻击,从而向应用中注入恶意程序
CNVD-2021-40179和CNVD-2021-45684便是采用中间人劫持攻击,来实现APP的恶意劫持替换
现在市面上常用的APP,基本采用http明文传输——>https加密传输——>http/https+hash校验三种方式,我们依次对酷我音乐、酷狗音乐、学而思网校等主流APP做漏洞测试,来描述中间人攻击的具体实现
APP升级劫持漏洞是最常见的通用型逻辑缺陷漏洞,攻击者一般通过劫持APP升级的响应,通过伪造和篡改的方式来实现中间人攻击,从而向应用中注入恶意程序
CNVD-2021-40179和CNVD-2021-45684便是采用中间人劫持攻击,来实现APP的恶意劫持替换
现在市面上常用的APP,基本采用http明文传输——>https加密传输——>http/https+hash校验三种方式,我们依次对酷我音乐、酷狗音乐、学而思网校等主流APP做漏洞测试,来描述中间人攻击的具体实现
中间人攻击(MITM)是指攻击者与通讯的两端分别独立的联系,并交换其所收到的数据,使得通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都会被攻击者完全控制
在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容
中间人攻击(MITM)是指攻击者与通讯的两端分别独立的联系,并交换其所收到的数据,使得通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都会被攻击者完全控制
在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容
 
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType){
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType){
}
HostnameVerifier hv = new HostnameVerifier(){
@Override
public boolean verify(String hostname,SSLSession session){
return true;
}
}
HostnameVerifier hv = new HostnameVerifier(){
@Override
public boolean verify(String hostname,SSLSession session){
return true;
}
}
SSLSocketFactory sf;
......
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 10
支持
分享
最新回复 (9)
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
大佬你好,我是猎头。希望和你结识!我目前专注在安全领域的招聘上;目前有一个TX的Android逆向岗位希望和你沟通,安全实验室的;能否回复一下你的邮箱或者其他联系方式~
2021-7-15 11:43
0
雪    币: 105
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学到了,谢谢分享
2021-7-15 11:51
0
雪    币: 7201
活跃值: (21965)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
4
wx_Ella 大佬你好,我是猎头。希望和你结识!我目前专注在安全领域的招聘上;目前有一个TX的Android逆向岗位希望和你沟通,安全实验室的;能否回复一下你的邮箱或者其他联系方式~
您好,目前正在读研期间,可能暂时不会实习工作哈
2021-7-15 11:52
0
雪    币: 292
活跃值: (416)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这些编号CVND-2021-169938之类的是什么?

如果是漏洞编号的话网上也查不到..CNVD上也没搜索到
2022-3-30 09:33
0
雪    币: 7201
活跃值: (21965)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
6
芝士蛋挞 这些编号CVND-2021-169938之类的是什么? 如果是漏洞编号的话网上也查不到..CNVD上也没搜索到
有一些是还没到公开日期 所以还搜不到 一些事可以搜到的
2022-3-30 12:42
1
雪    币: 6036
活跃值: (7603)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
随风而行aa 您好,目前正在读研期间,可能暂时不会实习工作哈[em_1]
您好大佬,能问一下您研究生读的什么方向嘛,就是计算机类的什么专业是研究Android逆向的啊,我本科是软件工程专业,我明年就该准备考研了,想知道您研究生就读的什么方向啊
2022-8-5 15:46
0
雪    币: 7201
活跃值: (21965)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
8
以和爲貴 您好大佬,能问一下您研究生读的什么方向嘛,就是计算机类的什么专业是研究Android逆向的啊[em_13],我本科是软件工程专业,我明年就该准备考研了,想知道您研究生就读的什么方向啊[em_51]
我是网络安全 研究移动安全方向
2022-8-5 16:01
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
大佬请问一下,像这种中间人劫持apk升级 应该如何防范?或者是像提交cnvd 如何修复这种
2022-11-27 12:43
0
雪    币: 7201
活跃值: (21965)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
10
菜鸡雪 大佬请问一下,像这种中间人劫持apk升级 应该如何防范?或者是像提交cnvd 如何修复这种
防护很多种 比如https加密,或使用加密算法对重要内容加密,MD5校验等等 
2022-11-28 14:46
0
游客
登录 | 注册 方可回帖
返回
//