SOC Prime Bias: 중간

03 Jun 2026 16:32 UTC

DriveSurge, ClickFix 및 가짜 업데이트 Drive-By 공격을 대규모로 사용

Author Photo
SOC Prime Team linkedin icon 팔로우
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

DriveSurge는 합법적인 웹사이트를 손상시키고 악성 JavaScript를 삽입하여 방문자를 zTDS로 알려진 오픈 소스 트래픽 분배 시스템을 통해 이동시키는 신흥 초기 액세스 브로커입니다. 이 공격자는 가짜 브라우저 업데이트 페이지나 ClickFix 스타일의 알림을 제공하여 macOS 및 Windows 사용자에게 속임수 다운로즈나 악성 PowerShell 명령을 통해 맬웨어를 전달합니다. 이 인프라에는 수천 개의 .icu 도메인이 NiceNIC를 통해 등록되고 불법 공유 호스팅 인프라에서 호스팅됩니다. 캠페인의 범위는 광범위하며 여러 브라우저와 운영 체제에 걸쳐 사용자들을 목표로 합니다.

조사

연구자들은 t.js, t..js, ext-b..js와 같은 특이한 JavaScript 파일 이름을 포함하여 운영과 관련된 8개의 명확한 기술적 지문을 확인했습니다. Nginx와 특정 JARM 해시와 같은 반복되는 서버 특성을 포함합니다. 인프라 매핑은 도메인 검색, WHOIS 이메일 피벗 및 손상된 웹사이트(jclforwarding.com 포함)의 분석에 의존했습니다. 팀은 또한 페이로드 전달 URL, 명령 제어 서버를 추출하고 특히 macOS 피해자를 목표로 한 클립보드 하이재킹 행동을 문서화했습니다. t.js, t..js, and ext-b..js, along with recurring server traits such as nginx and specific JARM hashes. Infrastructure mapping relied on domain-searching, WHOIS email pivots, and analysis of compromised websites including jclforwarding.com. The team also extracted payload delivery URLs, command-and-control servers, and documented clipboard hijacking behavior aimed specifically at macOS victims.

완화

조직은 문서화된 JavaScript 주입 패턴, 그리고 zTDS 관련 파일(jsrepo 포함)의 존재를 모니터링하고, 식별된 지문과 일치하는 NiceNIC를 통해 등록된 의심스러운 도메인을 차단해야 합니다. 뿐만 아니라, 인터넷에 노출된 웹 자산에 대해 엄격한 콘텐츠 보안 정책을 적용해야 합니다. 엔드포인트 보호는 제공에 사용되는 Base64로 인코딩된 PowerShell 및 Bash 명령 체인을 탐지할 수 있어야 합니다. jsrepo with the rnd parameter, and outbound connections to known bulletproof hosting IP addresses. Defenders should block suspicious .icu domains registered through NiceNIC that match the identified fingerprints and apply strict content security policies to internet-facing web assets. Endpoint protections should also be capable of detecting the Base64-encoded PowerShell and Bash command chains used in delivery.

대응

