APT공개
APT

9년 전 한글 취약점, 대남 정치문건 타고 다시 돌아왔다

대남 정책 비교를 다룬 것으로 위장한 HWP 유인문서가 2016년 패치된 한글 워드프로세서 취약점(CVE-2016-2569)을 이용해 실행파일을 심는다. 이 페이로드는 ROKRAT 계열 YARA 룰과 Malear C2 Snort 룰을 동시에 발화시키며, 한국통신 대역의 자가서명 인증서 호스트와 함께 Group123 계보의 오래된 침투 체인이 여전히 순환 중임을 보여준다.

2026년 9월 11일 22:38 (UTC+9)최근 관측2026년 9월 12일심각도60CTX Team행위자Group123Venus 121IOC3MITRE21지역CHJO

9년 전 취약점이 대남 정치 문건에 실려 다시 돌아왔다

한글 문서 프로그램의 낡은 익스플로잇 하나가 여전히 현역으로 뛰고 있다. 대남 정치 현안을 다룬 것으로 보이는 한국어 HWP 유인문서(29430240cb59a12fcde8e415…)가 실행파일 하나(7ebc9a1fd93525fc42277efb…)를 끌고 들어오는 이 배달 체인은, 페이로드 자체에 'cve 2016 2569'와 'exploit' 태그가 명시돼 있어 노리는 취약점이 2016년에 공개된 한글 문서 프로그램의 객체 처리 결함임을 그대로 드러낸다. VirusTotal은 이 실행파일을 trojan.midie/evnyca로 분류하지만, 같은 파일에서는 ROKRAT 계열을 잡아내는 YARA 룰과 'Malear' 트로이목마의 C2 트래픽을 겨냥한 Snort 룰이 동시에 발화한다. 3개 샌드박스 중 2개는 이를 악성으로 판정했고 나머지 하나는 아무 판정도 내리지 못했는데, 그 배경에는 디버거 탐지·CPU 타이머 직접 조회 같은 시간 기반 회피 루틴이 겹겹이 쌓여 있다. 여기에 한국통신(AS 4766) 소속 IP 하나가 만료일이 2117년으로 잡힌 자가서명 인증서를 서비스 중이라는 사실까지 더해지면, 이 사건은 단일 신종 공격이 아니라 오래된 도구가 여전히 순환되고 있다는 증거로 읽힌다. 실제로 이 실행파일은 2017년 1월 4일 처음 관측된 뒤 2025년 12월 15일까지 총 10회, 8곳의 서로 다른 경로를 통해 VirusTotal에 다시 제출됐다.

한글 문서에 숨은 익스플로잇 — 낡았지만 값싼 진입로

식별 정보만 보면 이 유인문서는 17KB 크기의 한글 워드프로세서 문서 형식으로 등록돼 있고, 짝을 이루는 실행파일은 156KB 크기의 Win32 GUI 실행파일로 별도 등록돼 있다. 두 파일의 크기 차이가 크지 않다는 점은, 실행파일이 문서 안에 통째로 인코딩돼 있다가 익스플로잇 트리거 시점에 추출되는 구조에 부합하는 정황으로 볼 수 있다. VirusTotal에서 이 HWP 파일은 58개 엔진 중 단 하나도 악성으로 판정하지 않았고(0/58), 파일 구조 자체도 'CDF V2 Document, corrupt: 요약 정보를 읽을 수 없음' 상태로 손상돼 있다. 하지만 정작 중요한 것은 문서에 남은 임시 파일 경로다 — 유출된 경로명은 '5170101-2016년 및 2017년 對南분야 비교.hwp'로, 대남 정책을 비교 분석한 정치 문건으로 위장한 형태를 취하고 있다. 문서를 열면 악성 개체가 트리거돼 실행파일을 떨어뜨리는 구조로 보이며(T1203, Exploitation for Client Execution), 이는 관측된 정황을 근거로 한 해석이지 문서 파싱 로그 자체가 직접 남아 있는 것은 아니다.

