랜섬웨어 리포트

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

악성코드 분석

북한 라자루스 그룹 Comebacker 악성코드 분석

[소만사 악성코드 분석리포트]

2月, 중동 및 미국 의료·비영리 기관 공격 주범
북한 라자루스 그룹 Comebacker 악성코드 분석

Comebacker Malware Analysis Report

 

본 리포트는 북한 라자루스(Lazarus) APT 해킹그룹이 사용한 Comebacker 악성코드를 분석합니다.

Comebacker 악성코드는 정상 서비스로 위장해 시스템에 상주하며 원격 제어를 수행하는 RAT(Remote Access Trojan) 백도어입니다.

특히 암호화 알고리즘으로 탐지를 회피하고, 3가지 동작 모드와 27종의 C2 명령 실행으로 시스템을 장악하는 특징이 있습니다.

Medusa 랜섬웨어 공격의 침투 도구인 Comebacker 악성코드의 기술적 특징과 Privacy-i EDR을 통한 선제적 차단 방안을 소개합니다.

 

 

요약

  1. 1) 2026년 2월, 북한 연계 해킹조직 라자루스(Lazarus) 그룹이 메두사(Medusa) 랜섬웨어를 활용해 중동 및 미국의 의료·비영리 기관을 공격한 정황이 공개.
  2. 2) 메두사 랜섬웨어 공격체인에서 Comebacker 악성코드가 발견되었으며 Windows 정상 서비스로 위장하여 은밀하게 시스템에 상주.
  3. 3) Comebacker는 HC-256, RC4, RSA, AES 등 다중 암호화 알고리즘을 사용하여 로더 및 C2 통신 과정에서 탐지를 회피.
  4. 4) Comebacker는 메모리 상에서 직접 로드된 후 화면 캡처, 프로세스 제어, 파일 위·변조, 파일 유출 등 27종의 원격 제어를 수행.
  5. 5) Privacy-i EDR 솔루션은 안티바이러스 엔진을 통해 RAT 백도어를 식별하고 초기 침투 단계에서 공격을 선제적으로 차단.
 

 
 

1. 개요

Lazarus–Medusa 랜섬웨어 공동 보고서 페이지

[그림 1] Lazarus–Medusa 랜섬웨어 공동 보고서 페이지

 
2026년 2월 24일, Symantec과 Carbon Black Threat Hunter Team은 공동 보고서를 통해 북한 국가 지원 APT 그룹 Lazarus가 중동 및 미국의 의료 및 비영리 기관을 대상으로 Medusa 랜섬웨어를 배포한 정황을 공개했다. Medusa는 2023년부터 Spearwing 그룹이 운영 중인 서비스형 랜섬웨어(RaaS)로, 현재까지 366건 이상의 피해 사례가 확인되었다.

글로벌 보안 업체들은 본 공격을 Lazarus 그룹의 소행으로 판단했으며, 그 핵심 근거는 공격 체인 내부에서 Lazarus 특유의 백도어인 Comebacker와 Blindingcan이 식별되었기 때문이다. 이는 랜섬웨어 자체보다 침투 단계에서 사용된 고유 백도어 악성코드가 공격자 식별에 있어 높은 신뢰도를 가지는 침해 지표(IoC)로 작용함을 의미한다.

본 보고서는 해당 공격 캠페인에서 시스템 장악 및 정보 탈취에 활용된 Comebacker RAT 백도어의 동작 방식을 분석했다. Comebacker는 Windows 정상 서비스로 위장하여 시스템에 은밀히 상주하며, HC-256, RC4, RSA, AES 총 4종의 암호화 알고리즘을 혼용하여 탐지를 회피한다. 또한 화면 캡처, 프로세스 제어, 파일 유출 등 총 27가지 원격 제어 기능을 수행하는 백도어로 확인되었다.
 
 
 

2. 정보

2.1 침해 지표

