보안 위협 분석

온라인 문의

RansomHouse 분석

악성코드 분석        2026-02-04

1) 개요

RansomHouse는 2021년 12월경 처음 등장한 지능형 사이버 범죄 조직으로, 데이터 유출(Data Exfiltration)과 이중 협박(Double-Extortion)을 주 전략으로 삼는 서비스형 랜섬웨어(Ransome-as-a-Service) 운영 그룹이다. 이 그룹은 의료, 금융, 교통, 정부 등 주요 분야를 대상으로 공격을 진행했으며, 이러한 침입으로 인해 막대한 재정적 손실, 대규모 데이터 유출, 그리고 해당 기관에 대한 대중의 신뢰 하락 등의 결과가 발생하였다.
이들은 기업의 데이터를 암호화하여 접근을 차단할 뿐만 아니라, 데이터를 훔친 뒤 협박하여 금전을 갈취하는 방식을 사용하였다.  공격은 주로 공개된 취약점을 악용하며, 맞춤형 멀웨어와 다양한 도구를 사용하여 네트워크 측면 이동을 수행한다. 시스템에 침입 후 데이터 유출에 집중하며, 이를 빌미로 금전을 갈취한다.
RansomeHouse은 기업용 하이퍼바이저 플랫폼인 VMware ESXi 인프라를 표적으로 삼는 것으로 알려져 있다. 이러한 ESXi 인프라를 표적으로 삼는 이유는 공격에 성공하면 수십 또는 수백 대의 가상머신을 한 번에 암호화하여 공격을 극대화할 수 있기 때문이다. 공격에 사용되는 도구는 고유한 랜섬웨어 변종인 Mario ESXi와 Windows 및 Linux 기반 시스템 공격에 사용하는 MrAgent 라는 악성코드를 사용한다. 

<그림 1> ESXi 환경에서 RansomHouse 동작 구성도(출처 : paloaltonetworks) 

2) MrAgent 분석

MrAgent는 하이퍼바이저에서 실행되도록 설계된 바이너리로, 다수의 하이퍼바이저 시스템으로 구성된 대규모 환경에서 랜섬웨어 배포를 자동화하고 추적하는데 특화되어 있다. 해당 악성코드가 실행되면 현재 동작중인 시스템이 ESXi인지 확인하기 위해 esxcli 명령어를 실행한다. 

<그림 2> Vmware ESXi 환경 확인 

동작 환경이 ESXi가 맞다면 시스템 정보를 수집한다. uname, MAC, IP 정보를 수집한 뒤 방화벽을 해제한다. 각 명령어는 esxcli를 통해서 실행된다. 

<그림 3> 호스트 정보 수집 및 방화벽 해제 

시스템의 기본적인 정보 수집 후 C2와 통신을 시도한다. C2와 연결에 성공하면 “FASF)@#$#k”라는 문자열을 전송한다.  그 후 C2 서버에 지속적으로 상태 확인 신호를 전송한다. 

<그림 4> C2 연결 확인 

그 후 아래와 같이 C2서버에서 명령을 받을 때 까지 대기한다. 

<그림 5> C2 명령어 확인 

각각에 명령어에 대한 동작은 아래와 같다. 

명령어 동작
Abort
재부팅 후 하이퍼바이저가 지연 단계에 있는 경우 암호화 시작을 중단
Abort_f
MrAgent가 생성한 스레드를 종료
Config
랜섬웨어 배포에 사용되는 로컬 구성을 덮어씀
Exec
랜섬웨어 배포를 시작하여 루트 암호를 변경하고, /etc/init.d/vpxa stop을 통해 vCenter 원격 관리를 비활성화한 다음 가상 머신 암호화
InfoESXi 호스트 정보를 검색
Run./shmv 파일에 쓰기를 통해 ESXi 호스트에서 임의의 명령을 실행
Removerm -rf [파일 이름 또는 경로] 명령을 실행하여 ESXi 호스트에서 콘텐츠를 제거
Quitrm -f 명령어를 사용하여 MrAgent 바이너리를 종료하고 제거
Welcomeesxcli system welcomemesg set -m=" [메시지 내용] " 명령어 를 통해 호스트에 ESXi 환영 메시지를 설정

[표 1] MrAgent의 명령어 

명령어중 일부 중요한 기능들을 분석해 보면, Welcome 명령어의 경우 ESXi 접근 시 출력되는 메시지 내용을 변경하는 명령어로, 랜섬웨어로 ESXi 시스템 암호화 후 피해자가 ESXi 접근시 출력해줄 랜섬노트를 설정하기 위해서 사용되는 명령어이다. 