공격자가 굳이 9년 전에 패치된 취약점을 다시 꺼내 쓰는 이유는 단순하다 — 아직도 작동하고, 아직도 잘 걸리지 않기 때문이다. 이 실행파일이 2017년 1월 4일 처음 관측된 뒤 2025년 12월 15일까지 총 10회, 8개의 서로 다른 경로로 다시 제출됐다는 사실은 이 배달 체인이 한 번 쓰고 버려진 것이 아니라 오랜 기간에 걸쳐 반복적으로 순환됐음을 시사한다. 여기에 유인문서 자체의 탐지율이 0/58에 머무는 정황을 겹쳐 보면, 이 조합의 매력은 정교함이 아니라 '패치되지 않은 환경에서는 여전히 통한다'는 낮은 비용 구조에 있다고 해석하는 것이 자연스럽다. 신형 익스플로잇 체인을 새로 구축하는 대신 검증된 낡은 코드를 재사용하는 이 전략은, 운영팀이 신규 공격 표면 확보보다 반복 가능한 저비용 침투를 우선했을 가능성을 보여준다.

서명 없는 실행파일, 리소스 섹션에 숨긴 무게

이 실행파일은 코드 서명이 돼 있지 않은 상태로 유통된다. 빌드 지표를 보면 임포트 해시는 46dadc708878…이고, .rsrc 섹션의 엔트로피가 7.86까지 치솟아 있어 리소스 섹션 안에 압축되거나 암호화된 데이터가 숨겨져 있을 가능성을 뒷받침한다. 반면 .data 섹션의 엔트로피는 2.07에 그쳐, 코드·문자열이 담긴 일반 섹션과 실제 페이로드를 감춘 것으로 보이는 리소스 섹션 사이의 대비가 뚜렷하다. 서명이 없다는 사실과 리소스 섹션에 집중된 고엔트로피 구조를 같이 놓고 보면, 이 파일은 정상 소프트웨어로 위장해 신뢰를 얻는 쪽보다는 실행 즉시 리소스에서 추가 코드를 풀어내는 방식에 설계의 무게를 둔 것으로 해석할 수 있다.

빌드 지표에는 또 하나 눈에 걸리는 수치가 있다. 이 실행파일의 임포트 테이블에 잡힌 API 임포트 개수는 0으로 기록돼 있다. 정상적인 Win32 GUI 실행파일이 임포트 테이블 없이 동작하는 경우는 거의 없어, 이는 정적 임포트 대신 런타임에 API를 동적으로 해석해 호출하는 구조 — 예컨대 GetProcAddress 체인이나 리소스에서 풀어낸 별도 로더 — 를 쓰고 있음을 시사하는 정황이다. 서명이 없다는 사실, .rsrc 섹션에 몰린 높은 엔트로피, 그리고 텅 빈 임포트 테이블이라는 세 가지 지표를 겹쳐 보면, 이 실행파일은 정적 분석 도구가 임포트 목록만으로 기능을 추정하는 방식 자체를 무력화하도록 설계됐다고 읽을 수 있다. 임포트 테이블만 열어 봐서는 이 바이너리가 실제로 무엇을 하는지 거의 알아낼 수 없는 구조인 셈이다.

방어자 시점에서 보면 서명 부재라는 사실 하나만으로도 실질적인 차단 지점이 생긴다. 서명된 바이너리만 실행을 허용하는 화이트리스팅·애플리케이션 제어 정책을 운용하는 환경이라면, 이 실행파일은 HWP 익스플로잇의 성공 여부나 리소스 추출 여부와 무관하게 서명 검증 단계에서 곧바로 걸러질 수 있다. 반대로 서명 여부를 실행 통제 기준에 포함하지 않는 환경이라면, 서명 부재는 방어에 아무런 추가 가치를 주지 못하고 사후 탐지 엔진의 인식 능력에만 전적으로 의존하는 구조가 된다. 이 침투 체인이 끝내 서명 인증서를 확보하지 않은 채 유통되고 있다는 사실은, 서명 검증 기반의 실행 통제 정책이 이 특정 캠페인에 대해서는 상당히 효과적인 방벽이 될 수 있음을 역으로 보여준다.

세 겹의 회피 스택과 갈린 샌드박스 판정

