AmnesiaStealer가 macOS에서 Chromium 브라우저를 탈취하다
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
AmnesiaStealer는 ClickFix 기법을 사용하여 위조된 GitHub 페이지를 통해 유포되는 다단계 Rust 기반 macOS 정보 탈취기입니다. 이 악성코드는 키체인 데이터, Apple Notes, Telegram, 및 Chromium 기반 브라우저를 대상으로 합니다. 주목할 만한 2단계 모듈은 Chrome DevTools Protocol을 통해 손상된 브라우저 세션에 대해 오퍼레이터들에게 실시간, 비대면 원격 제어를 제공합니다.
조사
Jamf Threat Labs는 셸 스크립트 드로퍼로 시작하여 Rust 기반 정보 탈취기와 최종 스트리밍 모듈로 이어지는 악성코드의 3단계 실행 체인을 분석했습니다. 연구원들은 샌드박스에서 샘플을 실행하여 TCC 우회 시도, 키체인 수집 및 브라우저 프로필 복제를 관찰했습니다. 분석 결과는 또한 악성코드가 Chrome Safe Storage 키를 재작성하여 오퍼레이터측에서의 복호화를 가능하게 하는 방법을 보여주었습니다.
완화 조치
조직은 사용자가 신뢰할 수 없는 웹사이트에서 Terminal에 명령어를 붙여넣지 않도록 교육해야 합니다. 강력한 엔드포인트 보호는 Finder 프로세스와 관련된 비인가 TCC 데이터베이스 수정 및 비정상적인 활동을 모니터링해야 합니다. 관리자 권한 제한은 LaunchDaemon 지속성 성공 가능성을 줄일 수도 있습니다.
대응
AmnesiaStealer 활동이 감지되면 영향을 받은 macOS 호스트를 즉시 격리하여 데이터 유출과 원격 브라우저 제어를 중단해야 합니다. 조사자는 비인가 LaunchDaemon 및 의심스러운 파일을 /tmp/에서 탐색해야 합니다. 브라우저 또는 키체인에 저장된 모든 자격 증명 및 활성 세션은 철회되어야 하며 손상된 것으로 간주되어야 합니다.
공격 흐름
탐지
백그라운드 프로세스를 분리하기 위한 의심스러운 Disown 사용 (cmdline 통해)
MacOS 시스템 볼륨이 Osascript를 사용하여 음소거됨 (cmdline 통해)
Nohup을 사용한 가능성 있는 실행 (cmdline 통해)
MacOS Xattr 임시 폴더 속성이 삭제됨 (프로세스 생성 차량 통해)
의심스러운 디렉토리를 가리키는 MacOS 아카이브 유틸리티 (cmdline 통해)
키체인을 수동으로 잠금 해제하려는 가능성 있는 시도 (cmdline 통해)
파일 아카이빙 및 macOS에서의 데이터 탈취를 위한 의심스러운 Ditto 사용 (프로세스 생성 통해)
의심스러운 Curl 실행 시도 [MacOS] (cmdline 통해)
MacOS 임시 폴더에 아카이브가 생성됨 (파일 이벤트 통해)
AmnesiaStealer 탐지를 위한 IOCs (HashMd5): 다단계 Rust 기반 macOS 정보 탈취기로서 Chromium 브라우저를 하이재킹합니다
AmnesiaStealer macOS 정보 탈취기 우회 기법 탐지 [Windows 프로세스 생성]
macOS AmnesiaStealer 실행 기법 탐지 [Linux 프로세스 생성]
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준선 사전 비행 검사가 통과되어야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대자 기법(TTP)을 정밀하게 실행한 내용을 설명합니다. 명령어와 설명은 TTP가 식별한 내용을 직접 반영하고, 탐지 로직에 의해 기대되는 정확한 텔레메트리를 생성하는 것을 목표로 합니다. 추상적이거나 관련 없는 예는 잘못된 진단으로 이어집니다.
-
공격 내러티브 및 명령어: 적대자가 “ClickFix” 사회 엔지니어링 공격을 통해 사용자를 악성 패키지를 다운로드하도록 성공적으로 속였습니다. 페이로드를 실행하려면 공격자는 macOS의 Gatekeeper와 보안 보호를 우회해야 합니다. 공격자는 1) 가짜 바이너리를 생성하고; 2)
xattr -cr을 사용하여 모든 확장 속성을 제거합니다(“인터넷에서 다운로드한” 검역 플래그 제거); 3)chmod +x를 사용하여 파일을 실행 가능하게 만듭니다; 4)codesign을 사용하여 실행 차단을 방지하기 위해 임시 서명을 적용합니다; 5)nohup을 사용하여 터미널 세션이 종료되더라도 Stealer가 계속 실행되도록 합니다. 이 시퀀스는 AmnesiaStealer의 고신호 행동을 모방합니다. -
회귀 테스트 스크립트:
#!/bin/bash # AmnesiaStealer 시뮬레이션 스크립트 # 1. 설정: 가짜 악성 바이너리 생성 echo "#!/bin/bash" > /tmp/amnesia_payload.sh echo "echo '자격 증명 탈취 중...'" >> /tmp/amnesia_payload.sh # 2. T1564.011 / T1027.005: 검역 속성 제거 xattr -cr /tmp/amnesia_payload.sh # 3. T1588.003: 파일을 실행 가능하도록 만들기 chmod +x /tmp/amnesia_payload.sh # 4. T1553.001: 임시 코드 서명 codesign --force --deep --sign - /tmp/amnesia_payload.sh # 5. T1053 / T1059: nohup를 사용하여 실행 및 sudo 사용 시뮬레이션 # 주의: 테스트 환경에서 실제 암호 프롬프트를 피하기 위해 sudo 명령은 더미 echo로 시뮬레이션됩니다 nohup /tmp/amnesia_payload.sh > /tmp/stealer.log 2>&1 & echo 'password123' | sudo -S /usr/bin/whoami -
정리 명령:
# 시뮬레이션 아티팩트 제거 rm /tmp/amnesia_payload.sh rm /tmp/baseline_test.txt rm /tmp/stealer.log