
前言
今天刷到的文章,做一个复现以及简单分析,本来还以为是啥NB的洞,结果一看......


漏洞研究
Notepad++ v8.8.1 安装程序中存在一个权限提升漏洞,该漏洞允许非特权用户通过不安全的可执行搜索路径获得 SYSTEM 级权限。只需最少的用户交互即可利用此漏洞。
简单来讲,notepad++在安装过程中优先从当前工作目录加载regsvr32.exe,导致的普通用户安装notepad++,管理员用户加载regsvr32.exe,最终实现的命令执行。
先看一下他给的poc有没有需要特别执行的地方
给了这几个文件

POC是regsvr32.exe
长这个鸟样

一眼pyinstaller打包的,逆向梭哈


然后用pycdc,将pyc反编译成.py
https://github.com/extremecoders-re/decompyle-builds
运行pycdc.exe . run.pyc >> run.py得到源码

他的poc,反弹shell到127.0.0.1的4444端口,剩下没有什么需要处理的
也就是说,不用考虑到环境兼容问题,直接打包任意exe名字为regsvr32.exe即可
做一个简单测试
import osprint("test")os.system("whoami")os.system("pause")

pyinstaller -F exp.py 打包成单文件,并修改名称
上虚拟机,开始安装



那么就有人疑问了,啊~复现完这里是administrator权限,并不是system权限,他给的poc,会在本地生成psexec,用psexec调用就是system了。
那么问题来了。运行notepad++安装程序,本来就需要administrator权限
漏洞大致类型为,DLL/EXE劫持或者和Linux上的path环境变量提权
官方Github漏洞描述
https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-9vx8-v79m-6m24
文中给的是Google Drive链接,已镜像网盘,解压密码zgsf