
동적 QR 스왑 피싱 공격을 실제로 시연하는 개념 증명.
사용자가 로그인 QR 코드 피싱을 통해 원격 계정 탈취를 수행할 수 있도록 하는 QRLJacking 공격의 또 다른 접근 방식을 보여주는 툴킷입니다.
이 툴킷은 공격자가 로그인 QR 코드를 추출하는 데 사용하는 브라우저 확장 프로그램과, 호스팅된 피싱 페이지에 로그인 QR 코드를 표시하기 위해 이를 검색하는 서버 애플리케이션으로 구성됩니다.
데모 동영상은 Youtube에서 시청하세요.
제 블로그에서 자세한 내용을 읽어보세요: https://breakdev.org/evilqr-phishing
Evil QR에서 사용하는 매개변수는 확장 프로그램 및 서버 소스 코드에 하드코딩되어 있으므로, 툴킷을 빌드하고 배포하기 전에 사용자 지정 값으로 변경하는 것이 중요합니다.
| 매개변수 | 설명 | 기본값 |
|---|---|---|
| API_TOKEN | 서버에 호스팅된 REST API 엔드포인트와 인증하는 데 사용되는 API 토큰 | 00000000-0000-0000-0000-000000000000 |
| QRCODE_ID | 추출된 QR 코드를 피싱 페이지에 표시되는 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 라이선스로 배포됩니다.