소만사 | LAPSUS$ 그룹 자체개발- 헥사로커(HexaLocker) 랜섬웨어

랜섬웨어 리포트

매달 하나의 악성코드/랜섬웨어를 선정하여 상세 리포트를 제공합니다.
소만사 유지관리고객이 되시면 악성코드 분석 전문가가 직접 샘플을 입수하여 분석한 최신 악성코드/랜섬웨어 리포트를 가장 빠르게 받아보실 수 있습니다.

랜섬웨어

LAPSUS$ 그룹 자체개발- 헥사로커(HexaLocker) 랜섬웨어

[소만사 악성코드 분석리포트 ] “HexaLocker 랜섬웨어 분석

국내 대기업도 계정, 소스코드 유출피해, LAPSUS$ 그룹의 자체개발

 

1. 요약
      1) LAPSUS$ 그룹은 2021년 하반기에 최초로 식별, 각국의 잘 알려진 기업 및 기관을 공격하여 빠르게 유명세를 얻음

 

      2) 피해사례:      ① 마이크로소프트: Bing, Bing Maps, Cortana 소스코드 유출      ② 엔비디아: 1TB 민감정보 탈취 70,000개 이상의 직원 이메일 주소, NTLM 암호 해시, 소스코드 스크린샷 포함      ③ 국내 S사: 최신 모델 관련 소스코드 유출      ④ 국내 L사: 직원 및 서비스 계정들의 모든 해시가 포함된 덤프파일 유출

 

      3) LAPSUS$ 그룹은 텔레그램 채널에서 랜섬웨어 판매중, 해당 그룹이 개발한 HexaLocker 랜섬웨어에는 두 가지 유형 존재
     ① HexaLocker: 파일 암호화, 파일 유출 수행, 기존의 LAPSUS$ 랜섬웨어의 랜섬노트와 유사      ② HexaLocker RaaS: HexaLocker와 기본적인 기능은 동일, 디버깅방지, 가상화환경방지 등 방어 관련 기능 추가

 

2. 대응 방안
     1) EDR/AV 솔루션 적용 (행위기반으로 차단)
     2) 주요 데이터는 주기적인 백업을 통해 시스템 파괴 시에도 복구가 가능하도록 대비
     3) 논리적 망분리(VDI)를 적용하여 악성코드 PC 유입을 원천 차단
     4) 신뢰할 수 없는 메일의 첨부파일 실행 금지
     5) 비 업무 사이트 및 신뢰할 수 없는 웹사이트의 연결 차단
     6) PC취약점 점검과 조치 (OS나 어플리케이션은 가급적 최신 버전 유지하며 취약점 점검 및 조치)

 

────────────────────────────────────────────────────────────

1. 개요

1.1 배경

LAPSUS$ 그룹은 2021년 하반기에 최초로 식별됐다.
각국의 잘 알려진 기업 및 기관을 공격하여 빠르게 유명세를 얻었다.
범행 동기는 금전적 이득이다.
2022년, 주요 구성원 및 관련자들이 체포됐다.
LAPSUS$는 텔레그램을 주 소통 채널로 삼아 활동했다. 2022년 3월 이후 소식이 끊겼으나
지난 2023년 12월, LAPSUS$는 새로운 텔레그램 채널과 트위터 계정을 생성하여 복귀를 알렸다.

 

[그림 1] LAPSUS$ 공식 텔레그램 채널 구성도

 

이들이 이전의 LAPSUS$ 멤버 중 일부인지 또는 그들과 연결고리가 있는지는 알 수 없다.
돌아온 LAPSUS$의 멤버는 최소 5명 이상으로 추정되며
최소 3명 이상이 프랑스어를 구사하는 것으로 확인됐다.
이들은 총 4개의 텔레그램 채널을 운영했는데,
그들이 쓴 글, 채팅, 악성코드 등 다양한 곳에서 프랑스어를 확인할 수 있었다.
LAPSUS$ 채널에는 그들이 성공한 디페이스 공격, 탈취한 데이터 등 성과를 위주로 게시했다.

 

