CleanMyMac 설치했더니 암호화폐가 사라졌다? macOS 신종 악성코드 'SHub Stealer' 전격 분석

CleanMyMac 설치했더니 암호화폐가 사라졌다? macOS 신종 악성코드 'SHub Stealer' 전격 분석

"맥은 바이러스에 안전하다"는 말, 아직도 믿고 있는가? 2026년 3월, 보안 기업 멀웨어바이트(Malwarebytes)가 공개한 신종 macOS 악성코드 에스허브 스틸러(SHub Stealer) 는 그 믿음을 정면으로 뒤집는다. 유명 맥 관리 유틸리티 클린마이맥(CleanMyMac) 을 사칭한 가짜 사이트에서 유포되며, 브라우저 비밀번호부터 암호화폐 지갑까지 맥에 저장된 거의 모든 것을 빼간다.

어떻게 감염되나? — "터미널에 이걸 붙여넣으세요"

SHub Stealer의 감염 방식은 기술적으로 정교하면서도, 사용자를 속이는 방법은 놀라울 만큼 단순하다.

ClickFix: 사용자가 스스로 악성코드를 실행하게 만드는 수법

공격자는 클릭픽스(ClickFix) 라는 소셜 엔지니어링 기법을 사용한다. 과정은 이렇다:

  1. 공격자가 cleanmymacos[.]org 같은 가짜 클린마이맥 사이트를 만든다 (공식 사이트와 거의 구별 불가)
  2. 사용자가 검색 광고 등을 통해 가짜 사이트에 방문한다
  3. 사이트는 "클린마이맥 설치를 위해 터미널에 이 명령어를 복사해 붙여넣으세요"라고 안내한다
  4. 사용자가 직접 명령어를 실행한다

핵심은 4번이다. 사용자가 직접 실행한 명령은 macOS의 핵심 보안 장치인 게이트키퍼(Gatekeeper)공증(Notarization) 검증을 완전히 우회한다. macOS가 아무리 보안이 강해도, 사용자 본인이 직접 실행하면 막을 수 없다.

명령어가 실제로 하는 일

사용자가 붙여넣는 명령어는 겉으로는 무해해 보이지만, 내부적으로 세 가지를 순차 실행한다:

① 화면에 정상적인 설치 메시지를 표시 → 사용자 안심
   예: "macOS-CleanMyMac-App: https://macpaw.com/cleanmymac/us/app"

② Base64로 인코딩된 공격자 서버 주소를 디코딩
   → 실제 악성 서버 URL을 숨김

③ 공격자 서버에서 악성 셸 스크립트를 다운로드 → 즉시 실행
   → 여기서부터 본격적인 악성 행위 시작

⚠️ 핵심 교훈: 웹사이트가 터미널에 명령어를 복사해 붙여넣으라고 한다면, 그것은 거의 확실히 악성코드다. 정상적인 mac 앱은 .dmg 파일을 다운로드해서 설치하지, 터미널 명령어를 요구하지 않는다.


무엇을 훔치나? — "맥에 있는 거의 모든 것"

SHub Stealer가 감염된 맥에서 탈취하는 데이터의 범위는 충격적이다.

🌐 브라우저 데이터 (14종)

Chrome, Brave, Edge, Opera, Arc 등 14종의 크로미엄 기반 브라우저 + Firefox에서:

  • 저장된 비밀번호
  • 쿠키 (로그인 세션 탈취 가능)
  • 자동완성 데이터 (주소, 카드 번호 등)

💰 암호화폐 확장 프로그램 (102종!)

MetaMask, Phantom, Coinbase Wallet 등 무려 102종의 크립토 지갑 브라우저 확장 프로그램 데이터를 수집한다. 암호화폐를 사용하는 맥 유저라면 사실상 모든 지갑이 타깃에 포함된다고 봐야 한다.

🖥️ 데스크탑 지갑 앱 (23종)

브라우저 확장뿐 아니라, Exodus, Electrum, Atomic Wallet, Ledger Live, Trezor Suite 등 23종의 데스크탑 지갑 앱의 로컬 데이터도 수집한다.

🍎 Apple 시스템 데이터

  • macOS 키체인 디렉토리 (맥에 저장된 모든 비밀번호)
  • iCloud 계정 데이터
  • Safari 쿠키 및 브라우징 내역
  • Apple 메모 데이터베이스

🔑 개발자/계정 데이터

  • 텔레그램 세션 파일 (계정 탈취)
  • 셸 히스토리 (.zsh_history, .bash_history)
  • .gitconfigAPI 키·인증 토큰

데이터 전송 방식

수집된 모든 데이터는 /tmp/shub_XXXXXXX/ 임시 폴더에 모은 뒤 ZIP으로 압축해 공격자 서버(res2erch-sl0ut[.]com/gate)로 전송한다. 전송 후 임시 파일을 자동 삭제하여 흔적을 최소화한다.


가장 무서운 기능: 지갑 앱 자체를 변조한다

단순히 데이터를 "복사"해 가는 것도 위험하지만, SHub Stealer의 가장 위험한 기능은 따로 있다.

지갑 앱의 핵심 코드를 바꿔치기

Exodus, Atomic Wallet, Ledger Wallet, Ledger Live 등 5종의 Electron 기반 지갑 앱에 대해, 앱의 핵심 로직 파일(app.asar)을 C2 서버에서 받은 악성 버전으로 교체한다.

[ 정상 지갑 앱 ]
app.asar (정상 코드) → 비밀번호 입력 → 로컬에서만 처리

