恶意GIF利用Microsoft Teams缝隙劫持帐户
颁布功夫 2020-04-290x00 事务布景
CyberArk的钻研人员发现Microsoft Teams中存在子域名收受缝隙,,,,,该缝隙使攻击者向用户发送恶意GIF图像达到窃取用户数据并劫持Teams账户的主张。。。。。。
Microsoft Teams 是一款基于谈天的智能团队合作工具,,,,,能够同步进行文档共享,,,,,并为成员提供蕴含语音、视频会议在内的即时通讯工具。。。。。。
由于用户不用共享GIF,,,,,只是看到它就能受到影响,,,,,因而该缝隙能够自动传布,,,,,并影响使用Teams桌面或Web浏览器版本的每个用户。。。。。。
0x01 缝隙分析
该缺点与Microsoft Teams处置图像资源身份验证的方式有关。。。。。。每次打开Teams客户端时会创建一个一时的token或access token。。。。。。此令牌以JWT的大局由Microsoft授权和身份验证服务器“login.microsoftonline.com”创建,,,,,允许用户查看幼我或会话中分享的图像。。。。。。
该利用法式使用两个令牌进行身份验证:authtoken和skypetoken。。。。。。为了钻研两个令牌的关系,,,,,我们提取了Teams客户端的流量,,,,,其中获取新闻要求如下:
GET https://amer.ng.msg.teams.microsoft.com/v1/users/ME/conversations/19%3A...%40unq.gbl.spaces/messages?view=msnp24Equivalent|supportsMessageProperties&pageSize=200&startTime=1 HTTP/1.1
Host: amer.ng.msg.teams.microsoft.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
x-ms-session-id: 00000000000-0000-0000-0000-00000000000
BehaviorOverride: redirectAs404
x-ms-scenario-id: 00
x-ms-client-cpm: ApplicationLaunch
x-ms-client-env:
x-ms-client-type:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
ClientInfo:
Accept: json
Sec-Fetch-Dest: empty
x-ms-client-version:
x-ms-user-type: user
Authentication: skypetoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IkVhc3RlckVnZyA6KSIsInR5cCI6IkpXVCJ9.eyJ...
Origin: https://teams.microsoft.com
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Referer: https://teams.microsoft.com/_
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
从报文中看出,,,,,客户端仅发送了一个身份验证令牌,,,,,该令牌能够在“Authentication”字段中找到,,,,,名称为“skypetoken”。。。。。。显然要想发送新闻,,,,,我们必要获得一个Skype令牌。。。。。。Skype令牌从何而来呢??????我们进一步钻研了流量,,,,,找到了Teams客户创建skypetoken要求的会话:
POST /api/authsvc/v1.0/authz HTTP/1.1
Host: teams.microsoft.com
Connection: close
Content-Length: 0
Pragma: no-cache
Cache-Control: no-cache
x-ms-session-id: 00000000000-0000-0000-0000-00000000000
x-ms-scenario-id: 00
x-ms-user-type: user
x-ms-client-env:
x-ms-client-type:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IktleXMiLCJraWQiOiJLZXlzRXZlcnlXaGVyZSJ9.eyJ...
Accept: application/json, text/plain, */*
X-Client-UI-Language: en-us
Sec-Fetch-Dest: empty
ms-teams-authz-type: TokenRefresh
x-ms-client-version:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36
Origin: https://teams.microsoft.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: https://teams.microsoft.com/_
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: {redacted}
从报文能够看出,,,,,authtoken天生了skype token。。。。。。有了这两个令牌,,,,,我们就能够通过挪用Teams API接口,,,,,实现发送新闻、阅读新闻、创建组、增长新用户或从中删除用户组、更改组的权限等职能。。。。。。
authtoken cookie设置是发送给teams.microsoft.team或其他子域名,,,,,钻研人员发现了两个存在劫持攻击缝隙的子域名:
1. aadsync-test.teams.microsoft.com
2. data-dev.teams.microsoft.com
若是攻击者能够让用户接见劫持的子域名,,,,,则受害者的浏览器会将cookie发送到攻击者的服务器,,,,,在收到authtoken之后,,,,,攻击者能够创建一个skype token,,,,,窃取受害者的Teams帐户数据。。。。。。
有了上述被黑的子域名后,,,,,攻击者就能够通过向受害者或群聊的所有成员发送恶意链接(即GIF图像)来利用此缝隙。。。。。。将图像的“src”属性设置为被黑的子域名,,,,,并发送给受害者。。。。。。当接管者打开新闻后,,,,,浏览器就会发送authtoken cookies到被黑的子域名,,,,,而后尝试加载该图像。。。。。。之后攻击者利用authtoken cookies创建一个skype token,,,,,并最终获取受害者的所罕见据。。。。。。
0x02 缝隙验证
1. 钻研人员还做了一个缝隙利用的PoC视频,,,,,如下所示:
https://fast.wistia.com/embed/medias/f4b25lcyzm
2. 此表,,,,,钻研人员还编写了一个剧本,,,,,该剧本可抓取受害者的对话并进行线程处置,,,,,并将其保留到本地文件中,,,,,如图所示:
0x03 结论
由于该缝隙能够自动传布,,,,,类似于蠕虫病毒,,,,,从而导致粉碎指标组织中的所有帐户。。。。。。最终,,,,,攻击者能够接见您组织的Teams帐户中的所罕见据,,,,,网络机密信息、会议和日历信息、竞争性数据、密码、个人信息、贸易打算等。。。。。。这个问题很关键,,,,,由于Microsoft Teams和Zoom等视频会议解决规划是在COVID-19盛行期间,,,,,企业、学堂甚至当局组织选择的重要通讯渠路,,,,,这些利用法式中的数据量巨大,,,,,并且通常蕴含用户名、密码和机密业务信息,,,,,这使它们成为攻击者的重要指标。。。。。。微软于3月20日删除了两个子域的谬误配置的DNS纪录,,,,,并在4月20号颁布了补丁更新,,,,,缓解将来类似的安全风险。。。。。。
0x04 参考链接
https://www.cyberark.com/threat-research-blog/beware-of-the-gif-account-takeover-vulnerability-in-microsoft-teams/
https://securityaffairs.co/wordpress/102344/hacking/hacking-microsoft-teams-accounts.html


京公网安备11010802024551号