[그림 2] LAPSUS$ 멤버 모집 홍보글

 

LAPSUS$의 관리자 중 한 명인 ZZART3XX는 LAPSUS$ 채널에
자신이 개발한 랜섬웨어의 광고글을 게시하다가
HexaLocker 랜섬웨어 런칭 이후부터는 직접 채널을 개설하여 광고하고 있으며,
해당 채널에서는 랜섬웨어 광고와 더불어 랜섬웨어를 유포할 계열사를 모집하기도 했다.
Defacers Division 채널과 TDG 채널에서는 디페이스 공격에 대한 내용이 주를 이룬다.
특히 Defacers Division 채널에는 [그림 2]와 같이 LAPSUS$의 멤버를 모집하기 위한
홍보글이 게시되어 있는데, 지원자의 역량을 시험하기 위해 디페이스 공격에 대한
결과물을 제출하는 것을 테스트 조건으로 삼고 있다.

 

[그림 3] 텔레그램 채널과 개인 계정을 정지당한 LAPSUS$

 

2024년 9월 중순, LAPSUS$가 운영하던 텔레그램 채널 4개를 포함하여
Sparked, ZZART3XX 등 주요 관리자들의 개인 계정이 돌연 정지당했다.
지난 8월 24일, 텔레그램 CEO 파벨 두로프가 프랑스에서 체포당한 후
이들은 공식 채널에서 계정 운영에 대한 우려를 표한 바 있다.
이들의 계정 정지와 텔레그램 CEO의 체포 사이에 대한 연관성은 미지수이지만,
이를 계기로 LAPSUS$가 소통 채널을 다른 플랫폼으로 옮길 가능성이 높아 보인다.

 

[그림 4] LAPSUS$ 랜섬웨어 소개글

 

과거의 LAPSUS$는 랜섬웨어를 개발하여 유포하는 갱단과는 거리가 멀었다.
2023년, CISA에서 발간한 보고서01에 따르면 초기 침투 이후 그들의 목표는 데이터 탈취,
디페이스 공격 등이었고 데이터 암호화는 해당되지 않았다.
또한 악성코드를 직접 개발해 판매했다는 사실은 보고된 바가 없었다.
그러나 새로 돌아온 LAPSUS$는 그렇지 않다.
이들의 관리자 중 한 명인 ZZART3XX는 특히 랜섬웨어 개발에 적극적이다.
2024년 3월, ZZART3XX는 직접 개발한 LAPSUS$ 랜섬웨어의 소개글과
데모 영상을 텔레그램 채널 및 깃허브에 게시하여 랜섬웨어에 대한 사용권과 소스코드를 판매했다.

[그림 5] HexaLocker 랜섬웨어 소개글(출처: SYNACKTIV)

 

2024년 7월 6일, HexaLocker 텔레그램 홍보 채널이 개설되고, 8월 9일에 홍보글이 게시되었다.
랜섬웨어는 ZZART3XX가 개발하였으며 Go언어로 작성되었다.
HexaLocker 랜섬웨어에는 파일 탈취 기능이 포함되었다.
이는 LAPSUS$ 랜섬웨어에는 존재하지 않았던 기능이다.
소만사 악성코드 분석 센터에서 수집한 HexaLocker 랜섬웨어는 크게 두 가지 유형이 존재했다.


[2.1 침해지표 – HexaLocker]은 첫 번째 유형으로 7월 4일부터 7월 14일까지 발견됐다.
CryptoClipper라는 다운로더와 연관된 이 버전은 공격자의 디스코드 서버로부터 내려받아져 실행됐다.
흥미롭게도 LAPSUS$ 랜섬웨어의 데모 영상에서 확인된
랜섬노트의 본문은 이 버전의 랜섬노트와 유사했다.


[2.1 침해지표 – HexaLocker RaaS]는 두 번째 유형으로 7월 27일부터 9월 3일까지 발견됐다.
다른 다운로더와 연관되어 여러 단계로 유포되는 흔적은 발견되지 않았으며
함수명이나 랜섬노트 본문 내용이 전과 완전히 바뀌고 분석/탐지 방지 등 방어와 관련된 기능도 추가됐다.

 