이 실행파일의 행동 프로파일에는 세 가지 회피 루틴이 나란히 기록돼 있다 — 실행에 앞서 장시간 대기하고, 디버거가 붙어 있는지 점검하고, CPU 타이머를 직접 읽어 분석 환경 여부를 판별한다. 이 세 겹의 지연·계측 회피는 단발성 트릭이 아니라 시간, 프로세스 상태, 하드웨어 신호라는 서로 다른 층위를 동시에 건드리는 구성이어서, 한 가지 방식으로만 대응하는 분석 파이프라인은 걸러내기 어렵게 설계돼 있다(T1497.003, Time Based Evasion). 실제로 이 조합은 샌드박스 판정에서도 갈린 결과로 이어졌다: Zenbox는 이 파일을 악성으로 판정하면서 분류 태그에 'EVADER'를 명시적으로 붙였고, Lastline도 트로이목마로 판정했지만, 세 번째 엔진인 C2AE는 아무 판정도 내리지 못한 채 미확정 상태로 남겼다. 3개 중 2개가 악성으로 합의했다는 사실과, 그 중 하나가 회피 탐지 자체를 판정 근거로 삼았다는 점을 겹쳐 보면, 이 파일의 회피 스택이 실제로 최소 한 개의 분석 엔진 앞에서는 성공적으로 작동했다고 읽을 수 있다.

방어자 시점에서 보면 이 지연 전략이 왜 위협적인지 더 분명해진다. 표준적인 자동 샌드박스 분석 창은 대개 수십 초에서 수 분 단위로 제한되는데, 실행 초반에 장시간 대기하는 루틴은 바로 이 관측 창을 넘겨 버리려는 시도로 보인다. 짧은 관측 창을 쓰는 자동화 게이트웨이라면 이 파일이 아무 행동도 하지 않는 것처럼 보여 통과됐을 가능성이 있고, 반대로 분석 시간을 길게 잡은 엔진들에서는 결국 악성 행동이 드러나 잡혔다는 설명이 이번 판정 분포와 맞아떨어진다. 즉 무판정으로 끝난 엔진의 결과는 탐지 실패라기보다, 이 파일이 노리는 정확한 회피 지점에 그 엔진의 관측 창이 맞아떨어졌다는 신호로 보는 편이 합리적이다.

백신 업계 전체로 보면 이 실행파일은 77개 엔진 중 64개가 악성으로 잡아내는, 비교적 높은 탐지율(64/77)을 기록하고 있다. ALYac·AhnLab-V3·CrowdStrike·ESET-NOD32 등 주요 엔진이 이를 탐지 목록에 올려 두고 있어, 오늘날 표준 엔드포인트 방어 체계라면 최종 실행파일 자체는 걸러낼 가능성이 높다. 다만 이 수치는 페이로드 실행파일 하나에 대한 것일 뿐, 이를 실어 나르는 유인문서(0/58)에는 그대로 적용되지 않는다는 점이 중요하다. 이 두 탐지율을 나란히 놓고 보면, 방어의 취약 지점은 최종 실행파일 단계가 아니라 그 앞단인 문서 열람과 익스플로잇 트리거 단계에 여전히 남아 있는 것으로 보인다.

행동 태그에는 재부팅 이후에도 살아남도록 스스로 설치한다는 항목과, 실행 중 추가 모듈을 런타임에 적재한다는 항목도 함께 기록돼 있다. 구체적으로 어떤 레지스트리 키나 서비스 항목을 건드리는지는 이번 관측 범위에서 드러나지 않기 때문에, 지속성 확보(T1547.001)와 모듈 적재를 통한 은닉 실행(T1055, T1620) 두 단계는 태그가 가리키는 방향으로 추정할 뿐 직접 관측된 아티팩트로 확정하기는 어렵다. 다만 네트워크 어댑터를 열거하는 동작이 함께 포착된 점은, 이 페이로드가 단순 다운로더에 머물지 않고 침투 이후 환경 정찰까지 수행하도록 설계됐음을 뒷받침한다.

ROKRAT의 흔적과 아직 확정되지 않은 C2 목적지

