카스퍼스키, 한국어 사용 해킹 그룹 킴수키(Kimsuky)의 신규 '페블대시(PebbleDash)' 기반 악성코드 분석 보고서 발표
글로벌 사이버 보안 리더 카스퍼스키(www.kaspersky.co.kr, 지사장 이효은)는 오늘, 한국어 사용 지능형 지속 위협(APT) 그룹 킴수키(Kimsuky, 일명 APT43·Ruby Sleet·Black Banshee·Sparkling Pisces·Velvet Chollima·Springtail)의 최신 공격 캠페인에 대한 심층 분석 보고서를 발표했다. 카스퍼스키 연구진은 최근 수개월간 킴수키의 특정 활동 클러스터를 집중 분석해 복수의 공격 단계에 걸친 주목할 만한 전술적 변화를 확인했다.
이번 카스퍼스키 연구에서 주목할 핵심 발견은 세 가지다.
첫째, 신종 악성코드 'HelloDoor’의 코드 내부에서 이모지가 포함된 주석이 발견되는 등 대형 언어 모델(LLM: Large Language Model)을 활용해 개발된 것으로 추정되는 정황이 포착됐다. 다만 카스퍼스키는 이를 AI 기반 악성코드 자동 생성으로 단정하지는 않았으며, 일부 코드 작성 과정에서 LLM이 활용됐을 가능성에 주목했다.
둘째, 킴수키는 기존 악성코드 기반 공격 외에도, 개발자들이 일상적으로 사용하는 정상 프로그램인 비주얼 스튜디오 코드(VSCode: Visual Studio Code)의 원격 터널링 기능과 원격 관리 도구 DWAgent를 활용하는 전술을 사용하고 있다. 이러한 전술은 기존 보안 탐지를 우회하기 위한 방식으로 분석됐다.
셋째, AppleSeed 악성코드에 공무원들이 정부 시스템 접속 시 사용하는 정부 공인 전자인증서(GPKI: Government Public Key Infrastructure)가 저장된 디렉토리를 수집하는 기능이 탑재된 것이 확인됐다. 동일 기능은 과거 Troll Stealer 악성코드에서도 확인된 바 있다.
초기 접근: 스피어피싱과 다양한 드로퍼
킴수키는 표적에게 악성 첨부파일이 포함된 스피어피싱 이메일을 정교하게 제작·발송해 초기 접근을 시도한다. 최근 연구에 따르면 메신저를 통해 표적에 접근하는 사례도 확인됐다. 어떤 경로든 초기 접촉은 문서로 위장한 악성 첨부파일 전달로 이어지며, 첨부파일은 JSE, EXE, PIF, SCR 형식의 드로퍼를 포함한 압축 파일로 구성된다.
파일명은 메일 또는 메시지 내용과 일치하도록 설계해 수신자가 첨부파일을 열도록 유도한다. 위장에 사용되는 미끼 문서 유형으로는 제품 견적서, 채용 공고, 정보 안내서, 설문지, 정부 문서, 개인 사진 등이 있다.
- 드로퍼 유형별 특징
JSE 드로퍼는 최소 두 개의 Base64 인코딩 블록을 포함한다. 하나는 정상 미끼(Lure) 파일이고, 나머지는 악성 코드다. 두 블록은 Jscript에 의해 디코딩되어 C:\ProgramData 등 임의 경로에 저장되며, 파일명은 [랜덤]{7}.[랜덤]{4} 형식으로 무작위 생성된다. 미끼 파일은 즉시 실행되고, 악성 페이로드는 powershell.exe를 통해 두 번의 Base64 디코딩을 거친 후 regsvr32.exe 또는 rundll32.exe로 실행된다.
Reger 드로퍼(.SCR)와 Pidoc 드로퍼(.PIF)도 정상 미끼 파일과 악성 페이로드를 내장하며, 둘 다 XOR 연산으로 암호화돼 있다. Reger 드로퍼는 하드코딩된 키(#RsfsetraW#@EsfesgsgAJOPj4eml;)를 사용하고, Pidoc 드로퍼는 단일 바이트 XOR(0xFF)로 데이터를 복호화한다. Pidoc 드로퍼는 더미 데이터와 암호화된 문자열로 완전히 난독화돼 있다. 두 드로퍼 모두 %temp% 또는 C:\ProgramData에 파일을 저장한 후 regsvr32.exe로 악성코드를 실행한다.
주요 악성코드 패밀리 분석
AppleSeed 및 PebbleDash 악성코드 패밀리 타임라인
- HelloDoor: 최초의 러스트(Rust) 기반 PebbleDash 변종
2025년 8월 최초 확인된 HelloDoor는 킴수키가 사용한 최초의 러스트(Rust) 기반 DLL 백도어로, JSE 드로퍼를 통해 배포된다. 제한적인 기능과 단순한 통신 구조로 미루어 초기 개발 단계로 판단된다.
HelloDoor는 C2(Command & Control, 명령·제어) 서버로 클라우드플레어(Cloudflare)의 임시 터널링 서비스 TryCloudflare를 사용해 인프라 추적을 어렵게 한다. HTTP 프로토콜로 C2와 통신하며, MAC 주소·컴퓨터 이름 등 기기 정보를 조합해 고유 식별자를 생성한다. C2에서 수신한 응답은 Base64 디코딩 후 RC4 알고리즘으로 복호화된다. 지원 명령으로는 현재 디렉토리 설정(mcd), 절전(msleep), 레지스트리 자동 실행 등록(install), 임의 명령 실행 등이 있다.
주목할 점은 코드 내 주석에 이모지(Emoji)가 사용되는 등 대형 언어 모델(LLM)이 코드 작성에 관여한 정황이 포착됐다는 것이다. 이는 카스퍼스키가 과거 블루노로프(BlueNoroff)의 파워셸(PowerShell) 기반 스틸러 사례에서도 확인한 특징이다. 또한 ‘result send fail’, ‘decrytion failed(오타)’, ‘autorum failed(오타)’ 등 문법 오류와 오타가 포함된 주석도 발견됐으며, 이는 AI 활용 전·후에 수동으로 추가된 것으로 추정된다.
- httpMalice: 최신 PebbleDash 기반 백도어
최소 2025년 12월 이후 등장한 최신 PebbleDash 기반 백도어 httpMalice는 JSE 드로퍼로 배포된다. 분석 결과 두 가지 버전이 확인됐다. 버전 1.8은 드롭박스(Dropbox) API를 사용하며 사전 정의된 앱 자격증명을 활용하고, 버전 1.9는 HTTP/HTTPS 프로토콜로 C2와 통신한다. 최신 버전(v1.9)은 'CacheDB’라는 이름의 윈도우 서비스를 생성해 지속성을 확보한다.
httpMalice는 PebbleDash 클러스터와 AppleSeed 클러스터 양쪽의 기술적 특성을 모두 공유한다. PebbleDash 클러스터 특성으로는 S-1-12-12288 SID를 이용한 높은 무결성 수준의 명령 실행, 루트 디렉토리 볼륨 시리얼 번호와 토큰 권한 수준을 조합한 고유 식별자 생성 방식, HTTP 3개 파라미터 통신 구조 등이 있다. AppleSeed 클러스터 특성으로는 C2 통신 시 m= 파라미터 사용, 파워셸(PowerShell)과 윈도우 명령어를 이용한 시스템 정보 수집 방식 등이 있다.
수집한 데이터는 ChaCha20 알고리즘으로 암호화하고 Base64로 인코딩해 C2 서버로 전송한다. 명령 실행 시 chcp 949(EUC-KR 코드 페이지) 명령을 명시적으로 사용한다는 점에서 한국어 사용자를 주요 공격 대상으로 삼고 있음을 알 수 있다.
시스템 세부 정보를 수집하는 데 사용되는 Windows 명령어
ChaCha20 암호화 데이터 블록의 구조
httpMalice****의 C2 통신 시퀀스
- MemLoad: 탐지 우회 후 httpTroy 배포
2025년 초부터 확인된 MemLoad는 최종 백도어 설치 전, 가상 머신(VM: Virtual Machine) 탐지 및 사전 정찰을 통해 표적 시스템의 가치를 평가하는 역할을 담당한다. C2 서버에서 추가 페이로드를 내려받아 메모리에 반사적으로 실행(Reflective Loading)하는 방식으로 동작하며, 지속성 확보를 위해 ChromeCheck(권한 상승 시) 또는 EdgeCheck라는 이름의 예약 작업(Scheduled Task)을 등록한다.
MemLoad가 내려받아 실행하는 최종 페이로드는 장기 원격 접속 및 데이터 탈취를 위한 백도어 httpTroy다. 이 백도어는 장기적인 접근 및 데이터 유출을 위한 주요 수단으로 활용된다.
- AppleSeed: 한국 정부 전자인증서(GPKI) 수집 기능 탑재
2019년 처음 등장한 AppleSeed는 현재 버전 2.1이 주로 사용된다. 두 가지 버전이 존재한다. Dropper 버전은 추가 악성코드 다운로드와 C2 명령 실행을 담당하고, Spy 버전은 문서·스크린샷·키입력(Keylogging)·USB 드라이브 목록 등 민감 정보 수집을 담당한다.
버전 2.1은 2022년부터 C:\GPKI 디렉토리 수집 기능이 포함되었다는 점이다. 이 디렉토리에는 공공기관 관계자와 정부 시스템 인증에 사용되는 한국 정부 공인 전자인증서가 저장된다. 동일 기능이 2024년 Troll Stealer 악성코드에서도 확인되었다.
업데이트된 AppleSeed 감염 경로
- HappyDoor: AppleSeed 기반 고급 변종
AhnLab이 2024년 공개한 AppleSeed 계열 백도어 HappyDoor는 AppleSeed에 비해 활동 빈도가 낮다. HappyDoor는 AppleSeed와 동일한 문자열 난독화(Obfuscation) 알고리즘, 동일한 데이터 수집 유형, RSA 암호화 활용 등 여러 기술적 특성을 공유한다. 이러한 유사성을 근거로 카스퍼스키는 중간 신뢰도(Medium Confidence)로 HappyDoor를 AppleSeed에서 진화한 고급 변종으로 평가한다.
사후 침투(Post-Exploitation): 정상 도구 무기화
- VSCode 원격 터널링(Remote Tunneling)
킴수키는 마이크로소프트(Microsoft) 비주얼 스튜디오 코드(VSCode: Visual Studio Code)의 원격 터널링 기능을 악용해 피해 시스템에 은밀한 원격 접속 채널을 구축하고 있다. 이러한 전술은 기존 악성코드 기반 C2 채널 탐지를 우회하기 위한 방식으로 분석됐다. 관련 전술은 이전에 다크트레이스(Darktrace) 연구진에 의해 공개된 바 있으며, 카스퍼스키는 이번 분석을 통해 추가적인 기술적 세부사항과 최신 변종 활동을 확인했다.
2가지 방식이 있다. JSE 드로퍼 방식에서는 정상 VSCode CLI를 다운로드한 후, 터널명 'bizeugene’으로 터널을 생성한다. 깃허브(GitHub) 계정 인증 방식을 사용하며, 터널 URL과 인증 코드가 포함된 출력 내용을 한국의 정상 웹사이트로 HTTP POST 전송한다. 이후 공격자는 자신의 깃허브 계정으로 인증해 웹 브라우저를 통해 피해 시스템에 원격 접속이 가능하다.
고(Go) 언어로 작성된 신규 VSCode 터널 설치 프로그램은 이전 JSE 버전보다 기능이 확장됐다. 표적 기기별 각각의 터널을 지원하며, 실행 직후 '+++ I am started +++'를 슬랙(Slack) 웹훅(WebHook)으로 전송하고, 터널링 인증 과정 중 약 1초 간격으로 ‘~~~ I am alive ~~~’ 하트비트 메시지를 전송하는기능도 포함돼 있다.
VSCode CLI****를 사용하여 터널 만들기
피해 시스템은 결과적으로 마이크로소프트 소유 서버와 통신하게 되므로, 사용자는 해당 통신이 공격자로부터 비롯되었음을 인지하기 어렵다.
- DWAgent
DWAgent는 랜섬웨어 및 APT 그룹을 포함한 다수의 위협 행위자가 탐지 위험을 최소화하면서 피해 시스템에 접근하기 위해 악용하는 원격 관리 도구(RMM)다. 킴수키는 두 가지 방식으로 DWAgent를 배포한다.
첫 번째는 httpMalice를 통해 감염된 시스템에 DWAgent가 포함된 압축 파일을 전달하는 방식이고, 두 번째는 별도 설치 프로그램을 사용하는 방식이다. 설치 프로그램은 Reger 드로퍼와 동일한 RC4 키를 사용하며 코드 구조도 유사하다. DWAgent는 공격자 계정과 연동된 사전 구성 설정 파일(config.json)과 함께 배포되므로, 설치 즉시 원격 세션이 활성화된다.
공격 인프라
킴수키는 수년간 한국의 무료 도메인 호스팅 서비스 ‘내도메인.한국’(naedomain.hankook)을 C2 서버 구축에 주요 활용해 왔으며, .p-e.kr, .o-r.kr, .n-e.kr, .r-e.kr, .kro.kr 등의 도메인을 사용한다. 이 서비스를 통해 생성된 도메인의 배후 IP는 대부분 InterServer 소속 가상 사설 서버(VPS: Virtual Private Server)로 확인됐다. 다만 이 무료 호스팅 서비스는 다른 악성 행위자들도 광범위하게 악용하므로, 사용 자체만으로 킴수키와의 연관성을 단정할 수는 없다.
아울러 킴수키는 네트워크 IoC(침해 지표) 기반 탐지를 우회하기 위해 한국의 정상 웹사이트를 해킹해 C2로 전용하기도 한다. Cloudflare Quick Tunnels, VSCode Tunneling, Ngrok 등 터널링 서비스를 통한 인프라 은닉 전술도 주로 PebbleDash 클러스터에서 관찰된다.
피해 현황
이번 사례 분석을 통해 한국의 조직 및 개인이 감염된 정황이 확인됐다. 공격자는 피해자를 관리하기 위해 수동으로 작성한 것으로 추정되는 파일을 사용했으며, 해당 파일에는 한국어로 ‘장악’, ‘있음’ 등의 단어가 기록돼 있었다.
[표적 이름] [설명] [감염일] 장악, http 있음, DWService 있음
두 클러스터 모두 주로 한국의 공공 및 민간 부문을 표적으로 삼고 있다. AppleSeed 악성코드 클러스터는 정부 기관에 상대적으로 더 큰 관심을 보이는 반면, PebbleDash 클러스터는 전 세계 방산 분야를 주요 표적으로 삼는 특징을 보였다. 또한 PebbleDash 클러스터는 수년간 브라질과 한국의 방산 조직, 그리고 독일의 방산 기업을 공격한 정황이 확인됐다. AppleSeed 클러스터는 정부 기관에 더욱 집중하는 양상이며, 2024년에는 한국 정부가 특정 건설사 웹사이트 접속 필수 보안 소프트웨어 설치 파일을 교체하는 방식으로 AppleSeed가 유포된 보안 권고문을 발표하기도 했다.
귀속 분석(Attribution)
카스퍼스키는 수년간 두 클러스터가 JSE, EXE, SCR, PIF 드로퍼 등 동일한 배포 방식을 사용하고 표적 부문도 점점 겹치는 양상을 관찰해 왔다. 또한 두 클러스터의 일부 샘플이 동일한 도용 인증서로 서명돼 있고 동일한 뮤텍스(Mutex) 패턴을 사용한다는 사실도 확인했다. 이러한 근거를 바탕으로 카스퍼스키는 단일 위협 행위자가 두 클러스터를 함께 운용하며 필요에 따라 코드를 수정하는 것으로 판단한다.
AppleSeed는 등장 이후 줄곧 킴수키 활동과 연결돼 있으며, 각 변종이 해당 그룹과의 연관성을 보여준다. PebbleDash는 2021년부터 킴수키 공격에서만 발견되고 있다. 표적, 인프라, 악성코드 특성에 대한 분석을 토대로 카스퍼스키는 중-높은 신뢰도(Medium-High Confidence)로 해당 악성코드 패밀리 관련 공격이 킴수키 계열 클러스터에 의해 수행되고 있다고 평가한다.
두 클러스터는 마이크로소프트가 킴수키 활동에 사용하는 명칭 중 하나인 'Ruby Sleet’과 기술적 연관성이 있다. 맨디언트(Mandiant)는 이전에 해당 클러스터를 'Cerium’으로 지칭했으나, 현재는 킴수키의 또 다른 명칭인 APT43의 일부로 통합 분류하고 있다.
카스퍼스키코리아 이효은 지사장은 "킴수키의 최신 캠페인은 정상 소프트웨어와 터널링 도구를 활용하는 등 탐지 회피 전술을 지속적으로 진화시키고 있다"며 "특히 기업 환경에서 폭넓게 사용되는 정상 도구가 공격 채널로 악용될 수 있는 만큼, 행위 기반 탐지 체계 구축과 정기적인 위협 인텔리전스 업데이트가 중요하다"라고 말했다.
원문 블로그: https://securelist.com/kimsuky-appleseed-pebbledash-campaigns/119785/