[그림 6] HexaLocker 관리자 페이지 (대시보드)

 

[그림 7] HexaLocker 관리자 페이지 (감염PC 목록)

 

[그림 8] HexaLocker 관리자 페이지 (피해자와 1:1 채팅)

 

9월 17일, ZZART3XX는 HexaLocker 텔레그램 채널에 개발 진척사항을 추가로 공개했다.
웹 UI를 기반으로 공격자가 감염PC에 대한 현황 및 관리,
피해자 연락 기능을 추가했다.
기존에는 랜섬노트에 Tox ID를 남겨 피해자가 연락을 할 수 있도록 유도했으나
추후 릴리즈 될 버전은 랜섬노트에 웹 브라우저에서 접속 가능한 대화 채널 링크가 포함될 것으로 추측된다.

 


────────────────────────────────────────────────────────────

2. 정보

2.1 침해지표

① CryptoClipper (HexaLocker 다운로더 유형)

 

② HexaLocker

 

③ HexaLocker RaaS

 

 

2.2 MITRE ATT&CK
① Defense Evasion
• (T1497.001) Virtualization/Sandbox Evasion: System Checks
• (T1497.003) Virtualization/Sandbox Evasion: Time Based Evasion
• (T1622) Debugger Evasion


② Discovery
• (T1082) System Information Discovery


③ Collection
• (T1560.002) Archive Collected Data: Archive via Library


④ Exfiltration
• (T1041) Exfiltration Over C2 Channel
• (T1567.004) Exfiltration Over Web Service: Exfiltration Over Webhook


⑤ Impact
• (T1485) Data Destruction

• (T1486) Data Encrypted for Impact

 


────────────────────────────────────────────────────────────

3. 분석
3.1 HexaLocker

 

[그림 9] HexaLocker 실행 흐름도

 

[그림 10] 실행파일 내에 하드코딩 된 CryptoClipper 소스코드 경로

 

Go 언어는 기본적으로 컴파일 후 실행파일 내에
소스코드 파일이나 써드파티 라이브러리 파일 경로 등이 포함되는데,
이로부터 악성코드 개발자 환경에 위치한 소스코드 파일 경로로 보이는 문자열 중
프로젝트명 CryptoClipper를 찾았다.


CryptoClipper는 추가 악성코드를 내려받아 실행하는 다운로더이다.
이 다운로더는 Living Off Trusted Sites(LOTS) 전략을 사용해
널리 사용되는 도메인으로부터 악성코드를 내려받는 특징이 있다.

 

발견된 유형은 두 가지로, 하나는 개발자의 깃허브 공개 레포지토리에서
오픈소스 인포스틸러 CStealer를 내려받는 유형,
또 다른 하나는 미상의 디스코드 서버에서 HexaLocker 랜섬웨어를 내려받는 유형이다.
본 보고서에서는 후자에 대해서만 다룬다.


CryptoClipper 2번 유형은 %TEMP% 폴더 하위에 [a-zA-Z0-9]{8} 형식의 무작위 이름을 가진
폴더를 생성한 뒤, 그 곳에 디스코드 서버로부터 HexaLocker 랜섬웨어를 내려받아 실행한다.

 

[표 1] HexaLocker 랜섬웨어 다운로드 링크 목록

 

디스코드 다운로드 링크는 GET 메서드 인수 중 is 값을 통해서
해당 첨부파일이 언제 서버에 업로드됐는지 알 수 있다.
한국시간(UTC+9)을 기준으로 [표 1]의 ransom.exe는 2024년 7월 6일 21시 31분 36초,
Fortnite.exe는 2024년 07월 06일 21시 36분 54초에 업로드됐다.
디스코드 다운로드 링크는 업로드 시점으로부터 24시간까지만 유효하기에 현재는 두 링크 모두 만료됐다.

 

