• 스마트 파인더
    • Security Map
    • 견적 및 도입 문의
    • My Company
    • V3 Lite 다운로드
웹콘텐츠
위협 소식2023-10-17

RDP를 이용하는 김수키의 공격 기법은?

김수키(Kimsuky) 위협 그룹은 xRAT(Quasar RAT)과 같은 오픈 소스 기반 및 자체 제작한 악성코드 외에도 다양한 툴을 사용해 공격을 수행한다. 특히 시스템을 원격으로 제어하는 데 원격 데스크톱 프로토콜(Remote Desktop Protocol, RDP)를 가장 많이 사용한다. 공격자는 RDP가 설치돼 있지 않은 환경에 RDP 래퍼(RDP Wrapper)를 설치하기도 하며, 이후 RDP 접속을 위해 사용자 계정을 추가하거나, 추가한 계정을 은폐하고 RDP 다중 세션을 설정하는 악성코드를 사용하는 경우도 있다. 최근 안랩은 김수키가 스피어 피싱으로 추정되는 공격을 통해 베이비샤크(BabyShark)를 설치하고, 이후 각종 RDP 관련 악성코드를 설치한 정황을 확인했다. 이번 글에서는 해당 사례를 집중적으로 살펴본다.

 


 

이번 공격에 사용된 툴은 기능이 과거 사례와 유사하지만, PDB(Program Database) 정보를 기반으로 제작한 최신 버전인 것으로 추정된다.  



[그림 1] 인젝터(Injector) 악성코드의 PDB 정보

 

또한, 새로운 악성코드도 확인됐다. 공격자는 이 악성코드를 제작할 때 ‘RevClient’라는 이름을 사용했다. 해당 악성코드는 C&C 서버로부터 공격자의 명령을 받아 동작하며, 명령에 따라 사용자 계정을 추가하거나 포트 포워딩 기능을 활성화할 수 있다.


초기 침투 단계

최초 유포 방식은 아직 확인되지 않았지만, 스피어 피싱인 것으로 추정된다. 감염 대상 시스템에서는 hwp.bat 파일이 사용된 이력이 확인됐다. BAT 악성코드는 WMIC 명령어를 이용해 안티바이러스를 확인하고, 스크립트 악성코드를 추가로 설치한다. 

 


[그림 2] 공격에 사용된 hwp.bat 파일

공격자는 최초로 시스템을 감염시킨 후에도 악성코드와 C&C 서버 주소를 변경해 가면서 지속적으로 시스템의 정보를 탈취했다. 설치된 악성코드로는 대표적으로 키로깅을 담당하는 ‘k.ps1’과 이를 실행하는 ‘OneNote.vbs' 파일이 있다. k.ps1 파일은 로깅한 데이터를 ‘%APPDATA%\k.log’ 파일에 저장한다.


[
그림 3] 탈취한 정보를 업로드하는 데 사용된 주소들


[
그림 4] 김수키가 설치하는 키로거 악성코드

이 외에, 로더 악성코드인 ‘pow.ps1’과 인코딩된 데이터 파일인 ‘desktop.r7u’도 있다. pow.ps1은 ‘%APPDATA%\Microsoft\desktop.r7u’ 경로의 파일을 복호화해 메모리 상에서 실행한다. 복호화된 desktop.r7u는 인젝터 악성코드이다. 동일한 경로에 ‘desktop.r3u’ 파일이 존재할 경우, 이를 복호화해 정상 프로그램인 ‘MSBuild.exe’에 인젝션한다. 이와 유사한 과거 공격 사례에서 파일은 확보하지 못했지만, 복호화 된 desktop.r3u 파일이 xRAT인 것으로 확인됐다.

 


[
그림 5] desktop.r3u 파일을 복호화해 인젝션하는 루틴

추가 페이로드 설치

일정 시간이 지난 후 베이비샤크의 C&C 서버 주소가 변경된 점을 미루어 보아, 공격자는 베이비샤크를 최초로 설치한 이후, 이를 지속적으로 업데이트했다는 사실을 알 수 있다. 베이비샤크 만으로도 감염 대상 시스템의 정보를 수집할 수 있지만, 공격자는 다음과 같은 RDP 관련 악성코드를 추가로 설치했다. 


(1) Injector

설치된 악성코드 중 ‘process.exe’는 위에서 다룬 인젝터 악성코드인 복호화 된 desktop.r7u와 거의 동일하다. 실제로 두 악성코드의 PDB 정보는 서로 유사하다.

Ÿ  복호화된 desktop.r7u의 PDB 정보: H:\Hollow\csharp process hollowing_complete_offset\csharp process hollowing_complete_offset\process\process\obj\x86\Release\process.pdb
Ÿ  process.exe의 PDB 정보: G:\0726_Rev_hollowing\csharp process hollowing_complete_offset\process\process\obj\x86\Release\process.pdb

 