이 실행파일에서 발화한 룰 목록을 나란히 놓으면 하나의 방향이 뚜렷해진다. 먼저 Florian Roth(Nextron Systems)가 작성한 ROKRAT 탐지용 YARA 룰 'ROKRAT_Nov17_1'(룰셋 apt_rokrat)이 매치됐고, 같은 파일에서 'MALWARE-CNC Win.Trojan.Malear variant outbound connection'이라는 이름의 Snort 룰이 두 차례 발화했다. 거기에 더해 abuse.ch의 SSLBL JA3 지문 룰셋에서도 경보가 뜨고, 파일 자체에는 'via tor' 태그가 붙어 있다. ROKRAT은 이 위협 클러스터가 오랫동안 사용해 온 백도어 계열로 알려져 있는 도구이고, 여기에 별도 이름(Malear)으로 등록된 C2 시그니처가 겹쳐 뜬다는 사실은 벤더별 명명 체계가 서로 수렴하지 않은 채로 같은 실체를 서로 다른 이름으로 부르고 있을 가능성을 시사한다.

이 정황을 이 위협 정보 자체의 계보 표기와 겹쳐 보면 의미가 좀 더 분명해진다 — 이 위협을 분류하는 악성코드 계열명은 dogcall로 등록돼 있는데, dogcall은 ROKRAT 계보의 백도어 도구를 지칭할 때 흔히 쓰이는 이름이다. YARA 룰이 잡아낸 ROKRAT 패턴과, 계열명으로 붙은 dogcall, 그리고 VirusTotal이 독자적으로 붙인 trojan.midie/evnyca라는 라벨까지 세 갈래가 한 파일 위에서 동시에 관측된다는 점은, 이 도구가 여러 탐지 체계에서 서로 다른 이름으로 쫓기고 있을 뿐 실제로는 동일 계보의 변형일 가능성을 뒷받침한다.

다만 이 신호들이 실제 명령제어 채널의 목적지까지 확정해 주는 것은 아니다. Snort 룰이 잡은 것은 외부로 나가는 트래픽의 패턴이고, 'via tor' 태그는 익명화 네트워크를 경유했을 가능성을 가리키는 정황일 뿐이어서, 이 둘을 묶어 애플리케이션 계층 프로토콜을 통한 명령제어(T1071)로 분류하는 것은 합리적인 해석이지만 특정 프로토콜이나 목적지 IP까지 단정할 근거는 아니다. 이 사건에서 확인 가능한 유일한 네트워크 인프라 지표가 한국통신 소속 IP 하나뿐이라는 점을 고려하면, Snort가 잡아낸 외향 연결과 이 IP를 곧바로 같은 통신으로 연결 짓는 것은 현 단계에서 과잉 해석이 될 수 있다.

한국통신 대역 위의 자가서명 인증서 — 단서인가 결론인가

이 캠페인에서 확인되는 네트워크 인프라 지표는 IP 222.122.86.253 단 하나뿐이다. 이 IP는 한국통신(Korea Telecom, AS 4766) 소속으로 222.122.80.0/20 블록에 속해 있고, VirusTotal 기준 89개 엔진 가운데 단 하나도 이를 악성으로 판정하지 않은 상태다(0/89). 그런데도 이 IP가 서비스하는 TLS 인증서를 들여다보면 눈에 걸리는 지점이 있다 — 발급자와 소유자 항목이 모두 'My Company Ltd'로 동일하게 기재돼 있고, 국가는 영국(GB), 지역은 뉴베리(Newbury)로 표기돼 있으며, 유효기간은 2017년 4월 13일부터 2117년 3월 20일까지로 잡혀 있다. 100년짜리 유효기간과 정식 인증기관 서명 없이 스스로 서명한 구조, 그리고 실제 호스팅 국가(한국)와 전혀 무관한 영국 지역명이 뒤섞인 이 조합은, 정식 운영 서비스가 아니라 임시 스테이징 용도로 찍어낸 보일러플레이트 인증서의 전형적인 형태에 가깝다.

이 IP를 다른 지표와 이어주는 교차 연결은 확인되지 않는다 — 이 자산이 속한 통신 대역은 이번 관측 대상 전체에서 이 IP에만 등장하는 유일한 사례이고, 실행파일의 통신 로그나 별도의 도메인 지표와도 직접 묶이지 않는다. 그럼에도 자가서명·불일치 정체성 인증서라는 특징 자체는 일반적인 상용 웹서비스보다는 스테이징 서버나 C2 대응 인프라에서 더 자주 관측되는 패턴이며, 이런 정황을 근거로 이 호스트를 침투 이후 활동의 발판으로 의심하는 것은 자연스러운 추론이다. 다만 이 판단은 현 단계에서 단서 수준에 머물러야 한다 — 이를 뒷받침하는 근거 두께가 아직 얇아, 확정된 결론이라기보다는 추적해 볼 가치가 있는 리드로 다루는 것이 맞다.

