클라우드 보안 플랫폼 Netskope의 연구진은 5,400개가 넘는 해킹된 웹사이트를 악용해 방문자에게 악성 페이로드를 배포하는 대규모 범죄 작전을 발견했습니다. 피해를 입은 사이트 대부분은 WordPress와 PrestaShop으로 구축된 소규모 사업체 웹사이트였으며, 공격자들이 코드를 심을 수 있게 한 최초 침해 방식은 여전히 알려지지 않았습니다.
이 캠페인은 EtherHiding으로 알려진 기술을 사용합니다. 해킹된 웹사이트에는 BNB Smart Chain Testnet의 전용 엔드포인트에 있는 스마트 계약에서 다음 페이로드를 호출하는 JavaScript 코드가 포함되어 있습니다. 주로 개발자를 위해 설계된 이 네트워크는 메인넷과 유사한 기능을 무료로 제공하므로 공격 인프라에 비교적 저렴한 수단이 됩니다.
페이로드는 어떻게 피해자에게 전달되는가?
Netskope가 관찰한 단계에서 이 코드는 방문자에게 가짜 CAPTCHA 형태의 사기성 페이지를 표시합니다. 이 페이지는 사용자에게 Windows에서 실행 창을 열고 PowerShell 명령을 붙여 넣도록 요구합니다. 이 단계를 실행하면 최종 페이로드가 다운로드되어 기기에서 실행됩니다.
스마트 계약에 코드를 저장하면 공격자는 감염된 웹사이트를 다시 침해하지 않고도 페이로드를 수정할 수 있습니다. 이후 ClickFix 페이로드는 WebRTC 데이터 채널에 의존하는 초기 구성 요소로 교체되었으며, 이는 캠페인이 동일한 인프라를 고정적으로 사용하지 않는다는 점을 보여줍니다.
브라우저 내부에서 코드를 실행하는 WebRTC 채널
연구진의 설명에 따르면 이 구성 요소는 피어 연결과 데이터 채널을 만든 다음 WebRTC 세션 제안을 생성하고 연결 응답을 수동으로 작성해 세션에 직접 입력합니다. 이를 통해 일반적인 WebRTC 핸드셰이크를 수행하지 않고도 공격자와 데이터 채널을 개설합니다.
그 후 구성 요소는 미리 설정된 명령 및 제어 주소에서 JavaScript 코드를 수신하고, 이를 브라우저 메모리에 임시로 저장한 뒤 채널이 닫히거나 10초가 지나면 실행합니다. 수신된 코드는 디스크에 저장되지 않고 DOM 구조의 헤드에 추가되어 동적으로 실행됩니다.
방어팀이 주목해야 할 점은 무엇인가?
Netskope에 따르면 이 작전은 매일 300개가 넘는 감염된 웹사이트를 사용합니다. 측정 데이터에서도 BNB Testnet의 RPC 엔드포인트에 연결하는 웹사이트 수가 봄부터 계속 증가했으며, 8월에는 하루 약 400개에 이르렀고 최고치는 536개 사이트로 기록되었습니다.
실제로 위험은 해킹된 웹사이트 자체에만 국한되지 않습니다. 웹사이트는 중앙에서 변경할 수 있는 페이로드의 배포 지점으로 전환되며, 이후의 통신은 WebRTC와 관련된 트래픽처럼 보일 수 있습니다. Netskope는 방어 담당자에게 BNB Testnet의 RPC 엔드포인트 집합을 차단하고 일반적으로 웹 서비스와 연관되지 않은 UDP 트래픽을 모니터링할 것을 권고합니다.
출처는 침해가 어떻게 시작되었는지 밝히지 않았으며, 피해자의 이름이나 PowerShell 명령 실행 후 구동되는 최종 페이로드도 언급하지 않았습니다. 따라서 최종 목표의 성격과 방문자 기기에 미친 영향 범위는 여전히 미해결 질문으로 남아 있습니다. 다만 피해를 입은 웹사이트의 규모와 배포 방식의 변화로 인해 이 캠페인은 웹사이트 소유자와 브라우저 및 네트워크 보안팀에 직접적인 중요성을 갖습니다.