Facebook WhatsApp TLS令牌泄漏缝隙复现(CVE-2021-24027)
颁布功夫 2021-04-30布景
WhatsApp是美国Facebook的即时通讯利用,在海表占有重大的用户基数。4月14日,安全钻研员Chariton Karamitas披露Android WhatsApp存在令牌泄露缝隙,结合其他缝隙可导致远程代码执行。该缝隙影响WhatsApp v2.21.4.18和WhatsApp Business v2.21.4.18之前的版本,建议用户实时更新到2.21.4.18或更高版本,以躲避该缝隙存在的攻击风险。
缝隙分析
1、令牌泄露缝隙(CVE-2021-24027)
该缝隙存在的原因,是由于WhatsApp将TLS会话登陆后的序列化令牌文件放在了sdcard目录下,该目录并未设置接见权限。
WhatsApp选取TLS1.3/TLS1.2来进行客户端到服务器的通讯,在TLS握手的过程中,通讯双方进行相互认证和密钥协商,服务器身份验证使用非对称加密方式,对于较幼尺寸的嵌入式设备,这是一个推算量极度大的过程。为了削减功耗,节俭CPU周期,提出了会话复原过程,当沉新成立握手时,复用之前的会话信息。
下图中为设置会话缓存文件夹的反编译代码截图及现实文件蹊径截图,WhatsApp将登陆会话缓存TLS1.2和TLS1.3别离放在文件夹SSLSessionCache和watls-sessions中。这些目录在不受�;さ谋聿看娲⑾�。攻击者能够通过物理接触手机获得这些文件,造成令牌泄漏。



2、目录穿越缝隙
WhatsApp有Emoji和照片滤镜热更新职能,我们能够利用中央人来篡改Emoji或照片滤镜热更新时的zip包。zip文件解压反编译代码截图如下:


WhatsApp进行Emoji或照片滤镜热更新时,没有过滤”.//”,可导致目录穿越。若是受害者被中央人劫持,并且攻击者篡改了热更新zip包,其中蕴含由”.//”目录组成的so文件,使其覆盖WhatsApp动态链接库so文件,将导致肆意代码执行。
缝隙利用
前面提到必要通过物理接触获取令牌,局限性较大。若是攻击者共同网络垂钓,发送一个假装的html文件给受害者,当受害者使用Chrome(存在缝隙CVE-2020-6516)打开此html时,执行html中的js代码,遍历sdcard文件夹查找TLS缓存文件,并把文件发送到攻击者指定的服务器上。大体过程如下:
(1)在发送一条新闻时,蕴含新闻的类型、新闻的预览图片、新闻的标题和新闻的现实内容文件四部门。类蹊径X/041的A0l字段批示发送新闻的类型,类蹊径X/0Qe的A03字段批示新闻的预览图片的byte数组,类蹊径X/0Nd的A04字段批示发送新闻的标题,类蹊径X/0M6的A05(Ljava/util/List;Landroid/net/Uri;Ljava/lang/String;LX/041;LX/02l;Z)步骤为最终发送新闻现实内容文件的函数。有关截图如下:




(2)攻击者选取frida的RPC远程挪用职能创建一个函数,并在hook函数中批改第一步中待发送的新闻,将新闻的预览图片更换成拥有吸引力的图片,并挪用X/0M6的A05(Ljava/util/List;Landroid/net/Uri;Ljava/lang/String;LX/041;LX/02l;Z)步骤将新闻发送给受害者(第一个参数为由受害者的WhatsApp地址组成的List,WhatApp地址体式为mobile_number@s.whatsapp.net),若是受害者点击图片,挪用Chrome打开恶意html文件,TLS缓存令牌可能被发送到攻击者服务器。
(3)html文件关键部门截图如下。在成功获取到TLS缓存文件后,我们即可进行中央人攻击。


(4)利用Emoji或照片滤镜热更新职能,通过中央人来篡改Emoji或照片滤镜热更新响应zip包,从而导致远程肆意代码执行(演示视频为了方便,直接使用Charles来仿照热更新覆盖WhatsApp动态链接库so文件,来达到RCE的过程)。
缝隙复现
1、令牌泄露缝隙复现
2、RCE缝隙复现
参考链接:
[1]https://www.census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
[2] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24027
[3] https://github.com/CENSUS/whatsapp-mitd-mitm
[4] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6516
[5]https://bugs.chromium.org/p/chromium/issues/detail?id=1092449
[6] https://youtu.be/sdVqTEXHxxY
[7] https://youtu.be/KO_K0F4W36I
宝运莱官方网站积极防御尝试室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术钻研尝试室之一,微软MAPP打算主题成员,“黑雀攻击”概想首推者。截止目前,ADLab已通过CVE累计颁布安全缝隙近1100个,通过 CNVD/CNNVD累计颁布安全缝隙1000余个,持续维持国际网络安全领域一流水准。尝试室钻研方向涵盖操作系统与利用系统安全钻延注智能终端安全钻延注物联网智能设备安全钻延注Web安全钻延注工控系统安全钻延注云安全钻研。钻研成就利用于产品主题技术钻延注国度沉点科技项目攻关、专业安全服务等。



京公网安备11010802024551号