<그림 6> Welcome 명령어 

랜섬웨어 배포는 Exec 명령어를 통해 이루어진다. Exec 명령어 내부에는 세부적인 동작들을 쓰레드를 통해서 실행한다. 우선 암호화할 파일들의 경로를 수집하기 위해 ESXi 내 저장소를 확인한다. 

<그림 7> ESXi 저장소 확인 

그 후 각 저장소 마다 find 명령어로 특정 파일 확장자를 가진 파일들을 검색한다. 파일 검색 시 /sys, /proc, /run, /var/log 디렉토리는 검색 대상에서 제외한다. 

<그림 8> 암호화할 파일 경로 확인 

아래는 암호화하는 확장자들의 각 기능을 설명한 것이다. 가상머신의 운영에 중요한 역할을 하는 파일들로 해당 파일들이 암호화되면 가상머신을 사용할 수 없게 된다. 

확장자명 파일 설명
.vmdk
VMware 및 VirtualBox와 같은 가상머신에서 사용하는 가상 디스크 파일
.ovf, .ova
가상머신 배포 및 패키지 포맷
.vmem
호스트 시스템에서 가상 머신의 RAM 내용을 백업한 파일
.vswp
호스트의 물리적 메모리가 부족할 때 메모리 페이지를 하드 드라이브로 스왑
.vmsd, .vmsn
스냅샷 관련 데이터 및 메타데이터
.vib, .vbk, .vbm
백업(Veeam 등) 또는 설치 소프트웨어 패키지

[표 2] 확장자별 기능 

그 후 파일의 확장자중에 “.mario, .wmario, .lmario, .emario, .nmario, .mmario” 문자열이 들어있는지 확인한다. 

<그림 9> 랜섬웨어 감염 확장자 확인 

ESXi에 관리자의 접속을 막기 위해 sshd 프로세스를 강제로 종료한다. 또한 ESXi 서버와 통신시 사용되는 vCenter Agent(vpxa) 서비스를 종료한다. 

<그림 10> sshd 강제 종료 

<그림 11> vCenter Agent(vpxa) 서비스 종료 

sshd 및 agent 서비스 종료 후 Host의 패스워드 변경을 시도한다. 이러한 동작들을 통해서 ESXi 관리자가 접속할 수 없게 하여, 협박의 효과를 더욱더 높인다. 

<그림 12> 패스워드 변경 

그 후 원활한 암호화를 위해 실행중인 VM 프로세스를 종료한다. 

<그림 13> VM 프로세스 종료 

임의의 명령을 실행하기 위해 “shmv” 파일을 생성한다. 해당 파일에 원하는 명령어를 입력 후 실행하는 방식으로 명령을 실행하며, Mario 랜섬웨어 실행에 사용된다. 

<그림 14> shmv 파일을 이용한 랜섬웨어 실행 

그 후 /var/log 경로의 로그 파일을 삭제하여 흔적을 제거한다. 

<그림 15> 로그 파일 삭제 

2) Mario 랜섬웨어

MrAgent에서 전달받은 경로를 암호화하는데 사용된다. 몸값 요구 메시지 작성, 파일 암호화, 통계 기능이 있다. 실행되면 파라미터로 전달받은 파일 경로를 대상으로 암호화를 시도한다. 효율적인 암호화를 위해 시스템 리소스를 확인하여  쓰레드 풀을 초기화한 뒤 쓰레드를 통해 파일 암호화를 실행한다. 

<그림 16> 파라미터 확인 및 시스템 리소스 확인 

파일 암호화 함수가 실행되면 해당 경로에 랜섬 노트를 생성하고, 암호화할 확장자를 확인한다. 그 후 쓰레드를 통해 암호화를 실행한다. 

<그림 17> 쓰레드를 통해 암호화 진행 

파일 암호화에 대한 정보는 아래와 같이 출력되며, 크기가 큰 파일의 경우 일정 크기로 파일을 쪼개서 암호화를 진행한다. 암호화 진행 현황에 대해서 통계 정보도 같이 출력한다. 

<그림 18> 암호화 현황 및 통계 출력 

랜섬노트의 경우 아래와 같이 마리오 캐릭터가 표시되며, 표시된 Tor 주소로 가면 피해자에 대한 게시 및 증거 자료로 수집한 정보 일부를 확인할 수 있다. 

