SOC Prime Bias: High

25 Sep 2026 08:15 UTC

PamStealer, 서버 측 복호화 체인으로 Swift로 전환

Author Photo
SOC Prime Team linkedin icon 팔로우
PamStealer, 서버 측 복호화 체인으로 Swift로 전환
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

새로운 PamStealer macOS 정보 탈취기 변종은 Rust에서 Swift로의 주요 구조적 변화를 도입합니다. 업데이트된 멀웨어는 pkgunpack이라는 사용자 정의 유틸리티가 작동하는 서버 측 암호 해독 체인을 사용하며 pkgunpack를 사용하여 두 번째 단계 페이로드를 해독하고 실행하기 위해 활성 C2 상호작용이 필요합니다. 또한 브라우저 자격 증명, 키체인 데이터 및 광범위한 시스템 메타데이터를 대상으로 하면서 계층화된 지속성 메커니즘을 사용합니다.

조사

Jamf 위협 분석 연구소는 Wavel이라는 가짜 암호화폐 지갑 설치 프로그램 내부에서 이를 식별한 후 새로운 PamStealer 변종을 분석했습니다. 조사 과정에서 컴파일된 JXA 드로퍼로 시작되며, 라이브 키 교환을 수행하는 zsh 기반 단계와 자격 증명 도난 및 시스템 핑거프린팅을 담당하는 Swift 기반 두 번째 단계로 이루어진 다단계 실행 체인이 드러났습니다.

완화

사용자는 비공식 소스에서 응용 프로그램을 다운로드하는 것을 피해야 하며, 특히 암호화폐 지갑을 사칭하는 소프트웨어에는 주의해야 합니다. 조직은 수상한 macOS 백그라운드 항목과 예를 들어 .zshrc 같은 셸 구성 파일에 대한 무단 변경을 모니터링해야 합니다. .zshrc. 엔드포인트 보안 제어장치는 애드훅 코드 서명, 비정상적인 프로세스 재구성 및 비정상적인 셸 실행을 감지할 수 있어 노출을 더욱 줄일 수 있습니다.

반응

PamStealer 활동이 탐지되면 네트워크에서 영향을 받은 macOS 엔드포인트를 격리하여 추가적인 명령 및 제어 통신과 데이터 유출을 방지해야 합니다. 포렌식 분석을 수행하여 자격 증명 도난의 범위를 결정하고, 특히 브라우저 데이터 및 macOS 키체인에 주의를 기울여야 합니다. 무단 LaunchAgent 생성, 수상한 백그라운드 항목 및 예상치 못한 셸 활동에 대한 시스템 로그를 검토하십시오.

공격 흐름

우리는 이 부분을 계속 업데이트하고 있습니다.

탐지

수정된 응용 프로그램 번들의 강제 코드 서명 (cmdline을 통해서)

SOC 프라임 팀
2026년 9월 24일

MacOS 아카이브 유틸리티가 의심스러운 디렉토리를 가리킴 (cmdline을 통해서)

SOC 프라임 팀
2026년 9월 24일

파일 아카이빙 및 유출을 위한 Ditto의 수상한 사용 (process_creation을 통해서)

SOC 프라임 팀
2026년 9월 24일

의심스러운 Curl 실행 시도 [MacOS] (cmdline을 통해서)

SOC 프라임 팀
2026년 9월 24일

아카이브가 MacOS 임시 폴더에 생성됨 (file_event를 통해서)

SOC 프라임 팀
2026년 9월 24일

크리덴셜 잠금 해제를 위한 브라우저 도우미 프로세스 종료 [Windows 프로세스 생성]

SOC 프라임 AI 규칙
2026년 9월 24일

PamStealer 변종에 대한 우회 기법의 탐지를 위한 xattr 및 codesign 사용 감지 [Linux 파일 이벤트]

SOC 프라임 AI 규칙
2026년 9월 24일

PamStealer JXA 스크립트 실행을 통한 Zsh [Linux 프로세스 생성]

SOC 프라임 AI 규칙
2026년 9월 24일

시뮬레이션 실행

  • 공격 서사 및 명령: 공격자는 디스크 탐지를 피하기 위해 페이로드를 전개하려고 합니다. 이를 달성하기 위해 Base64로 인코딩된 문자열을 디코딩하고 이를 zsh 서브셸에 직접 전달하는 명령을 사용합니다. -s 플래그를 사용합니다. 조사자가 쉽게 악성 프로세스를 원본 셸 세션과 연결할 수 없도록 하기 위해, 공격자는 페이로드를 daemon_function이라는 함수로 감싸서 백그라운드에서 실행하고 &를 사용하며, 프로세스 트리 연결을 끊기 위해 즉시 현재 셸을 종료합니다.

  • 회귀 테스트 스크립트:

    #!/bin/bash
    # zsh를 통한 PamStealer JXA 실행의 시뮬레이션
    
    # "악성" 페이로드를 함수 이름과 명령으로 정의합니다
    # 페이로드는 TTP를 모방하기 위해 zsh -s로 전달됩니다
    PAYLOAD="daemon_function() { echo '[!] 악성 페이로드 실행됨'; }; daemon_function & ; exit 0"
    
    # 탐지 규칙에서 예상하는 대로 페이로드를 정확히 실행합니다
    echo "$PAYLOAD" | zsh -s
  • 정리 명령:

    # 정리는 최소화되며, 명령이 전달되고 지속적인 파일을 생성하지 않습니다.
    # 시뮬레이션에서 여전히 실행 중인 백그라운드 프로세스가 없는지만 확인하면 됩니다.
    pkill -f "daemon_function"