로더 (SHA-256)
bf27c5e2591febe90e52cd99231526a342bc423000fe87cce44ef1c3acaeeab5
백도어 (SHA-256)
c60587964a93b650f3442589b05e9010a262b927d9b60065afd8091ada7799fe
 

2.2 MITRE ATT&CK

실행
Execution
(T1059) Command and Scripting Interpreter
지속
Persistence
(T1129) Shared Modules
(T1543.003) Create or Modify System Process: Windows Service
(T1547.001) Registry Run Keys
권한 상승
Privilege Escalation
(T1134) Access Token Manipulation
방어 우회
Defense Evasion
(T1027.002) Obfuscated Files: Software Packing
(T1027.007) Obfuscated Files or Information: Dynamic API Resolution
(T1036) Masquerading
(T1140) Deobfuscate/Decode Files or Information
(T1620) Reflective Code Loading
(T1070.004) File Deletion
탐색
Discovery
(T1016) System Network Configuration
(T1057) Process Discovery
(T1082) System Information Discovery
(T1083) File and Directory Discovery
(T1120) Peripheral Device Discovery
수집
Collection
(T1005) Data from Local System
(T1113) Screen Capture
(T1125) Video Capture
명령 및 제어
Command and Control
(T1008) Fallback Channels
(T1071.001) Web Protocols
(T1105) Ingress Tool Transfer
(T1132) Data Encoding
(T1573.002) Encrypted Channel: Asymmetric Cryptography
측면 이동
Lateral Movement
(T1570) Lateral Tool Transfer
타격
Impact
(T1485) Data Destruction
 
 
 
 

3. 분석

Comebacker 백도어 악성코드 구성도

[그림 2] Comebacker 백도어 악성코드 구성도

 
서비스 등록 후 실행되는 로더는 내부에 RAT 백도어를 포함한 파일로, 복호화 및 로딩 기능을 수행한다.
로더는 내장된 RAT 백도어를 복호화한 뒤 메모리 상에서 실행한다. 실행된 RAT 백도어는 레지스트리에서
C2 서버 주소를 획득하고, 해당 C2 서버로부터 명령을 수신하여 악성 행위를 수행한다.
 
 

3.1 로더 (Loader)

3.1.1 Windows 서비스 실행
ServiceMain 함수

[그림 3] ServiceMain 함수

 

해당 로더는 서비스 형태로 동작하는 파일이다. 해당 파일이 동작하기 위해서는 사전에 권한 상승을 수행한 후
로더 DLL을 서비스로 등록해야 한다. 윈도우 서비스 관리자가 해당 파일을 실행하면 로더 DLL은 높은 권한으로 실행된다.
이후 백그라운드에서 동작하며, 시스템 재부팅 이후에도 자동 실행되어 지속성을 확보한다.

 

 

3.1.2 암호화 방식

로더와 RAT 백도어에는 4종의 암호화 알고리즘이 구현되어 있으며, 각각 다른 목적으로 사용된다.

암호 알고리즘 설명 목적
HC-256 키, IV 기반 스트림 암호 로더 페이로드 및 문자열 복호화
RC4 치환 테이블을 활용하는 스트림 암호 레지스트리 데이터 암/복호화
RSA 공개키/개인키를 가지는 비대칭 암호 C2 서버와 키 교환 간 암/복호화
AES 블록 단위로 처리하는 대칭 암호 모든 C2 명령 및 데이터 암/복호화

 

 

3.1.3 페이로드 복호화 (zlib 압축)
HC- 256 복호화 및 압축 해제 코드

[그림 4] HC- 256 복호화 및 압축 해제 코드

로더 DLL은 내부 .data 섹션에 저장된 암호화 데이터를 하드코딩된 Key로 복호화한다.

 

 

HC-256 복호화 후 데이터

[그림 5] HC-256 복호화 후 데이터

 

zlib 압축 해제 이후 데이터

[그림 6] zlib 압축 해제 이후 데이터

 

