<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=939333007162424&amp;ev=PageView&amp;noscript=1">

Genian EDR을 활용한 macOS 위협 분석(Persistence#2)

1. Persistence

  • 공격자는 피해자의 시스템에 침투한 이후, 지속성(Persistence)을 확보하기 위한 과정을 수행합니다. 지속성을 확보하지 못한다면, 침투에 성공해도 시스템 재시작, 계정 변경 등의 이유로 액세스를 유지하지 못해 정보 유출, 파일 암호화 등의 최종적인 목표를 이룰 수 없기 때문입니다.

  • 따라서 공격자들은 지속성을 유지하는 기술을 연구하며, 발전시키고 있습니다. MITRE ATT&CK에서도 이를 하나의 공격 전술(Tactic)로 분류해 지속성에 사용되는 기술(Technique)을 업데이트 하고 있습니다.

[그림 01] MITRE ATT&CK macOS Matrix[그림 01] MITRE ATT&CK macOS Matrix

  • 따라서 공격자들은 지속성을 유지하는 기술을 연구하며, 발전시키고 있습니다. MITRE ATT&CK에서도 이를 하나의 공격 전술(Tactic)로 분류해 지속성에 사용되는 기술(Technique)을 업데이트 하고 있습니다.

 

 

2. Persistence Techniques

2.1. T1546.004 - Event Triggered Execution: Unix Shell Configuration Modification

  • macOS의 기본 셸인 zsh는 실행될 때 환경 변수 로딩과 초기 명령 실행을 위해 먼저 zshenv 파일을 읽습니다. 이 파일은 사용자가 직접 터미널을 실행하는 경우 뿐만 아니라, 다른 프로그램이나 스크립트가 내부적으로 zsh를 자동으로 실행할 때도 항상 로드되는 특성을 가지고 있습니다.

  •  zshenv 파일은 일반적인 경우에는 존재하지 않지만, 환경 변수 설정이나 PATH 지정 등의 목적으로 생성하여 사용됩니다. 하지만, 공격자는 zshenv 파일을 생성하고 악성 명령을 삽입하여 zsh가 실행되는 모든 상황에서 악성 코드가 자동 실행되도록 지속성을 확보하는데 악용합니다.

  • 공격자가 zshenv 파일을 통해 지속성을 확보한다면, 터미널 실행, SSH 접속, 자동화 스크립트 실행 등 zsh가 호출되는 모든 상황에서 악성 스크립트가 반복적으로 실행되기 때문에, 은밀한 악성 행위 유지가 가능하게 됩니다.

경로 생성 권한 실행 시점
/Users/[사용자 이름]/.zshenv 일반 사용자 해당 사용자가 zsh를 실행할 때
/root/zshenv 관리자(Root) 모든 사용자가 zsh를 실행할 때

[표 01] zshenv파일의 경로 및 특징

 

2.1.1. Hidden Risk

  • Hidden Risk는 2024년 11월 SentinelOne에서 공개한 macOS 다단계 악성코드 캠페인으로, 북한 해킹 그룹인 BlueNoroff가 배후로 알려져 있습니다.

  • 이 캠페인은 가상 자산 내용의 피싱 메일을 통해 감염을 유도하고 있으며, 메일에 포함된 링크를 클릭할 경우, 아래 그림과 같은 악성 app 파일이 다운로드 됩니다.

[그림 02] 다운로드된 악성 app 파일[그림 02] 다운로드된 악성 app 파일

  • 해당 app 파일을 실행하면, 정상 PDF 파일을 다운로드 후, 실행해 피해자의 의심을 피하고 추가 악성코드를 다운로드해 실행합니다. 다운로드된 추가 악성코드 중 growth는 지속성을 확보하기 위해 ~/ 경로에 .zshenv 파일을 생성합니다.

  • 생성된 .zshenv 파일은 /tmp/.zsc_init_success 파일의 존재 유무에 따라 growth를 지속적으로 실행하는 지속성 유지 행위를 수행하게 됩니다.

[그림 03] zshenv 파일 생성 및 내부 코드[그림 03] zshenv 파일 생성 및 내부 코드

  • 지속성을 확보한 growth는 공격자의 C2 서버와 통신하며, 피해 단말의 정보를 수집해 전송하고 공격자의 명령을 대기합니다 .

  • Genian EDR에서는 지속성 확보를 목적으로 생성되는 zshenv 파일을 MITRE ATT&CK 태그를 통해 탐지하고 있으며, 위협 스토리라인을 통해 악성코드의 추가 행위까지 확인할 수 있습니다.

[그림 04] zshenv 파일 생성 탐지 화면[그림 04] zshenv 파일 생성 탐지 화면

 

2.2. T1543.004 - Create or Modify System Process: Launch Daemon

  • macOS 운영체제에서는 launchctl 을 사용해 LaunchDaemon LaunchAgent 와 같은 시스템 서비스(Launchd 기반 서비스)를 로드·언로드하거나, 서비스의 상태를 제어하고 관리합니다. 정상적인 환경에서는 애플리케이션의 자동 실행, 백그라운드 작업 처리, 시스템 구성 유지 등을 위해 사용됩니다.

  • 하지만, 공격자들은 이 launchctl 를 악용하여 악성코드를 실행하는 .plist 파일을 생성하거나 수정해 launchd 에 강제로 등록하고 로드합니다. 공격자는 이 방법을 통해 시스템이 재부팅 되더라도 악성코드가 자동으로 다시 실행되도록 하는 지속성 확보 수단으로 사용합니다.

경로 생성 권한 실행 시점
Users/[사용자 이름]/Library/LaunchAgents/[악성 .plist] 일반 사용자 해당 사용자 로그인 시
/Library/LaunchAgents/[악성 .plist] 관리자(Root) 모든 사용자 로그인 시
/Library/LaunchDaemons/[악성 .plist] 관리자(Root) 부팅 시

[표 02] 악용되는 launchctl 경로

 

2.2.1. CloudMensis

  • CloudMensis 악성코드는 Object-C로 개발된 macOS 악성코드로, 일반적인 C2 서버 대신 pCloud와 Yandex 같은 퍼블릭 클라우드 스토리리지를 C2 서버로 사용한다는 특징이 있습니다.

  • 해당 악성코드가 실행되면, 먼저 공격자 C2 서버에서WindowServer라는 추가 악성 파일을 다운로드합니다. 이후, /Library/LaunchDaemons 경로에 “.”으로 시작하는 숨겨진 plist 파일을 생성하여 시스템 부팅 시마다 WindowServer 파일이 실행되도록 지속성을 확보합니다.

[그림 05] plist 파일 생성 및 내부 정보[그림 05] plist 파일 생성 및 내부 정보

  • plist 파일을 통해 지속성을 확보한 CloudMensis는 hwp, pptx, xlsx 등의 다양한 문서 파일과 이메일 및 녹음 파일을 수집해 공격자의 C2 서버에 전송합니다.

  • /Library/LaunchDaemons 에 의심스러운 plist 파일이 생성되는 행위는 Genian EDR에서 T1543.004 - Create or Modify System Process: Launch Daemon으로 탐지하고 있으며, 아래 그림을 통해 확인할 수 있습니다.

[그림 06] CloudMensis의 지속성 확보 행위 탐지 화면[그림 06] CloudMensis의 지속성 확보 행위 탐지 화면

 

2.2.2  Macma

  • Macma 악성코드는 중국의 해킹 그룹 Evasive Panda가 운용하는 macOS 대상 백도어로, 2019년 처음 등장한 이후, 현재까지도 기능이 개선된 변종이 지속적으로 발견되고 있습니다.

  • 이 악성코드는 초기 실행 시 키로거, 화면캡쳐 등 기능별로 모듈화된 각 악성 파일과 plist 파일을 임시 경로에 생성하고 cp 명령을 통해 공격자가 지정한 각 경로에 복사합니다.

  • plist 파일은 com.UserAgent.va.plist 이름으로 /Library/LaunchAgents 경로에 복사되며, 이전 과정에서 생성된 UserAgent이름의 악성 파일이 자동으로 실행되도록 설정되어 있습니다. 이를 통해 시스템이 재부팅 되더라도 Macma 악성코드는 지속적으로 동작할 수 있는 지속성을 확보하게 됩니다.

[그림 07] plist 파일 생성 및 내부 정보[그림 07] plist 파일 생성 및 내부 정보

  • 지속성을 확보한 Macma 악성코드는 지속적으로 실행되며, 오디오 녹음과 화면 캡쳐 및 키로깅 등의 악성 행위를 통해 정보를 수집하고 공격자의 C2에 전송합니다.

  • Genian EDR은 cp 명령을 통해 /Library/LaunchAgents 경로에 생성되는 의심스러운 plist 파일을 탐지하고 있습니다. 또한, 해당 이벤트에 태깅된 MITRE ATT&CK 정보를 통해 해당 행위를 보다 쉽게 파악하고 이해할 수 있습니다.

[그림 08] Macma의 지속성 확보 행위 탐지 화면[그림 08] Macma의 지속성 확보 행위 탐지 화면

 

 

 3. Conclusion

  • Genian EDR은 MITRE ATT&CK을 기반으로 다양한 사이버 공격 전술 및 기술을 탐지할 수 있습니다. Genian EDR을 통해 macOS 환경에서 지속성을 확보하기 위한 위한 공격자들의 악성 행위를 탐지할 수 있으며, 해당 이벤트에 태깅된 MITRE ATT&CK을 통하여 공격 흐름을 파악하고 신속하게 대응할 수 있도록 도와줍니다.

  • 또한, 검색 필터의 MITRE ATT&CK분류를 통해 Tactic 및 Technique 기준으로 의심스러운 이벤트를  확인할 수 있습니다. 이를 통해 각 단말들의 전체적인 위협 현황을 쉽게 파악하고 신속하게 대응할 수 있습니다.

[그림 09] Genian EDR MITRE ATT&CK View 화면[그림 09] Genian EDR MITRE ATT&CK View 화면

 

 

4. Reference

Matrix - Enterprise - macOS l MITRE ATT&CK

BlueNoroff Hidden Risk l Threat Actor Targets Macs with Fake Crypto News and Novel Persistence

한국내 macOS 이용자를 노린 APT37 공격 등장

 

 


 

글쓴이. 송관용

지니언스 GSC(Genians Security Center)에서 위협 분석을 담당하고 있습니다.