
動的QRスワップフィッシング攻撃を実際に実証するための概念実証。
QRLJacking攻撃の別のアプローチを実演するツールキット。サインイン用QRコードのフィッシングを通じて、リモートアカウント乗っ取りを可能にします。
攻撃者がサインイン用QRコードを抽出するために使用するブラウザ拡張機能と、抽出したQRコードをホストされたフィッシングページに表示するサーバーアプリケーションで構成されています。
デモ動画はYoutubeでご覧ください。
詳細はブログをご覧ください: https://breakdev.org/evilqr-phishing
Evil QRで使用されるパラメータは拡張機能とサーバーのソースコードにハードコードされているため、ツールキットをビルドしてデプロイする前に、カスタム値に変更することが重要です。
| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| API_TOKEN | サーバーでホストされているREST APIエンドポイントとの認証に使用されるAPIトークン | 00000000-0000-0000-0000-000000000000 |
| QRCODE_ID | 抽出されたQRコードをフィッシングページに表示されるものと紐付けるためのQRコードID | 11111111-1111-1111-1111-111111111111 |
| BIND_ADDRESS | HTTPサーバーがリッスンするIPアドレスとポート | 127.0.0.1:35000 |
| API_URL | サーバーを指す外部URL。フィッシングページがホストされる場所 | http://127.0.0.1:35000 |
ソースコード内で値を変更すべき場所は以下の通りです:
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";
Chromeの「パッケージ化されていない拡張機能を読み込む」機能を使って拡張機能を読み込めます: https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
拡張機能をインストールしたら、アイコンが常に表示されるように、Chromeの拡張機能ツールバーにピン留めしてください。
Go(バージョン1.20以上)がインストールされていることを確認してください。
ビルドするには、/serverディレクトリに移動して以下のコマンドを実行します:
Windows:
build_run.bat
Linux:
chmod 700 build.sh
./build.sh
ビルドされたサーバーバイナリは./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(デフォルト)Evil QRはKuba Gretzky(@mrgretzky)によって作成され、MITライセンスの下で公開されています。