
Prova de conceito para demonstrar ataques de phishing por troca dinâmica de QR na prática.
Toolkit que demonstra uma outra abordagem do ataque QRLJacking, permitindo realizar a tomada de conta remota, através de phishing de código QR de login.
Ele consiste em uma extensão de navegador usada pelo atacante para extrair o código QR de login e um aplicativo servidor, que recupera os códigos QR de login para exibi-los nas páginas de phishing hospedadas.
Assista ao vídeo de demonstração no Youtube
Leia mais sobre isso no meu blog: https://breakdev.org/evilqr-phishing
Os parâmetros usados pelo Evil QR estão codificados diretamente no código-fonte da extensão e do servidor, por isso é importante alterá-los para usar valores personalizados, antes de compilar e implantar o toolkit.
| parâmetro | descrição | valor padrão |
|---|---|---|
| API_TOKEN | token da API usado para autenticar com endpoints REST hospedados no servidor | 00000000-0000-0000-0000-000000000000 |
| QRCODE_ID | ID do código QR usado para associar o código QR extraído com o exibido na página de phishing | 11111111-1111-1111-1111-111111111111 |
| BIND_ADDRESS | Endereço IP com porta que o servidor HTTP irá escutar | 127.0.0.1:35000 |
| API_URL | URL externa apontando para o servidor, onde a página de phishing será hospedada | http://127.0.0.1:35000 |
Aqui estão todos os lugares no código-fonte onde os valores devem ser modificados:
const API_TOKEN = "00000000-0000-0000-0000-000000000000"
const BIND_ADDRESS = "127.0.0.1:35000"
const API_URL = "http://127.0.0.1:35000";
const QRCODE_ID = "11111111-1111-1111-1111-111111111111";
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";
Você pode carregar a extensão no Chrome, através do recurso Load unpacked:
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
Depois que a extensão estiver instalada, certifique-se de fixar seu ícone na barra de ferramentas de extensões do Chrome, para que o ícone fique sempre visível.
Certifique-se de ter o Go instalado na versão pelo menos 1.20.
Para compilar, vá para o diretório /server e execute o comando:
Windows:
build_run.bat
Linux:
chmod 700 build.sh
./build.sh
Os binários do servidor compilados serão colocados no diretório ./build/.
./server/build/evilqr-serverhttps://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
http://127.0.0.1:35000 (padrão)Evil QR é feito por Kuba Gretzky (@mrgretzky) e é lançado sob a licença MIT.