macOS에서의 클릭픽스: AppleScript 멀웨어 캠페인으로 터미널 프롬프트를 이용해 데이터 탈취
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 AppleScript 멀웨어 캠페인은 base64로 디코딩된 셸 명령을 수동으로 터미널에 실행하도록 macOS 사용자를 설득하는 ClickFix 기법을 통해 목표로 하고 있습니다. 이러한 명령은 브라우저 데이터, 암호화폐 지갑, 로컬 문서 및 다른 민감한 정보를 수집하고 공격자가 제어하는 서버로 이를 탈취하는 AppleScript를 가져옵니다. 전통적인 바이너리가 디스크에 작성되지 않기 때문에 흔적을 찾기 어려워집니다. 이 작업은 명령-제어 트래픽용으로 여러 기만적인 도메인과 비정상적인 서비스 포트에 의존합니다.
AppleScript 캠페인 분석
연구원들은 피싱 웹사이트, 페이로드 전달을 담당하는 JavaScript, 및 수집 및 탈출에 사용된 AppleScript를 조사했습니다. 인프라 매핑을 통해 다음과 같은 도메인을 발견했습니다: cryptoinfo-news.com and odyssey1.to, 서비스는 포트 22, 80, 3333, 5201에 노출되어 있습니다. AppleScript 페이로드는 도난 데이터를 /tmp/out.zip 에 ZIP 파일로 패키징하고 curl을 사용하여 이를 원격 엔드포인트로 업로드합니다.
완화
수비수는 식별된 악의적인 도메인을 차단하고 흔치 않은 포트로의 외부 연결을 제한해야 합니다. macOS 호스트를 강화하기 위해 AppleScript 및 셸 사용을 제한하고, base64-d | bash 실행 패턴을 모니터링하며 웹 환경에서 엄격한 CORS 제어를 적용해야 합니다. 보안 인식 교육에서는 사용자에게 터미널 명령을 복사-붙여넣기 및 실행하라는 피싱 페이지를 강조해야 합니다.
응답
이러한 지표 패턴이 감지되면 SOC에 알리고, 영향을 받은 시스템을 격리하며, 임시 아티팩트와 셸 기록을 캡처합니다. 디렉토리, 어떠한 의심스러운 ZIP 아카이브를 격리하고, 아웃바운드 트래픽과 캠페인에서 식별된 알려진 C2 서버 및 포트와 상관 관계를 확인합니다. /tmp 공격 흐름
graph TB %% 클래스 정의 classDef technique fill:#e0f7fa %% 노드 정의 initial_access[“<b>초기 접근</b> – <b>T1659 콘텐츠 인젝션</b>: 피해자가 악성 명령을 주입하는 피싱 페이지를 로드함.”] class initial_access technique execution_copy_paste[“<b>실행</b> – <b>T1204.004 사용자 실행: 악성 복사 및 붙여넣기</b>: 사용자가 Base64 명령을 복사하여 터미널에서 실행함.”] class execution_copy_paste technique execution_proxy[“<b>실행</b> – <b>T1127 신뢰된 개발자 유틸리티 프록시 실행</b>: macOS 기본 유틸리티를 통해 AppleScript를 디코딩하고 실행함.”] class execution_proxy technique execution_xpc[“<b>실행</b> – <b>T1559.003 프로세스 간 통신: XPC 서비스</b>: AppleScript가 내부 호출을 위해 XPC를 활용함.”] class execution_xpc technique collection_browser_disc[“<b>수집</b> – <b>T1217 브라우저 정보 탐색</b>: AppleScript가 Firefox 및 Chromium 프로필을 열거함.”] class collection_browser_disc technique collection_creds[“<b>수집</b> – <b>T1555.003 비밀번호 저장소에서 자격 증명 수집: 웹 브라우저</b>: 쿠키, 저장된 로그인 정보, 암호화폐 지갑 데이터를 탈취함.”] class collection_creds technique archive[“<b>수집</b> – <b>T1560.001 유틸리티를 통한 아카이빙</b>: ditto를 사용하여 파일을 ZIP으로 패키징함.”] class archive technique exfiltration[“<b>유출</b> – <b>T1020 자동화된 데이터 유출</b>: curl을 통해 ZIP 파일을 공격자 서버로 업로드함.”] class exfiltration technique c2_web[“<b>명령 및 제어</b> – <b>T1102 웹 서비스</b>: 허용적인 CORS 설정으로 HTTP를 통해 C2와 통신함.”] class c2_web technique c2_ssh[“<b>명령 및 제어</b> – <b>T1021.004 원격 서비스: SSH</b>: 공격자가 추가 제어를 위해 SSH 접근을 유지함.”] class c2_ssh technique defense_compress[“<b>방어 회피</b> – <b>T1027.015 압축</b>: 페이로드 데이터를 숨기기 위해 압축을 사용함.”] class defense_compress technique defense_file_delete[“<b>방어 회피</b> – <b>T1070.004 파일 삭제</b>: 임시 디렉터리와 아카이브를 제거함.”] class defense_file_delete technique credential_cookie[“<b>자격 증명 접근</b> – <b>T1539 웹 세션 쿠키 탈취</b>: 탈취한 쿠키를 사용하여 세션을 하이재킹함.”] class credential_cookie technique %% 연결 initial_access –>|이어짐| execution_copy_paste execution_copy_paste –>|이어짐| execution_proxy execution_proxy –>|사용| execution_xpc execution_proxy –>|수집| collection_browser_disc collection_browser_disc –>|수집| collection_creds collection_creds –>|아카이빙| archive archive –>|유출| exfiltration exfiltration –>|사용| c2_web c2_web –>|대체 경로| c2_ssh exfiltration –>|흔적 은폐| defense_compress exfiltration –>|흔적 은폐| defense_file_delete collection_creds –>|가능하게 함| credential_cookie
공격 흐름
macOS에서 데이터 탈출을 위한 Curl의 악의적 사용 탐지 [Windows 프로세스 생성]
SOC Prime AI 규칙
보기
macOS에서 Base64 디코딩 및 Bash 실행 탐지 [Linux 프로세스 생성]
보기
IOCs (SourceIP) 탐지: The Complete Guide to Hunting Cobalt Strike – Part 2: Cobalt Strike를 찾기 위한 10+ HuntSQL 레시피
보기
IOCs (DestinationIP) 탐지: The Complete Guide to Hunting Cobalt Strike – Part 2: Cobalt Strike를 찾기 위한 10+ HuntSQL 레시피
보기
Atomic MacOS Stealer – FileGrabber 활동
보기
보기
시뮬레이션 실행
전제조건: 원격 측정 및 기준선 사전 점검이 통과되어야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적대적인 기술 (TTP)의 정확한 실행을 상세히 설명합니다. 명령과 설명은 식별된 TTP를 직접 반영하며 탐지 논리에 의해 기대되는 정확한 원격 측정을 생성하는 것을 목표로 합니다.
-
공격 설명 & 명령:
-
공격자는 다음의 단일 라인을 포함하는 피싱 이메일을 보냅니다:
echo "cHJpbnQoJ0NhdXNlJykK" | base64 -d | bash(페이로드는
print('Cause')로 디코딩됩니다. 이는 어떤 악의적인 Bash 스크립트에 대해 자리표시자를 의미합니다.) -
아무 것도 모르는 사용자는 이 라인을 복사하여 터미널에 붙여넣습니다.
-
macOS는
bash프로세스를 생성하고, 이의 명령 줄은정확히패턴과 일치합니다.base64 -d | bash, 이는 Sigma 규칙의선택. -
을 충족합니다. Bash 인터프리터는 디코딩된 페이로드를 실행하여 악의적인 작업을 완료합니다 (예: 역셸을 설정하거나 추가 도구를 다운로드).
-
-
회귀 테스트 스크립트: 아래 스크립트는 단계 1-3을 자동화하여 검증을 위한 원격 측정을 재현합니다.
#!/bin/bash # ------------------------------------------------- # macOS Base64‑decode‑and‑Bash 실행 시뮬레이션 # ------------------------------------------------- # Base64‑인코딩된 페이로드 ("Compromise"를 출력) PAYLOAD="cHJpbnQoJ0NvbXByb21pc2UnKQ==" # 공격자가 이를 실행하는 것처럼 단일 라인을 실행 'echo "$PAYLOAD" | base64 -d | bash # Bash 명령의 상태로 종료 exit $? -
정리 명령: 페이로드로 인해 생성될 수 있는 임시 파일이나 백그라운드 프로세스를 제거합니다 (필요한 경우 페이로드‑특정 정리를 대체하십시오).
#!/bin/bash # 간단한 정리 – 잡다한 Bash 자식 프로세스가 남아있지 않은지 확인 pkill -f "base64 -d | bash" 2>/dev/null # 페이로드가 파일을 생성한 경우, 이를 삭제 (예시 자리표시자) rm -f /tmp/malicious_script.sh 2>/dev/null