복호화 수행 이후 메모리상에서 zlib 시그니처인 [78 01]이 식별된다. 해당 데이터를 압축 해제하면
RAT 백도어의 PE 실행 파일 시그니처인 [4D 5A]가 확인된다.


이는 정적 분석 및 YARA 룰과 같은 시그니처 기반 탐지를 우회하기 위한 목적으로,
RAT 백도어를 zlib 형식으로 압축한 뒤 암호화하여 로더 DLL 내부에 내장하는 방식이다.

 

 

3.1.4 메모리 실행
메모리 로드 및 OPENSSL_NONPIC 호출

[그림 7] 메모리 로드 및 OPENSSL_NONPIC 호출

압축 해제된 RAT 백도어는 메모리 상에서 직접 실행 가능하도록 로드된 후
Export 함수 “OPENSSL_NONPIC”의 주소를 획득하여 실행된다.


이와 같은 방식은 파일 생성 없이 메모리 상에서만 동작하는 fileless 기법으로,
디스크에 파일을 남기지 않고 흔적을 최소화하여 RAT 백도어를 실행하기 위한 행위로 분석된다.

 

RAT 백도어 OPENSSL_NONPIC 함수

[그림 8] RAT 백도어 OPENSSL_NONPIC 함수

메모리에서 실행된 “OPENSSL_NONPIC” 함수는 CreateThread API를 호출하여 독립 스레드를 생성한다.
이를 통해 로더 DLL이 언로드되더라도 생성된 스레드에서 RAT 백도어가 지속적으로 동작할 수 있도록 한다.

 

 

3.1.5 자가 언로드
ServiceMain() 자가 언로드

[그림 9] ServiceMain() 자가 언로드

로더 DLL의 흔적을 제거하기 위해 RAT 백도어 실행 후 2초 대기한 뒤 로더 DLL을 언로드하고 해당 스레드를
종료한다. 이때 메모리에서 동작 중인 RAT 백도어는 별도 스레드에서 실행되므로 종료되지 않는다.


해당 방식은 로더의 실행 흔적을 제거하면서도 백도어의 동작은 유지하여 탐지를 회피하기 위한 목적을 가진다.

 

 

 
 

3.2 RAT 백도어

3.2.1 동작 방식

로더는 실행 시 RAT 백도어를 메모리에 직접 로드한 후 “OPENSSL_NONPIC” 함수를 호출하는 방식으로
동작한다. RAT 백도어 코드에는 인자 값에 따른 3가지 동작 모드(13399, 13398, 13401)가 존재한다.

1) 동작 모드 13399
“OPENSSL_NONPIC” 함수 호출
“MICROSOFT” 인자를 전달하여 실행


2) 동작 모드 13398
“MemloadFunc” 함수를 “MAINFRAME” 인자로 호출
“DIRECTORY” 인자를 전달하여 실행

 

3) 동작 모드 13401
설정 파일 경로를 인자로 전달하여 실행

 

 

1) 동작 모드 13399
세 가지 실행 모드 중 첫 번째인 ‘13399’ 동작 모드는 실행 시 레지스트리에 저장된 암호화된 설정 정보를
복호화한다. 복호화 대상 레지스트리 경로는 “SYSTEM\ControlSet001\Services\kbddes”이다.


설정 정보에는 C2 서버 정보, 호스트 식별을 위한 세션 ID, 서비스 등록 시 사용되는 DLL 경로/서비스 이름,
C2 통신 제어를 위한 프로세스 이름과 대기 시간 등이 포함되어 있다.

 
레지스트리에서 설정 정보 수집

[그림 10] 레지스트리에서 설정 정보 수집

 
세션 ID 초기값과 일치하는지 확인 및 레지스트리 저장

[그림 11] 세션 ID 초기값과 일치하는지 확인 및 레지스트리 저장

복호화된 데이터 중 세션 ID가 초기값인 “549821974578436”와 일치할 경우 아직 세션이 생성되지 않은 것으로 판단하여
호스트 식별을 위한 16바이트 세션 ID를 생성한다. 생성된 세션 ID는 레지스트리에 저장된다.

 
서비스 DLL에 실행 파일 경로 저장

