热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【技术分享】利用WhatsappWeb服务劫持Whatsapp账户

翻译:myswsun预估稿费:120RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿0x00 前言通过实现所有用户间的E2E加密,Whatsapp已经改变了它的形象,从一个令

https://img.php1.cn/3cd4a/1eebe/cd5/8ad8f3bf8da691df.webp

翻译:myswsun

预估稿费:120RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


0x00 前言

通过实现所有用户间的E2E加密,Whatsapp已经改变了它的形象,从一个令人震惊的安全的通信应用程序到被许多人尊重的应用程序的转变。


0x01 Whatsapp简介

Whatsapp帐号基于手机号码。这意味着手机号码就是你的用户名,它也被用来认证。尽管从隐私的角度看这不是完美的,让用户不必再记住另一个密码,他们可能会被重复使用,甚至更糟,通过钓鱼攻击泄漏。

登陆过程的简略描述:

http://p5.qhimg.com/t013435f6b36db17cbd.png

当每次用户启动应用后用户不得不输入他们的手机号。一个验证令牌通过SMS或者电话发送到这个号码。在验证码输入到这个应用后,认证令牌保存在设备中,用户成功登录。

当用户在新设备登录时,需要重复上述过程,并且老设备的授权被取消。Whatsapp不会在他们的服务器上保存老的消息,因此之前的消息不能转移到新的设备上。

当然这个过程是更加复杂的但是这种简化在本文中是适合的。

这种便利伴随着被网络黑客攻击的代价,能够访问电话号码。用户信任移动供应商也是需要的,因为他们对该号码有完全访问权限并且能接管帐号。


0x02 攻击者的角度

从低级的攻击者的角度来看,它很难被绕过。有两个问题:

1. 以一些方式访问受害者的手机号码。正如上面所述,这个能够通过网络攻击或者移动服务供应商实现。尽管能访问到手机号码,但是不能获得任何老的消息或者聊天历史记录,而且受害者会立即意识到一些事发生了,因为他们的手机会注销账户。

2. 进入操作系统,访问磁盘分区等。尽管这能实现,但是代价非常大


0x03 新角色的加入

在2015年,Whatsapp启用了Whatsapp网络服务,能在电脑上面收发消息的网站。为了使用它,浏览器与与手机对等并且手机保持命令。下面是这个过程的简述:

http://p1.qhimg.com/t0136e7ecabada90b4d.png

通过用手机应用扫描网页上的二维码来授权登录。然后用户可以在浏览器中使用Whatsapp,只需要手机是打开的并且能被计算机访问。

这个给攻击者提供了一个方便的脚手架。欺骗用户扫描二维码,将得到将来和过去通信的全部访问权限。


0x04 一个正式的攻击

它非常简单:攻击者只需要欺骗用户扫描恶意的二维码来授权攻击者的浏览器。这个将给他们对于受害者账户的完全访问权限。一个简单的在线抽奖可以作为诱惑,受害者需要扫描二维码进入。

攻击过程描述:

http://p2.qhimg.com/t01444b5f71514ea484.png

为了更加复杂,Whatsapp不会在他们的注册页面展示静态的二维码,会几秒钟生成一个新的二维码。这个阻止了攻击者简单的复制并发布到另一个网站上。

在我的演示中我绕过这个障碍,通过使用脚本持续抓取二维码,并使用websocket连接发送给“受害者”。

缺陷:

用户能看到他们授权的浏览器设备列表

如果过另一个浏览器登入了受害者会收到一个警告

这是个社工攻击:受害者必须参与给予权限

但是,对于粗心的人来说这还是个有效的手段。


0x05 演示

我开发的工具使用selenium获取QR代码并使用express.js + socket.io在单独的页面上显示它们。如果受害者使用他们的手机扫描这个二维码,则document.COOKIE和selenium浏览器的本地存储将被转储到攻击者计算机上的文件中。然后可以使用获取的数据使用任何浏览器登录受害者的帐户。(代码


0x06 修复手段

没有修复手段避免这种攻击,除了改进认证过程。我认为当他们开发网络客户端时就已经意识到了这种可能性,但是他们不认为这是个大问题。


推荐阅读
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 河北省工业和信息化厅公文收发管理系统
    河北省工业和信息化厅及其下属各地市工信管理部门之间的文件传输主要依赖于纸质或电子邮件方式,这种方式存在效率低下、安全性差等问题。为了解决这些问题,省工信厅计划开发一套公文收发管理系统,实现文件的电子化和统一管理。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 元宇宙为加密行业注入了无限想象空间,并显著推动了该领域的发展。从早期的卡牌游戏、数字艺术、头像艺术、生成艺术到如今火热的GameFi,这一进程不断演进。当前及未来的GameFi不仅在技术上不断创新,还在用户体验和经济模型方面取得了显著进展。本文探讨了NFT链游系统的构建方法及其在元宇宙游戏开发中的未来前景,旨在为开发者提供有价值的参考和指导。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
author-avatar
mobiledu2502911607
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有