WPS Office plgpf.dll DLL劫持漏洞
原理简单说就是 exe 文件寻找 DLL 库会优先在当前目录下寻找,若 DLL 库未经过校验或者寻找 DLL 路径不是绝对路径,容易导致 DLL 被本地攻击者劫持
漏洞描述
CVE 编号:CVE - 2010 - 5208
WPS office 套件应用程序在加载外部库 (DLL) 时通过了一个不合格的路径,本地攻击者可利用该漏洞通过当前目录 (如包含
.xls
、ppt
、.rtf
、.doc
文件的目录)下的自编译恶意 DLL 库 (plgpf.dll) 获取特权
复现环境
- windows 7
- WPS 2010 版本为 2010_6.6.0.2477
- IDA
- process monitor
影响版本
- 2010_6.6.0.2477 或更低版本
漏洞分析
- DLLMain 函数入口反编译,
fdwReason
参数等于 1 时,即为DLL_PROCESS_ATTACH
,表示程序开始调用 DLL 里的函数,进入恶意函数HijackThis
HijackThis
函数,调用GetModuleFileNameA
函数获取当前程序绝对路径字符串和MessageBoxA
函数弹出对话框,最后调用WinExec
打开一个计算器.exe
利用
- 可以更改打开计算器为反弹 shell 的命令,结合钓鱼手段,在红蓝对抗中实现远控
- 编写恶意代码导致程序、系统崩溃