[그림 12] 서비스 DLL에 실행 파일 경로 저장

복호화 과정에서 획득한 DLL 경로/서비스 이름은 서비스 등록에 사용되며,
“SYSTEM\CurrentControlSet\Services[서비스 이름]\Parameters\ServiceDll” 경로에 저장된다.
이후 서비스로 등록되어 시스템 재부팅 후에도 자동 실행되는 지속성을 확보한다.


현재 분석 대상 샘플만으로는 DLL 경로 및 서비스 이름을 확인할 수 없으며, 최초 로더를 실행하는 단계에서
악성코드에 의해 레지스트리에 등록될 것으로 추정된다.

 

Process_Detection 함수

[그림 13] Process_Detection 함수

복호화 과정에서 획득한 프로세스 이름을 현재 실행 중인 프로세스 이름과 비교하여, 일치할 경우 C2 접속을 시도하지 않는다.

 

프로세스 탐지

[그림 14] 프로세스 탐지

프로세스명 비교 후 복호화 값에서 읽어온 대기시간을 기반으로 60초 * 대기시간만큼 대기한다. 이후 동일한 과정을 반복한다.
이는 특정 프로세스명(예: 보안 제품, 분석 도구 등)이 실행 중인 경우 C2 접속 시도를 지연하거나 회피하기 위한 행위로 추정된다.

 

 

2) 동작 모드 13398
두 번째 ‘13398’ 동작 모드는 바이너리에 하드코딩된 “http://10.10.20.150/proxy1/proxy.asp”를 C2 서버
주소로 사용한다. 해당 모드는 ‘13399’ 모드와 달리 별도의 조건 검사 없이 고정 대기시간 5분이 설정된다.

하드 코딩된 설정 정보 획득

[그림 15] 하드 코딩된 설정 정보 획득

10.0.0.0/8 대역은 사설 IP 범위로 외부 인터넷이 아닌 내부망 환경에서 사용되는 주소이다.
또한 .asp 확장자는 Windows IIS 웹 서버에서 동작하는 서버 측 스크립트 파일을 의미한다.


경로에 proxy가 포함된 점을 고려할 때, 내부 웹 서버를 C2 통신의 중계지로 활용하는 것으로 추정된다.

 


 

3) 동작 모드 13401
마지막 ‘13401’ 동작 모드는 인자로 전달받은 설정 파일 내용의 앞 32바이트를 키로 사용하여 암호화된
설정을 복호화한다.


복호화된 내용은 ‘13399’ 모드에서 확인된 구성과 유사하나, 서비스 등록 기능은 수행하지 않는다.
대신 생성된 세션 ID를 저장하기 위한 설정 파일 경로 정보를 포함하는 것이 특징이다.

파일 경로에서 설정 정보 수집

[그림 16] 파일 경로에서 설정 정보 수집

 

 

3.2.2 C2 통신

‘13399’, ‘13401’ 동작 모드일 경우 설정 값에 최대 10개의 C2 서버 주소를 포함할 수 있다.
C2 서버 목록을 순차적으로 순회하며 하나를 선택하고, 해당 서버와의 연결을 준비하는 방식으로 동작한다.

C2 서버 순차적 선택

[그림 17] C2 서버 순차적 선택

다수의 C2 서버 주소를 보유함으로써 일부 서버가 차단되거나 연결에 실패하더라도,
다른 서버를 통해 통신을 지속할 수 있는 구조이다.

 

 

GET 통신 난독화

[그림 18] GET 통신 난독화

IDS/IPS의 시그니처 기반 탐지를 우회하기 위해, C2 서버로 전송할 세션 ID(16바이트)를 셔플 및 커스텀
Base64 방식으로 인코딩한다. 이후 랜덤하게 생성된 0~3개의 더미 파라미터와 결합하여 GET 요청을 보낸다.

 

 