DriveSurge 활동이 탐지되면, 영향을 받은 웹 자산은 즉시 격리되어야 하고, 악성 JavaScript가 제거되어야 하며, 손상된 도메인 등록은 검토되거나 해지되어야 합니다. 식별된 도메인 및 IP 주소는 네트워크 경계에서 차단되어야 합니다. 보안 팀은 또한 악성 다운로드 명령을 실행한 시스템에 대해 포렌식 분석을 수행하고 노출된 자격 증명을 초기화해야 합니다. 관련 지표는 산업 ISAC 및 신뢰할 수 있는 파트너와 공유되어야 합니다.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 classDef process fill:#ff9966 classDef operator fill:#ff9900 %% 노드 node_initial_access[“<b>행위</b> – <b>T1189 드라이브바이 침해</b><br/><b>설명</b>: 신뢰도가 높은 웹사이트를 침해하고 악성 JavaScript를 주입함.<br/><b>결과</b>: 피해자의 브라우저가 악성 코드를 로드함.”] class node_initial_access action node_content_injection[“<b>행위</b> – <b>T1659 콘텐츠 인젝션</b><br/><b>설명</b>: 주입된 스크립트(t.js, ext-b, jsrepo)가 zTDS 트래픽 분배 시스템을 로드함.”] class node_content_injection action tool_ztds[“<b>도구</b> – zTDS 트래픽 분배 시스템<br/><b>목적</b>: 감염된 브라우저에 악성 JavaScript 제공”] class tool_ztds tool malware_jsrepo[“<b>멀웨어</b> – jsrepo<br/><b>역할</b>: 페이로드 URL을 전달하는 난독화 로더 스크립트”] class malware_jsrepo malware node_obfuscation[“<b>행위</b> – 명령 난독화<br/><b>기술</b>: T1027.010, T1027.007, T1027.018<br/><b>설명</b>: Base64 인코딩, atob, 문자열 연결 및 보이지 않는 유니코드로 URL을 숨김”] class node_obfuscation action node_fake_updates[“<b>행위</b> – <b>T1554 가짜 업데이트</b><br/><b>설명</b>: 사용자를 속여 악성 바이너리를 다운로드하게 하는 가짜 업데이트 페이지”] class node_fake_updates action node_copy_paste[“<b>행위</b> – <b>T1204.004 악성 복사/붙여넣기</b><br/><b>설명</b>: 사용자가 가짜 페이지의 명령어를 터미널에 붙여 실행”] class node_copy_paste action node_clickfix[“<b>행위</b> – <b>T1684 ClickFix 사회공학</b><br/><b>설명</b>: 가짜 오류 메시지가 클립보드를 Base64 명령으로 변경<br/><b>관련</b>: T1115 클립보드 하이재킹”] class node_clickfix action node_clipboard_hijack[“<b>행위</b> – <b>T1115 클립보드 하이재킹</b><br/><b>설명</b>: 공격자가 클립보드 내용을 악성 명령으로 덮어씀”] class node_clipboard_hijack action node_browser_hijack[“<b>행위</b> – <b>T1185 브라우저 세션 하이재킹</b><br/><b>설명</b>: 감염된 사이트가 zTDS를 통해 공격자 도메인으로 리다이렉트”] class node_browser_hijack action node_payload_delivery[“<b>행위</b> – <b>T1133 외부 원격 서비스 / T1105 도구 전송</b><br/><b>설명</b>: curl/wget을 사용해 macOS 2차 페이로드 다운로드”] class node_payload_delivery action tool_curl[“<b>도구</b> – curl<br/><b>목적</b>: 공격자 서버에서 파일 전송”] class tool_curl tool tool_wget[“<b>도구</b> – wget<br/><b>목적</b>: 공격자 서버에서 파일 전송”] class tool_wget tool process_download[“<b>프로세스</b> – 다운로드 스크립트<br/><b>행위</b>: curl/wget 실행으로 macOS 바이너리 획득”] class process_download process node_c2[“<b>행위</b> – <b>T1102.002 양방향 웹 통신</b><br/><b>설명</b>: HTTPS 및 콘텐츠 인젝션을 통해 C2와 통신”] class node_c2 action node_ad_distribution[“<b>행위</b> – <b>T1596.004 광고 배포 시스템</b><br/><b>설명</b>: 악성 광고 및 CDN이 페이로드를 배포”] class node_ad_distribution action %% 연결 node_initial_access –>|사용| node_content_injection node_content_injection –>|로드| tool_ztds node_content_injection –>|전달| malware_jsrepo malware_jsrepo –>|실행| node_obfuscation node_obfuscation –>|활성화| node_fake_updates node_fake_updates –>|트리거| node_copy_paste node_copy_paste –>|이동| node_clickfix node_clickfix –>|사용| node_clipboard_hijack node_clipboard_hijack –>|이동| node_browser_hijack node_browser_hijack –>|리디렉션| node_payload_delivery node_payload_delivery –>|사용| tool_curl node_payload_delivery –>|사용| tool_wget node_payload_delivery –>|전달| process_download process_download –>|실행| node_c2 node_c2 –>|통신| node_ad_distribution

공격 흐름

시뮬레이션 실행

전제 조건: 텔레메트리 및 베이스라인 사전 비행 점검이 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적군 기술(전술, 기술 및 절차)의 정확한 실행을 설명합니다. 명령과 서사는 식별된 TTP를 직접 반영하고 탐지 논리가 기대하는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다.

  • 공격 내러티브 및 명령

    1. 단계 1 – 악성 페이로드 배포:
      공격자는 손상된 웹 서버에 t.js (또는 해시 기반 이름)의 JavaScript 파일을 업로드합니다. 파일은 추가 페이로드를 조용히 가져오는 DriveSurge HTML 스머글링 스니펫을 포함합니다.

    2. 단계 2 – 피해자 요청:
      피해자의 브라우저는 ( curl)을 사용하여 악성 파일을 요청하며, 요청 URI가 Sigma 정규 표현식과 일치하는 로그 항목을 생성합니다.

    3. 단계 3 – 경고 생성:
      SIEM은 액세스 로그 라인을 수집하고, Sigma 규칙은 파일명을 평가하여 경고를 발생시킵니다. field, and the alert is raised.

  • 회귀 테스트 스크립트

    #!/usr/bin/env bash
    set -euo pipefail
    수행할 작업 -------------------------------
    WEB_ROOT="/var/www/html"
    MALICIOUS_NAME="t.js"
    MALICIOUS_PATH="${WEB_ROOT}/${MALICIOUS_NAME}"
    MALICIOUS_CONTENT='console.log("DriveSurge 페이로드 실행");'
    # 악성 JavaScript 배포 --------------------------------
    echo "${MALICIOUS_CONTENT}" | sudo tee "${MALICIOUS_PATH}" > /dev/null
    sudo chown www-data:www-data "${MALICIOUS_PATH}"
    sudo chmod 644 "${MALICIOUS_PATH}"
    # Apache가 새 파일을 인식할 시간을 주기 위해 --------------
    sleep 2
    # 피해자의 요청을 시뮬레이션 (텔레메트리 생성) ------------
    curl -s -o /dev/null "http://localhost/${MALICIOUS_NAME}"
    # 수동 검토를 위한 마지막 Apache 로그 항목 출력 ---------
    echo "=== 검증을 위한 최신 Apache 로그 항목 ==="
    sudo tail -n 5 /var/log/apache2/access.log | grep "${MALICIOUS_NAME}" || echo "로그 항목 없음"
  • 정리 명령

    #!/usr/bin/env bash
    set -euo pipefail
    WEB_ROOT="/var/www/html"
    MALICIOUS_NAME="t.js"
    MALICIOUS_PATH="${WEB_ROOT}/${MALICIOUS_NAME}"
    # 악성 파일 제거
    sudo rm -f "${MALICIOUS_PATH}"
    echo "${MALICIOUS_PATH}를 정리했습니다."