RDP Wrapper를 활용한 Kimsuky 그룹의 지속적인 위협

RDP Wrapper를 활용한 Kimsuky 그룹의 지속적인 위협

AhnLab SEcurity intelligence Center(ASEC)은 과거 “PebbleDash와 RDP Wrapper를 악용한 Kimsuky 그룹의 최신 공격 사례 분석” [1] 보고서를 통해 PebbleDash 백도어와 자체 제작한 RDP Wrapper를 활용하는 Kimsuky 그룹의 공격 사례를 공개한 바 있다. Kimsuky 그룹은 최근까지도 동일한 유형의 공격을 지속적으로 수행하고 있으며 여기에서는 추가적으로 확인된 악성코드들을 정리한다.

 

1. 개요

공격자는 스피어 피싱 공격으로 악성 명령어가 포함된 바로 가기(*.LNK) 파일을 유포하고 있으며 파일명에 이름이나 회사명들이 포함된 것을 보면 구체적인 공격 대상에 대한 정보를 파악하고 있는 것으로 보인다.

바로 가기 악성코드들은 문서 파일로 위장하기 위해 PDF나 엑셀, 워드 등 오피스 문서 아이콘을 지니고 있다. 이를 실행하면 PowerShell 또는 Mshta가 실행되어 외부에서 추가 페이로드를 다운로드해 실행한다. 감염 시스템을 제어하기 위해 최종적으로 실행되는 악성코드들로는 PebbleDash와 RDP Wrapper가 있다. 공격자는 최근까지도 PebbleDash와 RDP Wrapper를 제작해 유포하고 있지만 이전 공격 사례들과 비교하여 눈에 띄는 차이점은 존재하지 않는다.

Figure 1. PebbleDash 드로퍼를 설치하는 파워쉘 프로세스

참고로 RDP Wrapper는 원격 데스크톱 기능을 지원하는 오픈 소스 유틸리티로서 윈도우 운영체제는 모든 버전에서 원격 데스크톱을 지원하지 않기 때문에 이러한 환경에서는 RDP Wrapper를 설치하여 원격 데스크톱을 활성화할 수 있다. 공격자는 직접 제작한 RDP Wrapper를 사용하고 있는데 파일 진단을 우회하기 위한 목적으로 Export 함수를 다음과 같이 다양하게 생성하는 것으로 추정된다.

Figure 2. 자체 제작한 RDP Wrapper의 Export 함수들

공격자는 PebbleDash와 RDP Wrapper로 감염 시스템을 제어할 수 있지만 Proxy나 KeyLogger, 정보 탈취 악성코드 등 다양한 악성코드들을 추가적으로 활용하고 있다. 아래에서는 이전 보고서 이후 추가적으로 확인된 유형들을 다룬다.

 

2. Proxy

RDP 서비스를 활성화하고 사용자 계정을 추가했다고 하더라도 감염 시스템이 사설망에 존재할 경우 외부에서 RDP 접속이 불가하다. 이를 보완하기 위해 공격자들은 감염 시스템과 외부 네트워크를 중개하는 Proxy 악성코드를 설치해 외부에서 RDP로 접근할 수 있다.

이전 공격에서는 크게 3가지 유형의 Proxy 도구들이 사용되었다. 첫 번째 유형은 “MYLPROJECT”라는 이름의 뮤텍스를 생성하는 것이 특징이며 Launcher와 함께 확인되었다. Launcher는 “C:\Programdata\USOShared2\version.ini”와 같이 하드코딩된 경로에 위치한 설정 파일을 읽고 이를 기반으로 특정 경로에 위치한 Proxy 도구를 실행하였다. 두 번째 유형의 Proxy 도구는 “LPROXYMUTEX”라는 이름의 뮤텍스를 생성하는 것이 특징이며 이외에는 일반적인 Proxy와 동일하다. 마지막으로 세 번째 유형은 깃허브에 공개되어 있으며 Go 언어로 개발된 revsocks이다.

최근에 확인된 Proxy 도구는 다음과 같은 뮤텍스를 사용하며 인자로 주소를 전달받아 동작한다. 

Figure 3. 이전 유형과 유사한 Proxy 도구

 

3. KeyLogger

Kimsuky 그룹은 키로깅을 담당하는 파워쉘 스크립트를 사용하기도 하지만 실행 파일 포맷의 키로거를 설치하기도 한다. 이전 사례에서는 주로 “%LOCALAPPDATA%\CursorCach.tmp”, “%LOCALAPPDATA%\CursorCache.db” 경로에 사용자의 키 입력을 저장하였지만 최근에 확인된 유형들은 “C:\Programdata\joeLog.txt”, “C:\Programdata\jLog.txt” 경로에 저장하는 것이 특징이다.

Figure 4. 키로깅 파일

 

4. 웹 브라우저 정보 탈취 (forceCopy)

이전 사례에서는 Chromium 기반의 웹 브라우저와 Internet Explorer에 저장된 사용자의 자격 증명 정보를 탈취하는 인포스틸러 악성코드들이 사용되었으며 최근에도 동일한 유형의 악성코드가 추가적으로 확인되었다.

