---
title: "개발자의 국민 에디터 Notepad++, 4개월간 공급망 공격에 당했다"
published: 2026-02-03T22:35:27.000Z
canonical: https://jeff.news/article/382
---
# 개발자의 국민 에디터 Notepad++, 4개월간 공급망 공격에 당했다

Notepad++ 업데이트 인프라가 호스팅 제공업체 수준에서 침해되어 2025년 6월~12월간 공격자가 악성 업데이트를 배포함. 7월부터 10월까지 세 가지 서로 다른 감염 체인이 관찰되었으며, 매달 C2 서버, 다운로더, 페이로드를 교체하는 고도화된 공격이었음.

> [!WARNING]
> Notepad++를 사용 중이라면 2025년 6월~12월 사이에 업데이트를 수행한 이력이 있는지 반드시 확인해야 함. 아래 IOC 목록과 대조하여 시스템 점검을 권장함.

- Kaspersky가 Notepad++ 업데이트 인프라에 대한 공급망 공격을 상세 분석한 보고서를 공개함
- 호스팅 제공업체 수준의 침해로 2025년 6월~9월 사이 업데이트 서버가 장악되었고, 공격자는 12월까지 내부 서비스 접근 권한을 유지함
- 개발자라면 누구나 아는 텍스트 에디터가 APT 공격의 전달 수단이 된 사례로, 공급망 보안의 심각성을 다시 한번 보여줌

## 공격 타임라인과 표적

- 2025년 7월부터 10월까지 약 4개월간 세 가지 서로 다른 감염 체인이 관찰됨
- 공격 대상은 약 12대의 머신으로 매우 선별적이었음:
  - 베트남, 엘살바도르, 호주의 개인 사용자
  - 필리핀 정부 기관
  - 엘살바도르 금융 기관
  - 베트남 IT 서비스 제공업체
- 공격자는 C2 서버 주소, 다운로더, 최종 페이로드를 매달 교체하며 탐지를 회피함
- 타겟이 적다는 건 오히려 공격자가 고도로 선별적인 APT 스타일로 운영했음을 의미함

## Chain #1: 2025년 7월 말~8월 초 (ProShow 취약점 악용)

```mermaid
sequenceDiagram
    participant GUP as GUP.exe (정상 업데이터)
    participant NSIS as update.exe (NSIS 인스톨러)
    participant Temp as temp.sh
    participant Pro as ProShow.exe (취약점 악용)
    participant Meta as Metasploit Downloader
    participant CS as Cobalt Strike Beacon

    GUP->>NSIS: 악성 업데이트 다운로드 실행
    NSIS->>NSIS: whoami, tasklist 실행 → 1.txt 생성
    NSIS->>Temp: curl로 1.txt 업로드
    NSIS->>NSIS: temp.sh URL을 User-Agent에 담아 C2로 전송
    NSIS->>Pro: %appdata%\ProShow에 파일 드롭 후 실행
    Note over Pro: DLL 사이드로딩이 아닌<br/>2010년대 초 알려진 취약점 악용
    Pro->>Meta: load 파일 내 쉘코드 → 다운로더 복호화
    Meta->>CS: Beacon 쉘코드 다운로드 및 실행
    CS->>CS: cdncheck.it.com C2와 통신
```

- 정상 Notepad++ 업데이터 프로세스(GUP.exe)가 악성 update.exe를 다운로드하여 실행함
- update.exe는 약 1MB 크기의 NSIS 인스톨러로, 먼저 시스템 정보를 수집하여 temp.sh에 업로드함
- 주목할 점은 DLL 사이드로딩 대신 ProShow 소프트웨어의 오래된 취약점을 악용했다는 것임. 요즘 DLL 사이드로딩이 너무 많은 관심을 받고 있어서 의도적으로 회피한 것으로 분석됨
- load 파일에는 두 개의 쉘코드가 포함되어 있었는데, 첫 번째는 가짜 패딩용이었고 실제 실행되는 건 두 번째 쉘코드임. 분석가와 자동화 시스템을 혼란시키려는 의도로 보임
- 최종적으로 Metasploit 다운로더를 통해 Cobalt Strike Beacon을 배포함
- 8월 초에는 같은 체인을 사용하되 C2 URL만 변경함

## Chain #2: 2025년 9월 (Lua 인터프리터 악용)

- 한 달 반의 공백 후 9월 중순에 새로운 감염 체인으로 공격 재개함
- 여전히 NSIS 인스톨러를 사용하지만 파일 크기가 약 140KB로 대폭 축소됨
- 시스템 정보 수집이 강화됨: `whoami`, `tasklist`에 더해 `systeminfo`, `netstat -ano`까지 수집
- 2단계 페이로드는 완전히 변경됨:
  - 정상 Lua 인터프리터 파일들(`script.exe`, `lua5.1.dll`, `alien.dll`)을 `%APPDATA%\Adobe\Scripts`에 드롭
  - 악성 Lua 스크립트(`alien.ini`)가 쉘코드를 실행 가능한 메모리에 배치하고 `EnumWindowStationsW` API를 통해 실행
