2026년 2월 2일, Notepad++ 개발자 Don Ho가 공식 성명을 발표했다. 2025년 6월부터 12월까지 약 6개월간 Notepad++의 업데이트 인프라가 중국 국가지원 해커 그룹에 의해 침해되었다는 내용이었다.
공격자는 호스팅 업체를 침해하여 업데이트 트래픽을 가로챈 뒤, 특정 타겟에게만 악성코드를 전달했다. Kaspersky GReAT은 최소 3개의 서로 다른 감염 체인을 식별했으며, Rapid7은 이 공격을 중국 연계 APT 그룹 Lotus Blossom의 소행으로 귀속했다.
이 글에서는 사건의 전체 타임라인, 3개 감염 체인의 기술적 구조, 그리고 공급망 공격에 대한 방어 관점을 분석한다.
사건 개요
| 항목 | 내용 |
|---|---|
| 공격 기간 | 2025년 6월 ~ 12월 2일 |
| 공개일 | 2026년 2월 2일 |
| 공격 벡터 | 호스팅 업체 침해 + WinGUP 업데이터 서명 검증 미흡 |
| 배후 | Lotus Blossom(Rapid7) / Violet Typhoon·APT31(Beaumont) |
| 피해 규모 | 약 12대 기기 (베트남, 필리핀, 엘살바도르, 호주) |
| 대상 분야 | 정부기관, 통신, 금융, IT 서비스 |
| 수정 버전 | v8.8.9 (2025년 12월 9일 배포) |
왜 Notepad++였는가
Notepad++는 전 세계적으로 가장 많이 사용되는 텍스트 에디터 중 하나다. 개발자, 시스템 관리자, 보안 분석가 모두 사용한다. 공격자 관점에서 Notepad++를 타겟으로 선택한 이유는 명확하다.
- 광범위한 설치 기반: IT 인프라를 관리하는 기술 인력이 주 사용자
- 자동 업데이트 신뢰: WinGUP 업데이터를 통한 자동 업데이트를 대부분의 사용자가 의심 없이 수행
- 1인 개발 프로젝트: 대규모 보안팀이 없는 오픈소스 프로젝트의 인프라는 상대적으로 취약
- 타겟 선별 가능: 업데이트 서버를 제어하면 특정 IP 대역의 사용자에게만 악성 업데이트를 전달할 수 있음
이는 2020년 SolarWinds SUNBURST 공격과 유사한 논리다. 신뢰받는 소프트웨어의 업데이트 채널을 장악하면 타겟 조직의 방어 체계를 우회할 수 있다.
공격 타임라인
Phase 1: 호스팅 업체 침해 (2025년 6월)
공격자는 Notepad++ 웹사이트를 호스팅하는 공유 호스팅 서버를 침해했다. 코드 저장소나 빌드 시스템이 아닌 호스팅 인프라를 노린 것이 핵심이다.
침해된 호스팅 서버를 통해 notepad-plus-plus.org로 향하는 업데이트 트래픽을 선택적으로 악성 서버(45.76.155[.]202 등)로 리디렉션했다. 모든 사용자가 아닌, 타겟 IP 대역의 사용자에게만 악성 업데이트를 전달한 것이다.
Phase 2: 자격증명 탈취 (2025년 9월 ~ 12월)
2025년 9월 2일, 호스팅 업체가 공유 서버 침해를 차단했다. 그러나 공격자는 이미 내부 서비스 자격증명을 탈취한 상태였다. 이 자격증명으로 12월 2일까지 업데이트 트래픽 리디렉션을 지속했다.
Phase 3: 패치와 공개 (2025년 12월 ~ 2026년 2월)
| 시점 | 조치 |
|---|---|
| 2025년 12월 2일 | 공격자 자격증명 접근 차단 |
| 2025년 12월 9일 | v8.8.9 배포 — 다운로드 인스톨러 서명·인증서 검증 추가 |
| 2025년 12월 27일 | v8.9 배포 — 자체 서명 인증서 폐기, GlobalSign 인증서로 전환 |
| 2026년 1월 초 | 보안 연구자 Kevin Beaumont가 공격 사실 공개 |
| 2026년 2월 2일 | Don Ho 공식 성명 발표, 호스팅 업체 변경 완료 |
WinGUP 업데이터의 근본 취약점
공격의 핵심은 Notepad++의 자동 업데이트 도구인 **WinGUP(Windows Generic Updater Platform)**의 서명 검증 부재였다.
v8.8.9 이전 버전의 WinGUP은 다운로드된 바이너리의 디지털 서명과 인증서를 검증하지 않았다. 네트워크 트래픽을 가로챌 수 있는 공격자라면 누구든 업데이트 바이너리를 교체할 수 있는 구조적 결함이었다.
3개 감염 체인 분석
Kaspersky GReAT은 2025년 7월부터 10월까지 배포된 3개의 서로 다른 감염 체인을 식별했다. 공격자는 4개월에 걸쳐 C2 서버, 다운로더, 최종 페이로드를 지속적으로 교체했다.
Chain 1: ProShow DLL 사이드로딩 (2025년 7~8월)
실행 흐름:
- WinGUP이
45.76.155[.]202/update/update.exe에서 악성 NSIS 인스톨러(~1MB) 다운로드 whoami && tasklist실행 후 시스템 정보를temp[.]sh로 업로드- 2010년대 초반 ProShow 취약점을 이용한 셸코드 실행
- Metasploit 다운로더가
45.77.31[.]210/users/admin에서 Cobalt Strike Beacon 다운로드
| 항목 | 값 |
|---|---|
| 배포 URL | 45.76.155[.]202/update/update.exe |
| C2 서버 | 45.77.31[.]210 |
| 최종 페이로드 | Cobalt Strike Beacon |
Chain 2: Lua 스크립트 실행 (2025년 9~10월)
Chain 1보다 정찰 범위가 확대되었다. whoami, tasklist에 더해 systeminfo, netstat -ano까지 수집했다.
실행 흐름:
- NSIS 인스톨러(~140KB)가 Lua 인터프리터를
%APPDATA%\Adobe\Scripts에 설치 - 컴파일된 Lua 스크립트
alien.ini가EnumWindowStationsWAPI를 통해 셸코드 실행 - Metasploit 다운로더가
cdncheck.it[.]com/users/admin에서 Cobalt Strike Beacon 다운로드
| 항목 | 값 |
|---|---|
| 설치 경로 | %APPDATA%\Adobe\Scripts |
| 초기 C2 | cdncheck.it[.]com |
| 후기 C2 | safe-dns.it[.]com |
| 최종 페이로드 | Cobalt Strike Beacon |
Chain 3: Chrysalis 백도어 (2025년 10월)
가장 발전된 형태의 감염 체인이다. 오픈소스 도구 대신 커스텀 백도어를 사용했다.
실행 흐름:
45.32.144[.]255/update/update.exe에서 NSIS 인스톨러 다운로드- 정상 Bitdefender 실행파일을
BluetoothService.exe로 위장하여%APPDATA%\Bluetooth\에 설치 - 악성
log.dllDLL 사이드로딩 - 암호화된 셸코드를 복호화하여 Chrysalis 백도어 실행
| 항목 | 값 |
|---|---|
| 배포 URL | 45.32.144[.]255/update/update.exe |
| 위장 실행파일 | BluetoothService.exe (Bitdefender) |
| 사이드로딩 DLL | log.dll |
| 최종 페이로드 | Chrysalis 백도어 |
Chrysalis 백도어 기능:
- 시스템 정보 수집
- 원격 명령 실행 (HTTP 응답 기반)
- 파일 업로드/다운로드
- 인터랙티브 셸 생성
- 자기 삭제 기능
- 커스텀 API 해싱과 다층 난독화
MITRE ATT&CK 매핑
| 기법 ID | 적용 내용 |
|---|---|
| T1195.002 | 호스팅 업체 침해를 통한 업데이트 트래픽 하이재킹 |
| T1574.002 | ProShow, BluetoothService.exe를 이용한 악성 DLL 로딩 |
| T1059.006 | Lua 스크립트를 통한 셸코드 실행 |
| T1082 | systeminfo, whoami로 시스템 정보 수집 |
| T1057 | tasklist로 프로세스 목록 수집 |
| T1049 | netstat -ano로 네트워크 연결 수집 |
| T1105 | curl을 통한 페이로드 다운로드 | | T1547.001 | 레지스트리 자동실행 등록을 통한 지속성 확보 |
배후: Lotus Blossom
Rapid7은 이 공격을 Lotus Blossom(Billbug, Bronze Elgin, Lotus Panda)의 소행으로 중간 확신(medium confidence) 수준에서 귀속했다. 보안 연구자 Kevin Beaumont는 Violet Typhoon(APT31, Zirconium)으로 귀속했다.
| 항목 | 내용 |
|---|---|
| 그룹명 | Lotus Blossom / Violet Typhoon |
| 국가 | 중국 |
| 주요 타겟 | 정부, 통신, 항공, 핵심 인프라, 미디어 |
| 활동 기간 | 2012년~현재 (장기 활동 APT) |
| 특징 | 공급망 공격, DLL 사이드로딩, 커스텀 백도어 |
Chrysalis 백도어의 코드 패턴이 중국어권 위협 행위자의 특징과 일치한다는 점도 귀속의 근거 중 하나다.
피해 범위와 타겟 선별
이 공격은 무차별 배포가 아닌 선별적 타겟팅이었다. Kaspersky는 약 12대의 감염 기기를 식별했으며, 다음 조직이 피해를 입었다.
| 대상 | 국가 |
|---|---|
| 정부기관 | 필리핀 |
| 금융기관 | 엘살바도르 |
| IT 서비스 업체 | 베트남 |
| 개인 사용자 | 호주, 베트남 |
대다수의 일반 사용자는 영향을 받지 않았다. 공격자는 타겟 IP 대역을 확인한 후에만 악성 업데이트를 전달했다.
주요 IoC (침해 지표)
악성 업데이트 배포 URL
45.76.155[.]202/update/update.exe45.32.144[.]255/update/update.exe95.179.213[.]0/update/update.exe
C2 서버
45.77.31[.]210(Chain 1)cdncheck.it[.]com/safe-dns.it[.]com(Chain 2)api.wiresguard[.]com(Chain 3)api.skycloudcenter[.]com(Chrysalis C2)
파일 해시 (SHA1)
8e6e505438c21f3d281e1cc257abdbf7223b7f5a(update.exe — Chain 1)ca4b6fe0c69472cd3d63b212eb805b7f65710d33(alien.ini — Chain 2)f7910d943a013eede24ac89d6388c1b98f8b3717(log.dll — Chain 3)
SolarWinds와의 비교
| 비교 항목 | SolarWinds (2020) | Notepad++ (2025) |
|---|---|---|
| 공격 벡터 | 빌드 시스템 침해 | 호스팅 인프라 침해 |
| 배포 방식 | 악성 업데이트 DLL | 악성 업데이트 EXE |
| 타겟 선별 | IP/도메인 기반 필터링 | IP 기반 선택적 리디렉션 |
| 피해 규모 | 약 18,000개 조직 | 약 12대 기기 |
| 배후 | Russia (SVR) | China (Lotus Blossom) |
규모는 다르지만 공격 구조는 유사하다. 신뢰받는 소프트웨어의 업데이트 채널을 장악하여 타겟에게 악성코드를 전달하는 공급망 공격의 전형적 패턴이다.
대응 권장 사항
Notepad++ 사용자:
- 즉시 v8.8.9 이상으로 업데이트 (수동 다운로드 권장)
- 공식 웹사이트(notepad-plus-plus.org)에서 직접 인스톨러 다운로드
- 기존 자동 업데이트 기능은 구버전에서 신뢰하지 않음
- 위 IoC 목록과 대조하여 네트워크 로그 점검
조직 보안팀:
- 소프트웨어 업데이트 프로세스에 대한 코드 서명 검증 정책 수립
- SBOM(Software Bill of Materials)을 통한 서드파티 소프트웨어 관리
- EDR에서 DLL 사이드로딩 탐지 규칙 점검
- 공급망 공격 시나리오를 위협 모델링에 포함
참고 자료
- Kaspersky Securelist — The Notepad++ supply chain attack: unnoticed execution chains and new IoCs
- The Hacker News — Notepad++ Official Update Mechanism Hijacked to Deliver Malware
- The Hacker News — Notepad++ Hosting Breach Attributed to Lotus Blossom
- Help Net Security — Notepad++ supply chain attack: IoCs and targets
- TechCrunch — Notepad++ says Chinese government hackers hijacked its software updates
- The Register — Notepad++ patches update chain after targeted compromise
- Arctic Wolf — Notepad++ Publishes Full Details of 2025 Compromise
- SecurityWeek — Notepad++ Supply Chain Hack Conducted by China via Hosting Provider
안내 및 법적 고지
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 사건의 기술적 분석은 Kaspersky, Rapid7, 공개 보안 보고서에 근거합니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.
COMMENTS (0)
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.