[ 변조된 지갑 앱 ]
app.asar (악성 코드) → 비밀번호 입력 → 공격자 서버로 전송 📤
                       시드 구문 입력 → 공격자 서버로 전송 📤

변조된 앱은 겉보기에는 완전히 정상 작동한다. 사용자는 자신의 지갑이 백도어에 감염된 사실을 전혀 알 수 없다. 하지만 비밀번호나 시드 구문(복구 키)을 입력하는 순간, 해당 정보가 실시간으로 공격자에게 전송된다.

트레저 스위트 대상 특수 공격

Trezor Suite의 경우 더욱 교묘하다. 전체 화면을 덮는 가짜 "보안 업데이트" 창을 띄워 사용자에게 복구 키(Recovery Key) 입력을 유도한다. 하드웨어 지갑의 복구 키가 탈취되면, 물리적 장치 없이도 자산을 빼갈 수 있다.


감염 후에도 계속 접근한다 — 백도어 영속화

SHub Stealer는 데이터를 훔친 뒤 사라지지 않는다. 시스템에 영구적으로 상주하는 백도어를 심는다.

구글 업데이트를 사칭한 백도어

백도어는 com.google.keystone.agent.plist라는 이름으로 위장한다. 이는 실제 구글 크롬의 자동 업데이트 에이전트와 동일한 이름이다. 숨겨진 bash 스크립트의 경로도 정교하다:

~/Library/Application Support/Google/GoogleUpdate.app/
  Contents/MacOS/GoogleUpdate

누가 봐도 구글 크롬의 정상 파일처럼 보인다.

60초마다 원격 명령 수신

이 백도어는 맥의 고유 하드웨어 ID(IOPlatformUUID)를 봇 ID로 사용하여 공격자 서버에 등록된다. 이후 60초마다 C2 서버에 접속해 원격 명령을 받아 실행하고, 실행 후 즉시 명령 파일을 삭제하여 보안 소프트웨어의 탐지를 회피한다.


공격자의 정체 단서 — 러시아어 키보드 확인

SHub Stealer의 로더 스크립트에는 흥미로운 코드가 포함되어 있다. 감염 대상 기기에 러시아어 키보드가 설치되어 있는지 확인하고, 러시아 또는 CIS(독립국가연합) 사용자로 판단되면 공격을 즉시 중단한다.

이는 러시아어권 해킹 그룹이 자국 및 동맹국 수사망을 피하기 위해 흔히 사용하는 기법으로, 공격 주체가 러시아어권 그룹일 가능성을 강하게 시사한다.


내 맥은 안전한가? — 확인 방법과 대응책

✅ 지금 당장 확인할 것

1. 의심 파일 확인

아래 경로에 의심스러운 파일이 있는지 확인한다:

  • ~/Library/LaunchAgents/com.google.keystone.agent.plist 등 의심 파일
  • ~/Library/Application Support/Google/GoogleUpdate.app/ — 구글 크롬을 설치하지 않았는데 이 경로가 존재한다면 위험 신호

2. 지갑 앱 무결성 확인

암호화폐 지갑 앱을 사용 중이라면, 공식 사이트에서 최신 버전을 다시 다운로드하여 재설치한다. 감염이 의심되면 시드 구문으로 새 지갑을 생성하고 자산을 이전해야 한다.

🛡️ 예방 수칙

수칙 설명
공식 경로만 이용 CleanMyMac은 MacPaw 공식 사이트 또는 Mac App Store에서만 다운로드
터미널 명령어 절대 금지 웹사이트가 터미널에 명령어를 붙여넣으라고 하면 100% 의심
보안 소프트웨어 설치 Malwarebytes 등 macOS용 보안 솔루션 사용
URL 직접 확인 다운로드 전 주소창의 도메인이 macpaw.com인지 반드시 확인

공식 확인된 악성 도메인 (IOC)

Malwarebytes의 공식 분석 보고서에서 공개한 침해지표(Indicators of Compromise)다. 절대 접속하지 말 것.

역할 도메인
피싱 사이트 (CleanMyMac 사칭) cleanmymacos[.]org
1차 C2 서버 (스크립트 배포·데이터 탈취) res2erch-sl0ut[.]com
2차 C2 서버 (지갑 시드 구문 탈취) wallets-gate[.]io

⚠️ [.] 표기는 실수로 클릭하는 것을 방지하기 위한 보안 업계 표준 표기법이다. 실제 도메인에는 점(.)이 들어간다.

유입 경로는 유료 검색 광고(Paid Ads)일 가능성이 높다. 악성코드 내부에 PAds라는 빌드명이 발견되어, 광고 트래픽으로 피해자를 유인하는 페이퍼-인스톨(pay-per-install) 캠페인으로 추정된다.


마무리: "맥은 안전하다"는 환상을 버려라

SHub Stealer가 보여준 것은 명확하다:

  • macOS의 보안 장치(Gatekeeper, Notarization)는 사용자가 직접 실행하면 무력화된다
  • 공격자는 정상 앱을 사칭하고, 정상 시스템 파일을 위장하며, 60초마다 원격 명령을 내린다
  • 브라우저 비밀번호, 암호화폐 지갑, 키체인, iCloud까지 맥의 거의 모든 민감 정보가 타깃이다

가장 강력한 방어는 기술이 아니라 습관이다. 어떤 웹사이트든 터미널 명령어를 복사해 붙여넣으라고 한다면, 그것은 당신의 맥을 노리는 공격이다. 앱은 반드시 공식 사이트 또는 App Store 에서만 설치하자.