
关于Evil QR
Evil QR是一个针对二维码安全的安全测试和攻击模拟工具,并且能够给广大研究人员演示一种新型的QRLJacking(即QR二维码登录劫持)攻击技术,在这种技术场景下,广大研究人员可以实现通过登录二维码钓鱼来执行远程帐户接管操作。
该PoC旨在针对教育目的开发和设计,主要用于帮助广大研究人员学习和研究二维码方面的安全问题,并以此来提升二维码机制的安全性。
PoC组成
该PoC由一个浏览器扩展和一个服务器端应用程序组成,其中的浏览器扩展用于提取登录二维码,而服务器端应用程序负责检索登录二维码并将其显示在托管的网络钓鱼页面上。
参数配置
Evil QR所使用的参数是硬编码在浏览器扩展和服务器端应用程序源代码中的,因此我们需要在构建和部署PoC工具之前修改以使用自定义值:
参数 | 描述 | 默认值 |
API_TOKEN | 用于REST API节点(托管在服务器上)的身份验证API令牌 | 00000000-0000-0000-0000-000000000000 |
QRCODE_ID | 跟钓鱼页面上显示的二维码进行绑定的二维码ID | 11111111-1111-1111-1111-111111111111 |
BIND_ADDRESS | 要监听的HTTP服务器IP地址和端口 | 127.0.0.1:35000 |
API_URL | 指向服务器的外部URL,用于托管钓鱼页面 |
下面给出的是对应的文件配置和要修改的参数值:
server/core/config.go:
const API_TOKEN = "00000000-0000-0000-0000-000000000000" const BIND_ADDRESS = "127.0.0.1:35000"
server/templates/index.html:
const API_URL = "http://127.0.0.1:35000"; const QRCODE_ID = "11111111-1111-1111-1111-111111111111";
extension/background.js:
const API_TOKEN = "00000000-0000-0000-0000-000000000000"; const API_URL = "http://127.0.0.1:35000"; const QRCODE_ID = "11111111-1111-1111-1111-111111111111";
环境配置
我们可以直接点击【这里】下载Chrome浏览器扩展,并通过Load unpacked功能加载扩展应用。
扩展安装完成后,请确保已经将图标显示在了Chrome的扩展工具条中,并让图标保持可见。
服务器端
首先,我们需要确保本地设备上安装并配置好了Go v1.20环境。
接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/kgretzky/evilqr.git
然后切换到项目的/server目录中,并运行下列命令即可完成项目构建。
Windows:
build_run.bat
Linux:
chmod 700 build.sh ./build.sh
构建完成后的服务器端应用源码可以在./build/目录中找到。
PoC使用
首先,下列命令运行服务器端的构建源码:
./server/build/evilqr-server
然后在安装了Evil QR扩展的Chrome浏览器中打开任意支持的站点,
https://discord.com/login https://web.telegram.org/k/ https://whatsapp.com https://store.steampowered.com/login/ https://accounts.binance.com/en/login https://www.tiktok.com/login
确保登录登录二维码可见之后,之后点击Evil QR扩展,如果二维码被识别,图标将会变色。
最后一步,打开服务器端的钓鱼页面URL即可:
http://127.0.0.1:35000
技术演示
视频地址:【点我观看】
许可证协议
该PoC的源代码开发与发布遵循MIT开源许可证协议。
PoC项目地址
Evil QR:【GitHub传送门】
参考资料
https://breakdev.org/evilqr-phishing
https://www.youtube.com/watch?v=8pfodWzqMcU
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)