<그림 19> 랜섬 노트 

3) 결론

RansomHouse는 단순한 랜섬웨어 유포지를 넘어, 데이터 유출(Data Exfiltration)과 이중 협박(Double-Extortion) 에 특화된 고도화된 사이버 범죄 그룹이다. 이들은 자체 개발한 MrAgent와 같은 도구를 활용하여 특히 보안 가시성이 낮은 VMware ESXi 및 Linux 환경을 집중적으로 공략하고 있다.
기존의 랜섬웨어 그룹이 단순히 암호화에 치중했던 것과 달리, RansomHouse는 기업의 보안 취약점을 조롱하거나 탈취한 데이터를 인질로 삼아 협상을 주도하는 등 심리적·평판적 압박을 극대화하는 전략을 구사한다. 분석 결과, 이들은 타깃 네트워크 침투 후 권한 상승, 방어 체계 무력화, 데이터 유출 단계를 거쳐 최종적으로 가상화 인프라를 마비시키는 치밀한 공격 체계를 보유하고 있음을 확인하였다.
RansomHouse의 공격은 기술적 정교함뿐만 아니라 기업의 비즈니스 연속성을 직접적으로 위협하는 형태를 띠고 있다. 따라서 단순히 개별 시스템의 보안을 넘어, 전사적인 제로 트러스트(Zero Trust) 아키텍처 도입과 실전적인 침해 사고 대응 훈련을 통해 회복 탄력성(Resilience)을 확보하는 것이 무엇보다 중요하다. 

4) IoC

SHA256
MrAgent

26b3c1269064ba1bf2bfdcf2d3d069e939f0e54fc4189e5a5263a49e17872f2a
8189c708706eb7302d7598aeee8cd6bdb048bf1a6dbe29c59e50f0a39fd53973
bfc9b956818efe008c2dbf621244b6dc3de8319e89b9fa83c9e412ce70f82f2c

Mario 랜섬웨어
0fe7fcc66726f8f2daed29b807d1da3c531ec004925625855f8889950d0d24d8
d36afcfe1ae2c3e6669878e6f9310a04fb6c8af525d17c4ffa8b510459d7dd4d
3934b3da6bad0b4a28483e25e7bab919d7ed31f2f51cca22c56535b9f8183a0e
afe398e95a75beb4b0508c1bbf7268e8607d03776af0b68386d1e2058b374501
2c1a4fe4a2ac4f0a49052f9521458136eb477fe23665dc4b7076fbd32de3005d
2c1475f1b49a8b93a6c6217be078392925535e084048bf04241e57a711f0f58e
0a77e537c64336f97a04020e59d17d09d459d1626a075878e2b796d1e1033038 

5) YARA Rule

rule RansomHouse_MrAgent_Generic {
    strings:
        $s1 = "FASF)@#$#k" ascii
        $s2 = "shmv" ascii
        $s3 = "emario" ascii
        $s4 = "/usr/bin/esxcli" ascii
       
        $n1 = "RansomHouse" nocase ascii
        $n2 = "How To Restore Your Files" ascii
       
        $m1 = "MrAgent" ascii
        $m2 = "mario" ascii nocase

    condition:
        (uint16(0) == 0x457f or uint16(0) == 0x5a4d) and
        (
            (3 of ($s*)) or
            (all of ($n*)) or
            (1 of ($m*))
        )
}


rule RansomHouse_Mario_RansomNote_Text
{
  strings:
    $h1 = "HOW TO CONTACT US" ascii nocase
    $h2 = "Download and install TOR Browser" ascii nocase
    $h3 = "torproject.org" ascii nocase

    $on1 = "zohlm7ahjwegcedoz7lrdrti7bvpofymcayotp744qhx6gjmxbuo2yid" ascii
    $on2 = "rjm32rlln63uakqiztznuahpo3dsp2hja7roiwbitewmsm4dnrbofoyd" ascii
    $tg1 = "t.me/RHouseNews" ascii nocase

    $p1 = "Disclosed in 5 Days" ascii nocase
    $p2 = "Decryption keys will be permanently destroyed" ascii nocase
    $p3 = "Deletion of your decryption keys" ascii nocase

  condition:
    filesize < 300KB and
    (
      3 of ($h*) or
      (1 of ($on*) and 1 of ($h*) and 1 of ($p*)) or
      ($tg1 and 2 of ($h*, $p*))
    )

6) 참고자료

  • 목록
문의