COMMENTS (0)
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
러시아 GRU 소속 APT28이 MSHTML 제로데이(CVE-2026-21513)로 Windows의 MotW 보호를 우회한 공격 체인 분석. IOC, 탐지 방법, 패치 정보를 포함합니다.
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 1월 30일, 누군가 VirusTotal에 파일 하나를 업로드했다.
파일 이름은 document.doc.LnK.download. 겉보기에는 평범한 문서 바로가기 같았다. 하지만 Akamai 보안 연구팀이 이 파일을 분석했을 때, Windows MSHTML 프레임워크의 알려지지 않은 취약점을 악용하는 정교한 익스플로잇 체인이 발견됐다.
그리고 이 파일의 C2 인프라는 러시아 GRU 산하 APT28(Fancy Bear)의 것이었다.
이 취약점의 핵심은 Windows가 "신뢰할 수 있는 콘텐츠"를 판별하는 방식에 있다.
Windows는 인터넷에서 다운로드한 파일에 Mark of the Web(MotW)이라는 표식을 붙인다. 이 표식이 있으면 파일 실행 시 경고가 뜨고, Internet Explorer Enhanced Security Configuration(IE ESC)이 추가 보호를 제공한다.
CVE-2026-21513은 이 보호 체계를 통째로 우회했다.
| 항목 | 내용 |
|---|---|
| CVE | |
| CVSS | 8.8 (High) |
| 취약 컴포넌트 | ieframe.dll (MSHTML Framework) |
| 취약 유형 | Protection Mechanism Failure (CWE-693) |
| 영향 | 모든 Windows 버전 (10, 11, Server) |
| 패치일 | 2026년 2월 10일 (Patch Tuesday) |
| CISA KEV 등재 | 2026년 2월 10일 |
기술적 원인은 ieframe.dll의 하이퍼링크 내비게이션 로직에 있었다. URL 검증이 불충분해서 공격자가 조작한 입력이 ShellExecuteExW 함수에 도달할 수 있었다. 이 함수는 브라우저 샌드박스 밖에서 파일을 실행한다.
APT28의 익스플로잇은 5단계로 진행됐다.
공격은 스피어피싱 이메일에 첨부된 document.doc.LnK.download 파일에서 시작됐다. 사용자 입장에서는 Word 문서처럼 보인다.
하지만 이 LNK 파일은 일반적이지 않았다. 표준 LNK 구조 바로 뒤에 HTML 파일이 직접 임베딩되어 있었다. 사용자가 파일을 열면 MSHTML 엔진이 이 HTML을 자동으로 처리한다.
임베딩된 HTML은 여러 겹의 iframe을 생성했다. 핵심은 각 iframe이 서로 다른 보안 영역(Security Zone)에 속한다는 점이다.
Windows의 MSHTML은 콘텐츠를 보안 영역별로 분류한다. 인터넷 영역(Internet Zone)은 제한이 엄격하고, 로컬 영역(Local Zone)은 거의 제한이 없다. 정상적이라면 인터넷에서 다운로드한 파일은 항상 인터넷 영역에서 실행된다.
APT28의 트릭은 이렇다. 첫 번째 iframe은 인터넷 영역에서 로드된다. 이 iframe 안에 두 번째 iframe을 생성하는데, 이때 특수하게 조작된 URL을 사용해 MSHTML의 영역 판별 로직을 혼란시킨다. 두 번째 iframe이 로드될 때 MSHTML은 이미 신뢰 컨텍스트를 잃어버린 상태다. 세 번째 iframe에 이르면 MotW 검사와 IE ESC 보호가 모두 적용되지 않는다.
결과적으로 인터넷에서 다운로드한 파일이 로컬 파일처럼 취급됐다. 경고창 없이, 보안 제한 없이 실행됐다.
보안 컨텍스트가 다운그레이드된 상태에서 ieframe.dll의 취약한 내비게이션 경로가 트리거됐다. 공격자가 조작한 URL이 ShellExecuteExW에 도달하면서, 브라우저 샌드박스 밖에서 임의 파일이 실행됐다.
실행된 페이로드는 APT28의 C2 도메인 wellnesscaremed[.]com에 접속해 다단계 추가 페이로드를 다운로드했다.
APT28은 러시아 군 정보기관 GRU의 85th Main Special Service Center(군부대 26165) 소속으로 확인됐다. 2004년부터 활동이 관측됐으며, 미국 DOJ가 소속 요원들을 공식 기소한 바 있다.
| 캠페인 | 연도 | 내용 |
|---|---|---|
| 미국 대선 개입 | 2016 | DNC, 클린턴 캠프 침해 |
| WADA 해킹 | 2016 | 세계반도핑기구 의료 기록 유출 |
| Nearest Neighbor | 2024 | Wi-Fi 포이즈닝 + NTDS 덤프 |
| 2026.01 | 유럽 해양/외교 기관 72시간 집중 공격 | |
| 2026.01 | 본 분석 대상 — MSHTML 제로데이 |
2026년 들어 APT28은 동시에 여러 캠페인을 진행하고 있다. CVE-2026-21509(Office OLE 취약점)와 (MSHTML)을 같은 시기에 악용했으며, 일부 인프라를 공유했다.
Trellix가 분석한 캠페인에서 사용된 도메인(wellnessmedcare[.]org, freefoodaid[.]com)이 의 C2 인프라와 겹친다. 공격 방식은 달랐다 — 21509는 Office OLE → WebDAV → .NET 백도어 체인, 21513은 LNK → MSHTML → ShellExecuteExW 체인 — 하지만 같은 운영 인프라 위에서 병렬로 돌아가고 있었다. 하나가 탐지되면 다른 하나로 전환할 수 있는 구조다.
2026년 1월 28~30일 사이에 캠페인은 9개 동유럽 국가에 29개의 스피어피싱 이메일을 발송했다. 샘플이 VirusTotal에 업로드된 것도 같은 시기(1월 30일)다.
Trellix 분석에 따르면, 표적은 일관된다. 국방부(40%), 운송/물류(35%), 외교(25%) — 우크라이나를 지원하는 서방 국가들이 핵심 대상이다.
| 유형 | 값 |
|---|---|
| SHA-256 | aefd15e3c395edd16ede7685c6e97ca0350a702ee7c8585274b457166e86b1fa |
| 파일명 | document.doc.LnK.download |
| VirusTotal 업로드 | 2026년 1월 30일 |
| 도메인 | 용도 |
|---|---|
| wellnesscaremed[.]com | 메인 C2 / 페이로드 호스팅 |
| wellnessmedcare[.]org | 추가 페이로드 호스팅 |
| freefoodaid[.]com | 페이로드 전달 |
| longsauce[.]com | 페이로드 전달 |
| IP | 연관 도메인 |
|---|---|
| 23.227.202[.]14 | wellnesscaremed[.]com |
| 193.187.148[.]169 | wellnessmedcare[.]org |
| 159.253.120[.]2 | freefoodaid[.]com |
| 계정 | 용도 |
|---|---|
| chmilewskii@outlook[.]com | C2 통신 |
| chmilewskii@proton[.]me | C2 통신 |
| jannet.stillman@outlook[.]com | filen.io C2 계정 |
| 탐지 대상 | 방법 |
|---|---|
| 이중 확장자 LNK 파일 | .doc.LnK 패턴 파일 탐지 |
| MSHTML 비정상 동작 | 중첩 iframe + 다중 DOM 컨텍스트 모니터링 |
| ShellExecuteExW 호출 | 브라우저 프로세스 외부에서의 호출 경보 |
| C2 도메인 | wellnesscaremed[.]com 등 4개 도메인 차단 |
| 비정상 아웃바운드 | LNK 실행 직후 외부 HTTP 연결 |
가장 중요한 방어: 2026년 2월 10일 Microsoft 보안 업데이트 즉시 적용.
APT28은 Windows가 "신뢰할 수 있는 콘텐츠"를 판별하는 메커니즘 자체를 공격했다. MotW, IE ESC, 브라우저 샌드박스 — 이 세 겹의 보호가 iframe 중첩이라는 단순한 트릭으로 무력화됐다.
Microsoft는 ieframe.dll의 하이퍼링크 프로토콜 검증을 강화해 file://, http://, https:// 링크가 ShellExecuteExW에 도달하지 못하도록 패치했다.
이 사건은 보안의 기본 전제 ("OS가 파일의 출처를 정확히 추적한다") 가 얼마나 쉽게 무너질 수 있는지를 보여준다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.