[그림 11] 실행파일 내에 하드코딩 된 HexaLocker 소스코드 경로

 

[표 2] 감염PC 식별 정보 전송 목적지 C2 URL (1)

 

감염PC 식별 정보는 두 차례에 걸쳐 C2 서버에 HTTP GET 메서드 인수 형태로 전송된다.
hwid 인수는 wmic csproduct get UUID 명령으로 조회한 SMBIOS UUID 값이고,
password는 [a-zA-Z0-9]{10} 형식의 무작위 문자열이다.
ip는 감염PC의 네트워크 인터페이스 IP주소가 아닌
하드코딩 된 더미값만 보내므로 공격자에게 유의미한 정보는 아니다.

 

[표 3] 감염PC 식별 정보 전송 목적지 C2 URL (2)

 

두 번째는 [A-Z0-9]{10} 형식의 무작위 트랜잭션 ID를 추가로 전송한다.
이는 동일한 시스템에 대해 여러 번 감염시켰을 경우를 위한 식별자인 것으로 추측된다.

 

[표 4] 파일 전송 목적지 C2 URL

 

・ %USERPROFILE%\Desktop
・ %USERPROFILE%\Documents
・ %USERPROFILE%\Downloads
・ %USERPROFILE%\Pictures
・ %USERPROFILE%\Music
・ %USERPROFILE%\Videos

 

HexaLocker의 특징 중 하나는 파일 암호화뿐만 아니라 파일 유출 기능도 함께 가지고 있다는 점이다.
랜섬웨어는 위 6개 폴더 하위에 존재하는 파일을 ZIP 형식으로 압축하여
%TEMP%\Copy.zip 경로에 저장한다.
압축 파일은 디스코드 웹훅 API를 통해 공격자가 관리 중인 디스코드 서버로 전송된다.

 

[표 5] 파일 암호화 대상 확장자 목록(총 243개)

 

파일 탐색 최상위 경로는 C:\Users로 사용자 폴더 하위에 존재하는 파일 중
[표 5]와 일치하는 확장자를 가진 파일을 암호화 대상으로 삼는다.
이 때, 탐색 경로에서 appdata 문자열을 가진 경로는 제외된다.
암호화 알고리즘은 AES-GCM-256을 사용한다.
대칭키는 키 파생 함수 PBKDF2를 사용해 [0-9a-f]{64} 형식의 무작위 비밀번호와
16자 길이의 무작위 솔트를 통해 생성한 SHA-256 해시를 가지고 사용된다.
암호화 된 파일은 .hexalock 확장자가 끝에 추가된다.
만일, 파일 암호화에 실패할 경우 랜섬웨어는 해당 파일을 NULL 바이트로 덮어쓴다.

 

[표 6] HexaLocker 랜섬노트 본문

 

파일 암호화 작업이 끝나면 %USERPROFILE%\Desktop\ReadMe.txt 경로에 랜섬노트를 생성한다.
랜섬노트 본문에 암호화폐 지갑 주소가 포함되어 있지만,
모네로는 잔액이나 트랜잭션 기록을 제 3자가 확인할 수 없는 화폐이기에
실제 피해자가 발생했는지 그 여부는 확인할 수 없다.
참고로 이 랜섬노트 본문은 올 초에 LAPSUS$가 홍보했던 LAPSUS$ 랜섬웨어의 랜섬노트와 유사하다.

 


────────────────────────────────────────────────────────────

3.2 HexaLocker RaaS

 

[그림 12] 실행파일 내에 하드코딩 된 HexaLocker RaaS 소스코드 경로

 

HexaLocker RaaS는 랜섬웨어 실행파일 내에 존재하는 소스코드 경로에서 프로젝트 이름을 따 온 것이다.
대부분의 샘플에서 해당 문자열을 프로젝트 이름으로 사용한 것이 확인됐지만,
그 중에서는 일부 다른 이름으로 된 버전도 존재했다.
그러나 이름과 관계없이 랜섬웨어의 코드는 같았다.

 

[그림 13] HexaLocker RaaS 실행 흐름도

 

