브라우저 보안 기업 Island의 연구원들이 ChatGPT, Gemini, Claude, Perplexity를 사칭하는 사이트를 통해 광고 대행사 직원, 미디어 구매자, 계정 관리자를 겨냥한 피싱 캠페인을 발견했다. 이러한 페이지는 일반적으로 여러 고객의 예산과 캠페인을 관리할 수 있는 계정을 노리므로, 공격자는 해당 잔액을 사기성 캠페인에 사용하거나 계정을 다른 사이버 범죄자에게 재판매할 수 있다.
이 캠페인은 인공지능 도구와 광고 업무 시나리오를 결합한다. 가짜 사이트는 구매자에게 접근하고, 광고 브리프를 확보하며, 캠페인과 지출을 계획하고 검토하는 데 도움을 준다고 주장한다. 그러나 ‘연결’ 버튼은 실제 로그인 절차를 열지 않고, 페이지 내부에 가짜 Google 창을 표시하며, 주소 표시줄에는 accounts.google.com 도메인에 연결되는 것처럼 보이는 내용이 표시된다.
가짜 브라우저 창은 어떻게 작동하는가?
이 작전은 ‘브라우저 속 브라우저’(Browser-in-the-Browser) 기법에 의존한다. 악성 페이지가 인터페이스 요소와 가짜 주소 및 링크를 사용해 브라우저 내부에 원래 로그인 창과 유사한 창을 생성하는 방식이다. 실제로 이 창은 피해자의 정보를 수집하도록 설계된 iframe이며, 페이지에서 분리할 수 있는 실제 OAuth 창이 아니다.
연구원들에 따르면 피싱 도구는 Windows, macOS, iOS, Android에 맞게 조정되며 다크 모드를 비롯한 다양한 표시 방식도 지원한다. 흐름이 시작되면 사람인 운영자가 이후 단계를 제어할 수 있다. 여기에는 최대 세 번까지 비밀번호를 요청하거나, 문자 메시지 또는 인증 앱으로 전송된 코드를 요청하거나, Okta Push 요청과 Google 승인 메시지 및 QR 코드를 표시하는 과정이 포함된다.
또한 운영자는 피해자가 입력한 코드를 거부하거나, 대기 화면에서 절차를 유지하거나, 언제든 흐름을 종료하고 숨길 수 있다. 연구원들은 이 플랫폼이 Google, Meta, TikTok, Okta 로그인 경로를 지원하며, 제어 명령이 Socket.IO 이벤트를 통해 전송된다는 사실을 확인했다.
더 광범위한 작전의 징후
인프라 분석 결과, 이 캠페인은 가짜 채용 제안과 환급 페이지를 비롯한 여러 미끼를 사용하는 더 큰 작전의 일부인 것으로 나타났다. 이 작전과 연관된 페이지들은 Next.js와 Socket.IO를 사용하고 유사한 API 엔드포인트를 공유하며, 그중 상당수는 Railway 또는 Render에 호스팅된 Vercel 백엔드 인터페이스에 의존한다.
연구원들은 잘못 구성된 공개 GitHub 저장소에서 노출된 오래된 소스 코드를 발견한 뒤 활동을 3월까지 추적할 수 있었다. 또한 Telegram 제어 채널에는 수백 건의 피해자 정보가 전달됐지만, 이 수치만으로 실제로 침해된 계정 수를 입증할 수는 없다.
무엇에 주의해야 하는가?
이번 캠페인은 인공지능 도구가 전면 인터페이스로 표시된다고 해서 로그인 절차가 안전하거나 진짜라는 의미는 아님을 보여준다. 브라우저 속 브라우저 창을 판별할 수 있는 실질적인 징후로는 해당 창을 브라우저 창 밖으로 옮기거나 크기를 조정할 수 없다는 점이 있다. 이러한 기능은 일반적으로 실제 OAuth 창에서 제공된다. 연구원들은 또한 이 플랫폼이 투명한 리버스 프록시에 의존하지 않고, 서비스 제공업체의 인터페이스를 로컬에서 재구성한 뒤 자체 인터페이스를 통해 로그인 정보와 MFA 상태를 수집한다고 지적했다. 이 때문에 네트워크 트래픽은 인공지능 제품과 관련 없는 백엔드 서비스 간의 연결처럼 보인다.