- 최종 페이로드는 여전히 Cobalt Strike Beacon이지만, C2 URL이 변경됨
- 9월 말에는 시스템 정보 수집 명령어를 단일 명령에서 여러 개별 명령으로 분리하는 변화도 관찰됨
- 이후 C2 도메인을 `self-dns.it.com`, `safe-dns.it.com`으로 교체함

## Chain #3: 2025년 10월 (DLL 사이드로딩 + Chrysalis 백도어)

- 10월 초에 또다시 감염 체인을 변경하고, 악성 업데이트 배포 C2 서버 IP도 교체함
- 이번에는 시스템 정보 수집 기능이 제거되고, 순수하게 페이로드 배포에만 집중함
- `%appdata%\Bluetooth\` 디렉터리에 세 개 파일을 드롭:
  - `BluetoothService.exe` (정상 실행 파일)
  - `log.dll` (악성 DLL)
  - `BluetoothService` (암호화된 쉘코드)
- 이 체인은 DLL 사이드로딩 방식으로, Chain #1에서 의도적으로 회피했던 기법을 다시 사용함
- 최종 페이로드는 Cobalt Strike가 아닌 **Chrysalis 백도어**로, 중국어 사용 위협 행위자에게서 흔히 관찰되는 패턴임
- Rapid7의 인시던트 대응 과정에서 별도로 Cobalt Strike Beacon도 발견되었으며, Chain #1/#2의 Beacon과 유사한 특징을 보임:
  - Metasploit 다운로더 URL 패턴 유사
  - Beacon 설정이 `CRAZY` XOR 키로 암호화
  - 유사한 C2 URL 구조 사용

## 10월 중후반: Chain #2의 복귀와 URL 변경

- 10월 중순에 Chain #2 페이로드가 새로운 IP에서 다시 배포됨
- 10월 후반에는 업데이트 파일명도 다양화됨: `install.exe`, `update.exe`, `AutoUpdater.exe`
- Chain #2와 Chain #3을 혼용하여 배포함
- 11월 이후로는 새로운 페이로드 배포가 관찰되지 않음

## 핵심 시사점

- 공격자는 매달 감염 체인을 완전히 교체할 정도로 높은 수준의 역량과 자원을 보유함
- ProShow 취약점 악용, Lua 인터프리터 악용, DLL 사이드로딩 등 세 가지 서로 다른 기법을 사용한 것은 단일 탐지 규칙으로는 대응이 매우 어렵다는 것을 의미함
- 공격 대상이 소수에 불과했다는 점에서, 이건 대량 감염이 아닌 정밀 타격형 공급망 공격이었음
- Notepad++ 커뮤니티 포럼의 사용자 soft-parsley가 보고한 행동 패턴과 Kaspersky의 분석이 일치하는 것도 확인됨
- Kaspersky는 식별된 모든 공격을 차단했다고 밝혔으며, 상세한 IOC와 탐지 방법을 제공함

## 탐지 권고 사항

- NSIS 인스톨러 배포 흔적 점검: `%localappdata%\Temp\ns.tmp` 디렉터리 생성 로그 확인
- 네트워크 트래픽에서 `temp.sh` 도메인 DNS 해석 기록 확인 (기업 환경에서는 비정상적)
- User-Agent에 temp.sh URL이 포함된 HTTP 요청 탐지
- `whoami`, `tasklist`, `systeminfo`, `netstat -ano` 연속 실행 명령 모니터링
- 보고서에 포함된 IOC(악성 URL, 파일 해시)와 자사 환경 대조 필수

[원문 보기 (Kaspersky Securelist)](https://securelist.com/notepad-supply-chain-attack/118708/)

## 핵심 포인트

- 호스팅 제공업체 침해로 Notepad++ 업데이트 서버가 6개월간 장악됨
- ProShow 취약점 악용, Lua 인터프리터 악용, DLL 사이드로딩 등 3가지 감염 체인을 매달 교체
- 베트남/엘살바도르/호주/필리핀 등 약 12대 머신만 정밀 타격하는 APT 스타일
- 최종 페이로드는 Cobalt Strike Beacon과 중국어 위협 행위자 패턴의 Chrysalis 백도어

## 인사이트

개발자가 가장 많이 쓰는 도구 중 하나가 공급망 공격의 수단이 되었다는 점에서, 소프트웨어 업데이트 인프라의 보안이 코드 자체의 보안만큼이나 중요하다는 것을 보여줌. 매달 감염 체인을 완전히 바꿀 수 있는 역량의 공격자를 상대하려면 단일 탐지 규칙이 아닌 다층적 방어가 필수임.