연결 성공 시 복호화 후 C2 명령 확인

[그림 19] 연결 성공 시 복호화 후 C2 명령 확인

C2 서버 연결 성공 시 수신된 응답 데이터가 32바이트 이상일 경우, 앞의 32바이트를 암호화 키로 사용하여
나머지 데이터를 복호화하고 C2 명령에 사용되는 CMD ID를 전달받는다.

 

 

RSA 키 쌍 생성 및 POST 전송

[그림 20] RSA 키 쌍 생성 및 POST 전송

C2 서버로부터 명령을 수신한 후, 후속 통신의 기밀성 확보를 위해 RSA 키 쌍을 생성한다.
생성된 공개키는 POST 방식으로 C2 서버에 전송하고, 개인키는 로컬 메모리에 보관한다.

 

 

RSA공개키로 암호화된 AES Key 복호화 및 AES Key 저장

[그림 21] RSA공개키로 암호화된 AES Key 복호화 및 AES Key 저장

C2 서버로부터 암호화된 AES 세션 키를 수신하면 이를 복호화하여 메모리에 저장한다.
이후 C2 명령 수신 및 데이터 전송은 기존 HC-256 암복호화 방식이 아닌, 전달받은 AES 세션 키를 이용한 암복호화로 수행된다.

 

 

3.2.3 C2 명령

RAT 백도어는 총 27개의 C2 명령어를 보유하고 있다.

CMD ID 설명
1 파일 업로드
2 파일 다운로드
3 Temp 폴더 내 파일 업로드
4 프로세스 수 조회
5 파일 이동/이름변경
6 디스크 정보
7 디렉토리 목록
8 시스템 정보 수집
9 프로세스 실행
10 타임스탬프 변경
11 프로세스 열거
12 프로세스 종료
13 빈 데이터 전송 (연결 유지)
14 CPU/프로세스 상태 모니터링
15 장기 대기, 레지스트리 설정 저장, 60초 간격 폴링
16 C2로부터 새 설정 수신하여 적용, 지속성 경로 갱신
17 현재 설정 C2로 전송
18 자가 삭제
19 TCP 연결 테스트
20 명령 실행 (출력 캡처)
21 작업 디렉토리 변경
22 현재 디렉토리 조회
23 화면 캡처 (암호화)
24 화면 캡처 (원시)
25 웹캠 캡처
26 DLL 인젝션/실행
27 C2 URL 갱신

 

 

1) CMD ID 2 : 파일 다운로드

파일 작성

[그림 22] 파일 작성

 

C2 서버로부터 파일 경로 및 데이터를 수신하여 해당 경로에 파일을 생성한다.

 

 

수신 데이터 100KB 이하 시 랜덤 데이터 추가

[그림 23] 수신 데이터 100KB 이하 시 랜덤 데이터 추가

 

수신 데이터 크기가 100KB 이하일 경우 랜덤 데이터를 추가하여 파일로 저장한다.

 


 

2) CMD ID 8 : 시스템 정보 수집

시스템 정보 수집 코드

[그림 24] 시스템 정보 수집 코드

 

IP 주소, 컴퓨터 이름, 운영체제, C2 서버 연결 상태 등의 시스템 정보를 수집하여 C2 서버로 전송한다.

 


 

3) CMD ID 9 : 프로세스 실행

프로세스 실행 코드

[그림 25] 프로세스 실행 코드

 

공격자의 명령을 CreateProcessW 함수에 CREATE_NO_WINDOW 옵션을 적용하여 창 없이 실행한다.

 


 

4) CMD ID 12 : 프로세스 종료

프로세스 종료 코드

[그림 26] 프로세스 종료 코드

 

공격자로부터 PID를 전달받아 TerminateProcess 함수를 통해 해당 프로세스를 종료한다.

 


 

5) CMD ID 18 : 자가 삭제


■ Case 13399 – 서비스를 삭제하고 서비스 실행 시 로드되는 파일을 함께 삭제한다.