Kimsuky 그룹은 이전 사례에서 웹 브라우저에 저장된 자격 증명 정보를 직접 탈취하는 대신 “Local State” 파일에서 Key 값만을 추출하는 도구를 사용하기도 하기도 하였다. 이는 보안 제품을 우회하기 위한 목적으로 추정되며 추후 웹 브라우저에 저장된 자격 증명 정보를 탈취하는 과정에서 추출한 Key를 이용하였다.

최근에 확인된 유형은 “forceCopy”라는 이름으로 설치되었으며 파일을 복사하는 데 사용되는 도구이다. 첫 번째 인자로 복사할 파일의 경로, 두 번째 인자로 저장할 파일의 경로를 전달받는다. 해당 악성코드의 특징이라고 한다면 ReadFile()과 같은 API로 파일을 직접 읽는 대신 NTFS Parser 라이브러리를 이용해 파일을 읽는다는 점이다.

Figure 5. 악성코드에 포함된 NTFS Parser 라이브러리

악성코드가 설치된 경로들은 모두 웹 브라우저 설치 경로이다. 이는 공격자가 특정 환경에서 제한을 우회하고 자격 증명 정보가 저장된 웹 브라우저의 설정 파일들을 탈취하기 위한 목적인 것으로 추정되며 이전 사례와 유사하게 보안 제품을 우회하기 위한 목적일 수도 있다.

 

5. Loader, Injector

이전 사례와의 차이점이라고 한다면 Injector 및 Loader 악성코드들이 확인된다는 점이다. 최종적으로 메모리상에서 동작하는 악성코드는 확인되지 않지만 Loader는 “%SystemDirectory%\wbemback.dat” 경로의 파일을 메모리 상에서 로드하며 Injector는 인젝션 대상 프로세스 등의 정보를 인자로 전달받아 동작한다.

이러한 실행 파일 포맷의 악성코드들 외에 파워쉘 스크립트들 중에서도 ReflectiveLoader가 확인되기도 하였다. 난독화되어 있지만 오픈 소스 파워쉘 스크립트인 “Invoke-ReflectivePEInjection.ps1”이며 다른 파워쉘 스크립트 악성코드들과 함께 “%ALLUSERSPROFILE%\USOShared\Prosd\” 경로에 설치되고 있다. 

Figure 6. ReflectiveLoader 파워쉘 스크립트

 

6. 결론

Kimsuky 그룹은 2024년 공격 방식에 변화가 생겼는데 최초 침투 과정에서 스피어 피싱 공격을 이용한 LNK 악성코드가 자주 사용되는 점은 동일하지만 이후 백도어를 설치하는 방식이 아닌 RDP Wrapper와 Proxy 같은 도구들을 활용해 감염 시스템을 원격으로 제어하는 경향이 늘어났다는 점이다. 

Kimsuky 공격 그룹은 국내 사용자들을 대상으로 지속적으로 스피어 피싱 공격을 수행하고 있다. 주로 메일의 첨부 파일로서 문서 파일을 위장한 악성코드를 유포하는 방식이며 사용자가 이를 실행할 경우 현재 사용 중인 시스템에 대한 제어가 탈취될 수 있다. 사용자는 메일의 발신자를 상세하게 확인해야 하며 출처가 불분명한 파일의 경우 열람을 자제해야 한다. 그리고 OS 및 인터넷 브라우저 등의 프로그램들에 대한 최신 패치 및 V3를 최신 버전으로 업데이트하여 이러한 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

 

파일 진단
Backdoor/Win.PebbleDash.C5719351 (2025.01.20.02)
Trojan/Win.Rdpwrap.C5704469 (2024.12.10.02)
Trojan/Win.Rdpwrap.C5708551 (2024.12.21.00)
Trojan/Win.Rdpwrap.C5710893 (2024.12.27.00)
Trojan/Win.Rdpwrap.C5716647 (2025.01.12.03)
Trojan/Win.Rdpwrap.C5719870 (2025.01.21.03)
Trojan/Win.Rdpwrap.C5720371 (2025.01.23.00)
Trojan/Win.KeyLogger.C5687683 (2024.10.27.03)
Trojan/Win.KeyLogger.C5705213 (2024.12.12.01)
Trojan/Win.KeyLogger.C5705571 (2024.12.13.00)
Trojan/Win.Injecter.C5705214 (2024.12.12.01)
Trojan/Win.UACMe.C5705215 (2024.12.12.01)
Trojan/Win.Loader.C5716648 (2025.01.12.03)
Infostealer/Win.Browser.R641029 (2024.03.23.00)
Malware/Gen.Generic.C2950389 (2019.01.22.01)
Trojan/Win.Agent.C5687684 (2024.10.27.03)
Trojan/PowerShell.Loader (2025.01.31.02)
Trojan/PowerShell.Launcher (2025.01.31.02)
Trojan/PowerShell.KeyLogger (2025.01.31.02)

 

MD5

04e5f813da28b5975d0b6445f687bc48
26d96d40e4c8aed03d80740e1d5a4559
2ea71ff410088bbe79f28e7588a6fb47
3211ef223177310021e174c928f96bab
5565b337bfba78970b73ae65b95f2c4f
IP

216[.]219[.]87[.]41
74[.]50[.]94[.]175

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.