차이점이 있다면, process.exe는 복호화 대상이 %APPDATA% 경로에 존재하는 ‘CustomVerification.DIC’ 파일이라는 점, 그리고 인젝션 대상 프로세스가 ‘powershell_ise.exe’라는 점이다. 비록 CustomVerification.DIC 파일은 확인되지 않지만, 유사한 시점에 xRAT이 공격에 사용된 사례가 존재하기 때문에 김수키가 주로 사용하는 악성코드 중 하나일 것으로 추정된다.


RDP 서비스 변경

공격자는 ‘multiple.exe’라는 악성코드도 설치했다. 해당 악성코드는 사용자 계정을 추가하고 RDP를 활성화하며, 다중 세션 기능을 지원한다. 악성코드는 먼저 RDP 서비스를 종료한 후 RDP 서비스를 담당하는 ‘termsrv.dll’을 수정할 수 있도록 권한을 부여한다. 이후 termsrv.dll 파일을 ‘termsrv.pdb’라는 이름으로 변경하고, %APPDATA% 경로에 이미 존재하는 termsrv.dll을 ‘%SystemDirectory%’ 경로에 복사한다. 

 


[
그림 6] 다중 세션을 지원하기 위해 패치된 termsrv.dll로 변경하는 루틴

일반적으로 윈도우 데스크톱 환경은 서버와 다르게 RDP 연결 시 하나의 세션만 지원한다. 즉, 시스템 한 대당 하나의 세션만 지원하기 때문에 공격자가 원격으로 시스템에 접속할 경우, 기존 사용자는 연결이 끊긴다. 미미카츠(Mimikatz)나 김수키의 다른 악성코드는 현재 실행 중인 RDP 서비스 프로세스의 메모리를 패치해 이를 우회한다.

 

하지만 현재 악성코드는 기존 정상 termsrv.dll을 직접 패치한 termsrv.dll 파일로 변경하는 방식을 이용한다. 공격자가 사전에 %APPDATA% 경로에서 생성한 termsrv.dll은 정상 termsrv.dll 파일과 비교하면 CDefPolicy::Query() 함수가 패치된 것을 알 수 있다. 


Ÿ  정상 termsrv.dll의 CDefPolicy::Query() 함수 루틴 : 39 81 3C 06 00 00 0F 84 E7 43 01 00

Ÿ  패치된 termsrv.dll의 CDefPolicy::Query() 함수 루틴 : B8 00 01 00 00 89 81 38 06 00 00 90


여기까지의 과정이 끝나면, 감염 대상 시스템을 제어하기 위한 ‘IIS_USER’라는 이름의 계정을 생성하고, 이를 관리자 그룹에 등록한다. 참고로, 계정이 추가되면 로그온 시 추가된 계정이 함께 보이기 때문에 시스템의 사용자는 이를 인지할 수 있다. 공격자는 사용자가 로그온 한 상태에서 계정이 추가된 사실을 알지 못하도록 ‘SpecialAccounts’에 IIS_USER 계정을 등록한다.


[그림 7] 사용자 계정을 등록하고 은폐하는 명령들

Ÿ  multiple.exe의 PDB 정보 – 1 : Z:\5-program\multiple\multisession_complete\multisession_complete\Release\x64\Multisession.pdb

Ÿ  multiple.exe의 PDB 정보 – 2 : G:\0711_uac_multiple_work\multisession_complete\multisession_complete\x64\Release\Multisession.pdb


RevClient
RevClient는 RDP 관련 악성코드로, C&C 서버로부터 명령을 전달받아 동작하며, 명령에 따라 사용자 계정 작업 및 포트 포워딩을 수행한다. [그림 8]은 공격에 사용된 RevClient의 설정 데이터이다. [그림 8]에서 해당 악성코드의 버전은 1.0이며, ‘ZhengReversePC’라는 문자열이 뮤텍스(Mutex) 이름으로 사용된 점을 알 수 있다. 실질적인 설정 데이터는 Base64로, 암호화된 ‘AllSettings’ 문자열에 포함돼 있다.

 


[그림 8] RevClient의 설정 데이터

 

Base64 문자열을 복호화 하면, 나머지 설정 데이터도 확인할 수 있다.


 

설정

데이터

버전

“1.0”

뮤텍스

“ZhengReversePC”

Host IP

5.61.59[.]53

Host Port

0

MSTSC (RDP) IP

127.0.0.2

MSTSC (RDP) Port

3389

Main (C&C) Port

2086

[표 1] RevClient의 설정 데이터


C&C 주소는 Host IP 주소와 Main Port를 조합해 만들어 접속한다. 이후 감염 대상 시스템에 대한 기본적인 정보를 수집해 전달한 후, 응답으로 설정 및 명령을 전달받는다.