WHOIS 상 이 블록은 KORNET이라는 이름으로 등록된 상용 통신망 대역이고, 최근 갱신 기록은 2026년 8월 12일로 남아 있다. 즉 이 주소가 방탄호스팅이나 전용 임대 서버가 아니라 일반 ISP 대역 안에 떠 있는 하나의 호스트라는 사실은, 공격자가 별도의 인프라를 구축하지 않고 기존 상용 회선 위에 올라탄 형태로 운영하고 있음을 시사한다. 도메인 계층이나 별도의 등록 기관 흔적 없이 bare IP를 직접 활용하는 구성은 인증서·등록 정보를 통한 추적 경로를 원천적으로 좁혀 버리는 효과가 있어, 이 캠페인의 최신 인프라 발판을 도메인 기반 위협 인텔리전스로 쫓기는 구조적으로 어려운 셈이다.

Group123 계보 안의 위치, 그리고 그 한계

이 위협 정보에 등록된 행위자는 Group123으로, ScarCruft·APT37·Red Eyes·Reaper·Ricochet Chollima·InkySquid 등 여러 벤더가 각기 다른 이름으로 추적해 온 클러스터다. 동기는 첩보(espionage)로 명시돼 있는데, 이는 유인문서에 담긴 대남 정치 비교 내용과 맥이 닿는다. 다만 이 정보 안에서 국가 배후를 직접 명시한 대목은 없고, 'Ricochet Chollima'라는 별칭이 일부 벤더가 북한 연계 클러스터에 붙이는 명명 관행을 따른다는 점이 이번 기록에서 국가 정렬을 암시하는 가장 뚜렷한 단서다. 이 단서 하나만으로 국가 배후를 확정하기는 어려워, 이 부분은 단정적 결론보다는 참고 수준의 정황으로 다루는 것이 맞다.

다만 이 귀속에는 대안적으로 읽을 여지도 있다. 이번 기록에서 Group123을 가리키는 근거는 오직 악성코드 계열 표기(dogcall)와 ROKRAT 계열을 잡아내는 YARA 룰 매치뿐이며, 인프라 쪽에서는 이 행위자와 직접 연결되는 별도의 코호트나 캠페인 연계 데이터가 전혀 나타나지 않는다. 즉 이 실행파일이 Group123 소속 운영자가 직접 배포한 것인지, 아니면 유출되거나 공유된 ROKRAT/dogcall 계열 도구를 제3자가 그대로 재사용한 것인지는 이 데이터만으로는 구분할 수 없다. 벤더별로 여덟 개나 되는 별칭이 나열될 만큼 여러 보안 업체가 이 클러스터를 서로 다른 이름으로 추적해 왔다는 사실 자체가, 업계 전반에서도 이 도구와 특정 행위자를 1대1로 묶는 데 오랫동안 어려움을 겪어 왔음을 보여준다. 그럼에도 대남 정치 소재 유인문서와 첩보 동기 태그가 함께 겹치는 조합은 우연으로 보기 어려워, 현재로서는 Group123 연계 해석을 유지하는 편이 가장 합리적인 선택으로 남는다.

9년째 하나로 합의되지 않는 이름

이 위협을 분류하는 악성코드 계열명은 dogcall로 등록돼 있지만, VirusTotal이 독자적으로 붙인 위협 라벨은 trojan.midie/evnyca이고, 대중적으로 통용되는 이름은 midie, evnyca, adrpt 세 갈래로 갈린다. 이 실행파일이 처음 관측된 2017년 1월 4일부터 거의 9년이 지난 지금까지도, 백신 업계가 이 도구에 대해 하나의 이름으로 합의하지 못했다는 뜻이다. YARA 커뮤니티 룰이 이를 ROKRAT으로 잡아내는 동안 다른 엔진들은 전혀 다른 계열명을 붙이고 있다는 사실은, 탐지 라벨의 파편화가 오래된 도구에도 여전히 남아 있음을 보여준다.