■ Case 13398 – 실행 중인 프로세스를 종료하고 해당 프로세스의 실행 파일을 삭제한다.

■ Case 13401 – 파일 삭제 없이 단순히 프로세스를 종료한다.

 

 


 

6) CMD ID 24 : 화면 캡처

화면 캡처 코드

[그림 27] 화면 캡처 코드

 

BitBlt API를 사용하여 현재 화면을 캡처한 후 C2 서버로 전송한다.

 
 
 

4. Privacy-i EDR 탐지 정보

EDRCenter 관리자 탐지 로그

[그림 28] EDRCenter 관리자 탐지 로그

 

Privacy-i EDR 사용자 에이전트 알림창

[그림 29] Privacy-i EDR 사용자 에이전트 알림창

 

Privacy-i EDR 사용자 에이전트 로그

[그림 30] Privacy-i EDR 사용자 에이전트 로그

 
Comebacker 악성코드는 Privacy-i EDR의 안티바이러스 엔진에 의해 식별 및 차단된다.
 
다중 암호화 알고리즘(HC-256, RC4, RSA, AES)을 활용해 탐지를 회피하는 로더와
RAT 백도어의 동작 방식, C2 통신, 명령 수행 패턴을 종합적으로 분석하여 위협을 식별한다.
 
Privacy-i EDR은 초기 침투 단계에서 공격을 선제적으로 차단함으로써
화면 캡처, 프로세스 제어, 파일 유출 등 원격 제어로 이어지는 피해 확산을 차단한다.
 
 
 

5. 대응

  1. 1) MS가 제공하는 보안 업데이트를 자동으로 설정한다.
  2. 2) 사용 중인 소프트웨어의 최신 업데이트를 유지한다.
  3. 3) 백신의 최신 업데이트를 유지한다.
  4. 4) 주요 문서는 주기적으로 백업하고 물리적으로 분리하여 관리한다.
  5. 5) 신뢰할 수 없는 메일의 첨부파일은 실행을 금지한다.
  6. 6) 비업무 사이트 및 신뢰할 수 없는 웹사이트의 연결을 차단한다.
 
 
 

FAQ

Q. Comebacker 악성코드는 어떤 유형의 악성코드인가?

Comebacker 악성코드는 정상 서비스로 위장해 시스템에 상주하며 원격 제어를 수행하는 RAT(Remote Access Trojan) 백도어이다.

Q. Comebacker 악성코드는 어떤 암호화 방식을 사용하는가?

Comebacker는 HC-256, RC4, RSA, AES 총 4종의 암호화 알고리즘을 혼용하여 로더 및 C2 통신 과정에서 탐지를 회피한다.

Q. Comebacker 악성코드는 어떤 방식으로 실행되는가?

로더는 내장된 RAT 백도어를 복호화한 뒤 메모리 상에서 직접 로드하고, Export 함수 “OPENSSL_NONPIC”를 호출하여 실행한다.

Q. Comebacker 악성코드의 지속성 확보 방식은 무엇인가?

로더 DLL을 Windows 서비스로 등록하고, “SYSTEM\\CurrentControlSet\\Services\[서비스 이름]\\Parameters\\ServiceDll” 경로에 저장하여 시스템 재부팅 이후에도 자동 실행된다.

Q. Comebacker가 수행 가능한 주요 기능은 무엇인가?

파일 업로드/다운로드, 프로세스 실행 및 종료, 시스템 정보 수집, 화면 캡처 등 총 27종 이상의 원격 제어 기능을 수행할 수 있다.

PDF로 리포트 자세히 보기
이전글 2025년 연간 랜섬웨어 공격동향 | Qilin, Cl0p, LockBit 5.0 분석 2026.03.05
다음글 2026년 1분기 랜섬웨어 공격 동향 | TheGentlemen, Nightspire, INC Ransom 랜섬웨어 그룹 3종 상세 분석 2026.05.26
목록