Ÿ  C&C 주소: 5.61.59[.]53:2086


 

항목

데이터

시그니처 문자열

“NAT”

감염 시스템 정보

[User Name]@[PC Name]를 Base64로 암호화한 문자열

운영체제 정보

운영체제 정보

버전

“1.0”

Host Port

처음에는 0을 가지며, 이후 C&C 서버로부터 전달받을 수 있다.

[표 2] C&C 서버에 전달하는 데이터

 

 


    응답은 ‘;’가 구분자로 사용돼 4개로 나눠져 있으며, 명령에 따라 사용하는 항목이 정해져 있다. 처음 응답으로는 4번째 항목인 호스트 포트(Host Port) 번호가 전달되고, 이후 응답에서는 3번째 항목인 명령 번호와 함께 추가적인 데이터가 전달될 것으로 추정된다.

    응답

    데이터

    사용자 계정 이름

    사용자 계정 추가 또는 삭제에 사용 (Base64 암호화)

    사용자 계정 비밀번호

    사용자 계정 추가에 사용 (Base64 암호화)

    명령

    명령 번호

    Host Port

    포트 포워딩 용 포트 번호

    [표 3] 명령 구조


    [그림 9] 명령 수행 루틴

    명령

    데이터

    100

    포트 포워딩 시작

    200

    사용자 계정 삭제

    300

    사용자 계정 추가 및 은폐

    400

    포트 포워딩 종료 및 Host Port 초기화

    500

    포트 포워딩 종료

    [표 4] 명령 목록

    ‘100’ 명령이 전달되면, 이전에 전달받은 호스트 포트 번호를 조합해 5.61.59[.]53:(HostPort) 주소에 연결한 후, 해당 주소와 127.0.0.2:3389 주소를 연결한다. 일반적으로 RDP 관련 포트 포워딩 툴은 외부에서 공격자가 NAT 환경에 직접 접근할 수 없다는 한계를 극복하는 데 사용된다. 즉, 리버스 커넥션 방식으로 공격자의 주소에 먼저 연결한 다음, 이후 감염 대상 시스템의 RDP 포트에 연결해 2개의 통신을 중개한다.


    [
    그림 10] 포트 포워딩 루틴

     

    참고로 RevClient는 위의 multiple.exe와 유사한 기능이 구현된 ‘NewConcurrentRDPatcher()’ 함수가 구현돼 있다. 다만, multiple.exe는 이미 패치된 termsrv.dll 파일을 변경하지만, NewConcurrentRDPatcher() 함수는 윈도우 버전에 따라 직접 termsrv.dll 파일을 패치하고 변경한다. 비록 NewConcurrentRDPatcher() 함수를 실행하는 루틴은 존재하지 않지만, RevClient의 다른 버전에서는 C&C 서버의 명령을 통해, 또는 초기화 루틴에서 해당 작업을 수행할 것으로 보인다.



    [그림 11] RevClient의 RDP 패치 루틴


    결론

    김수키가 악용하는 RDP는 무차별 대입 공격 및 사전 공격을 이용한 초기 침투 과정이나 측면 이동 과정에서 사용된다. RDP는 윈도우 시스템에 기본적으로 설치된 서비스 중 하나이기 때문에 이를 탐지하거나 예방하려면 적절한 관리와 조치가 필요하다.

     

    우선 사용자는 의심스러운 메일을 수신하면 되도록 첨부 파일을 실행하지 않아야 하며, 외부에서 프로그램을 설치할 때 공식 홈페이지에서 구매하거나 다운로드할 것을 권장한다. 또한, 계정의 비밀번호를 복잡한 형태로 사용하거나 주기적으로 변경해야 한다.

     

    더 나아가, V3를 최신 버전으로 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 해야 한다. V3뿐만 아니라 MDS와 같은 샌드박스 기반의 APT 솔루션을 도입하면 사이버 공격으로 인한 피해를 예방하는데 도움이 될 것이다.

     

    AhnLab MDS 샌드박스는 RDP를 패치해 다중 세션을 활성화하는 악성코드를 ‘Execution/MDP.Command.M10645’ 진단명으로 탐지한다. 

     


    [
    그림 12] AhnLab MDS의 악성코드 탐지 화면

     

     

    [그림 13] 파일 소유권 변경 행위 탐지


    자세한 내용은 ASEC 블로그를 통해 확인할 수 있다.

     ▶ASEC 블로그 바로가기

    • AhnLab
      콘텐츠기획팀
    기사 원문 보기
    목록 보기

    관련 콘텐츠

    웹콘텐츠

    개인정보 동의서인 줄 알았던 바로가기 파일의 정체는?

    개인정보 동의서인 줄 알았던 바로가기 파일의 정체는?

    웹콘텐츠

    정상 이력서처럼 보이지만 실행 순간 감염 시작

    정상 이력서처럼 보이지만 실행 순간 감염 시작

    웹콘텐츠

    개인정보 유출 후폭풍, 어떻게 대비해야 할까?

    개인정보 유출 후폭풍, 어떻게 대비해야 할까?

    웹콘텐츠

    개발자 단말 노린 자격증명 탈취, 클라우드 보안 점검법

    개발자 단말 노린 자격증명 탈취, 클라우드 보안 점검법

    skip navigation
    • 메뉴
    • 본문
    • 하단 정보(링크)
    • 제품
      • AhnLab PLUS Platform
      • AhnLab Endpoint PLUS
        • 안티멀웨어
        • 엔드포인트 보호 플랫폼 (EPP)
        • 지능형 위협 대응
        • 엔드포인트 탐지 & 대응 (EDR)
        • 중소기업 보안
        • 모바일 보안
      • AhnLab Network PLUS
        • 차세대 방화벽 (ZTNA)
        • 차세대 방화벽
        • 디도스 방어
        • 네트워크 침입 방지 (IPS)
        • 지능형 위협 대응
        • 네트워크 위협 관리 (TMS)
      • AhnLab Cloud PLUS
        • 클라우드 워크로드 보안 (CWPP)
        • 클라우드 방화벽
        • 클라우드 IPS
        • 클라우드 네트워크 위협 관리
      • AhnLab Connect PLUS
        • 확장형 탐지 & 대응 (XDR)
        • 위협 인텔리전스 (TIP)
        • SOAR
      • AhnLab CPS PLUS
        • CPS 보안 통합 관리
        • OT 엔드포인트 보안
        • OT 가시성 및 위협 탐지
        • OT 휴대용 안티멀웨어
        • OT 방화벽
        • OT 일방향 데이터 전송
        • OT 지능형 위협 대응
        • IT 엔드포인트 보안
        • IT 안티멀웨어
        • CPS 위협 인텔리전스
      • AhnLab AI PLUS
      • 전체 제품 및 서비스
    • 서비스
      • AhnLab Service PLUS
        • 매니지드 탐지 & 대응 (MDR)
        • 보안관제
        • Professional Service
        • 디지털 포렌식
        • 클라우드 MSP
        • 정보보호컨설팅
        • 글로벌 파트너
      • 전체 제품 및 서비스
    • 솔루션
      • 랜섬웨어 보안
      • 하이브리드 클라우드 보안
      • 제로 트러스트
      • CPS 보안
      • SOC 고도화
      • 위협 탐지 & 대응 (TDR)
      • 디도스 방어
    • 구매
      • 견적 및 도입 문의
      • 스마트 파인더
      • 구매방식
      • 제품 정책
        • 소프트웨어
        • 네트워크
      • 전략 물자
      • 구매 배너
    • 고객지원
      • 온라인 고객지원
        • 원격지원
        • 1:1상담
        • 전화상담 안내
        • FAQ
      • 기업 기술 교육
      • 위협정보 신고센터
      • 다운로드
      • 공지사항
    • 콘텐츠 센터
      • 콘텐츠 센터
        • 시큐리티 레터
        • 월간 安
      • ASEC
        • 위협정보
        • 위협 행위자 분류 체계
        • ASEC 보안권고문
        • ASEC 블로그
      • 하이라이트
        • MITRE ATT&CK 평가 라운드 7
        • 안랩 창립 30주년
        • Frost Radar CPS 보안 리더
    • 파트너
    my page
    로그인회원가입
    언어 선택

    최근 검색어가 없습니다.

    AhnLab

    • 회사소개
    • 투자정보
    • 채용정보
    • 사용권 약관
    • 개인정보처리방침
    • 이용약관
    • Contact Us
    • 사이트맵

    기업정보

    • 대표이사 : 강석균
    • 사업자등록번호 : 214-81-83536
    • (우) 13493 경기도 성남시 분당구 판교역로 220
    • 통신판매신고번호 : 2012-경기성남-1189
    • 대표전화 : 031-722-8000
    • Fax : 031-722-8901
    • © AhnLab, Inc. All rights reserved.

    News Letter

    시큐리티 레터는 매주 놓쳐서는 안 될 보안 정보를,
    월간 '安'은 매월 위협 분석과 보안 동향에 대한 깊이 있는 정보를 이메일로 보내드립니다.

    뉴스레터 선택
    뉴스레터
    이용 동의
    V3 엔진 버전OES : 2026.06.19.03SES : 2026.06.16.00
    엔진 업데이트 바로가기
    • 카카오톡 채널 바로가기
    • 페이스북 바로가기
    • 링크드인 바로가기
    • 유튜브 바로가기