두 파일의 빌드 지표를 나란히 놓으면 같은 침투 체인 안에서도 각 구성요소가 서로 다른 제작 계통에서 나왔을 가능성이 보인다. 유인문서와 실행파일 사이에는 공유되는 빌드 흔적이 없어, 문서 작성 도구와 페이로드 빌더가 별도의 파이프라인에서 조립됐다는 해석이 가능하다. 이는 유인문서 제작과 백도어 개발이 분업화돼 있을 가능성을 암시하는 정황으로 볼 수 있으나, 이 역시 두 파일 사이의 빌드 지표 비교에서 나온 추론이며 별도의 제작 조직을 직접 확인해 주는 자료는 아니다. 행위 특성만 보면 이 도구는 구조적으로 새로운 것을 시도하지 않는다 — 런타임에 추가 모듈을 적재하고, 재부팅 이후에도 살아남도록 스스로를 설치하고, 회피를 위해 시간을 끄는 조합은 전통적인 로더·백도어 결합에 가깝다. 오히려 이 사례가 흥미로운 지점은 도구 자체의 혁신이 아니라, 이 정도로 오래되고 이름조차 정리되지 않은 도구가 2025년 12월까지도 계속 제출되고 있다는 지속성 쪽에 있다.

제출 이력을 좀 더 뜯어보면 다른 해석의 여지도 있다. 10회의 제출이 8개의 서로 다른 경로에서 나왔다는 사실이 반드시 8번의 개별 공격 캠페인을 의미하지는 않는다 — 보안 벤더나 연구자들이 오래된 샘플을 시그니처 검증이나 룰셋 회귀 테스트 목적으로 재제출하는 경우도 이 수치 안에 섞여 들어갈 수 있기 때문이다. 다만 이 샘플에 걸린 IDS 룰이 실제 아웃바운드 트래픽 패턴을 겨냥한 명령제어 시그니처이고, 매치된 YARA 룰 역시 정적 문자열이 아니라 ROKRAT 계열의 구조적 특징을 잡아내는 룰이라는 점을 고려하면, 이 제출 이력 전체를 순수한 연구용 재검증으로만 치부하기도 어렵다. 두 가능성이 공존할 수 있다는 전제 위에서, 적어도 일부 재제출은 실제 배포 현장에서 수집된 표본일 가능성이 남아 있다고 보는 것이 균형 잡힌 해석이다.

낡은 도구가 여전히 통한다는 것의 함의

2017년에 컴파일된 페이로드가 2025년 12월까지 8개의 서로 다른 경로로 다시 제출됐다는 사실은, 이 배달 체인이 한 차례의 캠페인으로 끝나지 않고 장기간에 걸쳐 간헐적으로 재활용되고 있음을 보여준다. 익스플로잇 대상이 2016년에 이미 패치된 결함이라는 점을 감안하면, 이 재활용이 가능한 이유는 공격 기법의 정교함이 아니라 패치되지 않은 환경이 여전히 어딘가에 남아 있다는 사실 자체에 있다고 보는 것이 타당하다.

이 기록에 남은 지역·산업 태그는 중국·요르단과 지원 서비스업 쪽을 가리키고 있지만, 이는 VirusTotal 제출 경로의 지리적 분포를 반영할 가능성이 있어 실제 피해 산업을 확정하는 근거로 쓰기는 어렵다. 오히려 첩보 동기와 대남 정치 소재 유인문서라는 조합을 근거로 판단하면, 한국 관련 정치·외교 현안을 다루는 조직이 이런 유형의 유인문서에 먼저 노출될 가능성이 높다고 보는 편이 자연스럽다.

이 사례가 보여주는 더 큰 그림은, 오래된 취약점과 이름조차 합의되지 않은 도구 조합이 여전히 최신 위협 지형 안에서 유효한 침투 경로로 살아남을 수 있다는 점이다. 최신 익스플로잇 체인이나 서명된 드라이버를 동원한 정교한 캠페인들과 나란히, 이런 저비용·재사용형 활동이 병행되고 있다는 사실은 방어 우선순위를 세울 때 신형 위협에만 초점을 맞추는 것이 충분하지 않을 수 있음을 시사한다. 인프라 측 단서가 단 하나의 IP와 그 위에 걸린 인증서 이상으로 확장되기 전까지, 이 클러스터의 최신 C2 발판을 확정하는 작업은 여전히 진행형으로 남아 있다.

IOC3

파일

(2)

IP

(1)
Source: CTX Threat Intelligence