HexaLocker RaaS는 기존과 다르게 서버로부터 명령을 수신한다.
명령은 파일 암호화 명령과 복호화 명령으로 구분된다.
분석 결과 복호화 기능은 미완성이었다.
따라서 동작은 파일 암호화 명령을 전달받아 감염PC 내 파일을 암호화하거나
또는 아무런 명령도 전달받지 않아 실행을 종료하는 것으로 구분된다.
암호화를 수행한다면 감염PC 내 개인 파일을 C2 서버로 업로드하는 것까지 이어진다.

 

[표 7] 두 랜섬웨어의 함수명 목록 (HexaLocker 좌, HexaLocker RaaS 우)

 

HexaLocker와 함수명을 대조해 보면
HexaLocker RaaS는 기존으로부터 코드의 일부가 수정된 것이 아니라
새로 작성된 랜섬웨어일 확률이 높다.
두 랜섬웨어는 공통적으로 감염PC 식별 정보 및
개인 파일 전송, 파일 암호화 등 주요 기능을 포함하였고,
디버깅 방지와 가상화 환경 방지 등 방어와 관련된 기능은 HexaLocker RaaS에서 새로 추가되었다.

 

[그림 14] GoDefender 소개 사진

 

HexaLocker RaaS의 방어 기능은 오픈소스 써드파티 라이브러리로 구성된다.
한 샘플에서는 chacal02 을 사용하여 디버깅 방지 및 가상화 환경 방지 기능을 탑재하였으나
가장 최근 발견된 샘플들은 모두 GoDefender03 1.1.1 버전을 사용하였다.
GoDefender는 앞서 말한 두 기능에 더불어
보안 제품의 유저랜드 API 후킹 방지 기능이 추가된 오픈소스 라이브러리이다.

 

[표 8] HexaLocker RaaS에서 사용한 GoDefender 방어 기능 목록

 

HexaLocker RaaS에서 사용한 GoDefender의 기능과 사용자 설정 값은 [표 8]과 같다.
나열된 탐지 조건과 매칭되면 랜섬웨어는 더 이상 실행되지 않고 종료된다.
라이브러리의 소스코드를 임의로 커스터마이징한 흔적은 발견되지 않았다.

 

  

[표 9] GoDefender 창 제목 블랙리스트

 

또한, GoDefender는 분석 프로그램으로 의심되는 프로세스가 존재한다면
해당 프로세스를 종료시키는 기능을 가지고 있다.
HexaLocker RaaS는 이를 통해 창 제목에 [표 9]의 문자열이 포함되는 프로세스를 강제 종료시킨다.

 

 

[표 10] 랜섬웨어 실행파일에 하드코딩 된 공격자의 RSA 공개키

 

HexaLocker RaaS는 파일 암호화에 AES-GCM-256 알고리즘을 사용한다.
이에 사용할 32자 길이의 대칭키는 [a-zA-Z0-9]{50} 형식의 무작위 비밀번호와
무작위 16자 솔트 값을 가지고 키 파생 함수 Argon2를 통해 생성된다.
파일을 암호화하는 대칭키가 매 실행마다 달라지므로 랜섬웨어는 이후에 이를 C2 서버로 전송한다.
이 때, 대칭키를 평문이 아닌 [표 10]의 RSA 공개키를 사용해 암호화 및 Base64 인코딩한다.

 

[표 11] 감염PC 식별 정보 전송 목적지 C2 URL

 

 

[표 12] 감염PC 식별 정보 구성

 

C2 서버에 감염PC를 등록하기 위해 [표 12]와 같이
시스템 식별 정보와 파일 암호화에 사용할 암호키 정보를 HTTP GET 메서드로 전송한다.

 

[그림 15] 빈 응답 값을 반환하는 C2 서버

 

감염PC 식별 정보 전송 후 랜섬웨어는 C2 서버로부터 명령 수신을 기대한다.
명령은 돌아오는 HTTP 응답 본문에 포함되며
파일 암호화 명령 ‘encr’와 파일 복호화 명령 ‘decr’로 구분되지만,
수집된 샘플들은 파일 복호화 기능이 아직 미완성인 것으로 확인됐다.
응답 값이 둘 모두 해당되지 않을 경우 랜섬웨어는 악성 행위를 수행하지 않고 종료된다.
분석 당시에 C2 서버는 온라인 상태였지만 어떠한 명령도 전달하지 않았다.

 

[표 13] 파일 암호화 대상 검색어 목록(총 474개)

 

파일 암호화 대상은 [표 13]과 같다. 식별 기준이 파일 확장자가 아니라
파일명의 마지막이 해당 문자열로 끝나는지를 확인하기 때문에
확장자가 존재하지 않는 파일도 암호화 대상에 포함될 수 있다.
특이하게도 암호화 대상 파일을 탐색하기 위한 최상위 폴더가 샘플마다 상이했는데,
C:\, C:\Users, %USERPROFILE% 하위의 개인 폴더 등 다양했다.

 

 

   

[표 14] HexaLocker RaaS 랜섬노트 본문

 

랜섬노트는 %USERPROFILE%\Desktop\ReadMe.txt 경로에 생성되며
메모장 앱으로 화면에 표시된다. 본문 내용은 [표 14]와 같다.
구버전 중에서는 파일 암호화 이전에 랜섬노트를 생성하는 샘플도 존재하였다.

 

[표 15] 파일 유출 대상 확장자 목록(총 52개)

 

 

[표 16] 파일 전송 목적지 C2 URL

 

마지막으로 감염PC 내 파일을 ZIP 형식으로 압축하여 C2 서버에 HTTP POST 메서드로 전송한다.

・ %USERPROFILE%\Desktop

・ %USERPROFILE%\Documents

・ %USERPROFILE%\Favorites

・ %USERPROFILE%\Pictures

・ %USERPROFILE%\Videos

 

위 5개 폴더 하위에 존재하는 파일 중 [표 15]에 나열된 확장자를 가진 파일이 유출 대상에 속하며,

압축 파일은 %TEMP%\.zip 경로에 저장된다.

확장자를 보면 평문 파일이 아닌 암호화 된 파일이 대상인 것을 알 수 있는데,

이는 앞서 감염PC의 식별 정보를 서버로 전송할 때

AES-256 대칭키와 nonce 값이 정상적으로 전달이 되어야 공격자가 이를 복호화 할 수 있음을 말한다.

 


────────────────────────────────────────────────────────────

4. Privacy-i EDR 탐지 정보

[그림 16] HexaLocker 실시간 행위 탐지 정보

 

[그림 17] 실시간 파일 복구 완료 알림 메시지


Privacy-i EDR의 행위 기반 탐지 엔진은 랜섬웨어의 파일 암호화와 같이
시스템 내에서 발생하는 비정상적인 I/O를 탐지하여
HexaLocker 랜섬웨어를 차단하고 감염된 파일을 실시간 복구하였다     

 


────────────────────────────────────────────────────────────

5. 대응
1. Privacy-i EDR과 같은 EDR 제품을 통해 취약점 실행을 행위 기반으로 차단


2. 주요 데이터는 주기적인 백업을 통해 시스템 파괴 시에도 복구가 가능하도록 대비


3. 논리적 망분리를 적용하여 악성코드 PC 유입을 원천 차단


4. AV(패턴기반탐지) + EDR(행위기반탐지) 솔루션


5. PC 취약점을 주기적으로 점검, 보완


6. 신뢰할 수 없는 메일의 첨부파일 실행 금지


7. 비 업무 사이트 및 신뢰할 수 없는 웹사이트의 연결 차단


8. OS나 어플리케이션은 최신 형상 유지

 

PDF로 리포트 자세히 보기
이전글 허가받은 서명 적용된 정상 드라이버로 위장 -“EDR 킬러“ BYOVD 공격 2024.10.11
다음글 Conti, Diavol 등 랜섬웨어 유포에 악용 – 악성코드 로더‘Bumblebee’ 2025.01.15
목록