PPLcontrol:一款功能强大的受保护进程安全控制工具

admin 2024年9月28日12:39:47评论39 views字数 2506阅读8分21秒阅读模式
PPLcontrol:一款功能强大的受保护进程安全控制工具

PPLcontrol:一款功能强大的受保护进程安全控制工具

 关于PPLcontrol 

PPLcontrol是一款功能强大的受保护进程安全控制工具,在该工具的帮助下,广大研究人员可以快速枚举出目标操作系统中受保护的进程,并获取指定进程的保护级别,或给目标进程设置任意保护级别。

 工具下载 

该工具基于C++开发,因此我们首先需要在本地设备上完成C++环境及代码构建工具的安装与配置,例如Visual Studio等。

广大研究人员可以使用下列命令将该项目源码克隆至本地,并手动完成代码构建:

git clone https://github.com/itm4n/PPLcontrol.git

 代码构建 

1、在Visual Studio中打开工具的解决方案.sln文件;

2、选择Release/x64(该工具不支持x86);

3、构建当前解决方案即可;

 工具使用 

1、下载MSI驱动程序

我们可以点击

https://github.com/RedCursorSecurityConsulting/PPLKiller/tree/master/driver获取MSI驱动程序RTCore64.sys文件。

2、安装MSI驱动程序

注意事项:千万不要直接在你自己的本地主机中安装该驱动程序,请一定要使用虚拟机!!!

sc.exe create RTCore64 type= kernel start= auto binPath= C:PATHTORTCore64.sys DisplayName= "Micro - Star MSI Afterburner"net start RTCore64

(向右滑动,查看更多)

3、使用PPLcontrol

枚举受保护的进程:

PPLcontrol.exe list

获取指定进程的保护级别:

PPLcontrol.exe get 1234

给目标进程设置任意保护级别:

PPLcontrol.exe set 1234 PPL WinTcb

保护一个未受保护的进程,并设置任意保护级别。此时将会自动调整相应的签名等级:

PPLcontrol.exe protect 1234 PPL WinTcb

让一个受保护进程取消保护,此时会将保护级别设置为0,并将EXE/DLL签名等级设置为0:

PPLcontrol.exe unprotect 1234

4、卸载驱动程序

net stop RTCore64sc.exe delete RTCore64

 工具使用样例 

使用WinDbg调试一个受保护进程

WinDbg只需要打开目标进程,因此我们可以使用PPLcontrol来给windbg.exe进程设置任意的保护级别:

1、获取windbg.exe进程的进程ID,即PID;

2、使用PPLcontrol设置任意保护级别;

C:Temp>tasklist | findstr /i windbgwindbg.exe                    1232 Console                    1     24,840 KC:Temp>PPLcontrol.exe protect 1232 PPL WinTcb[+] The Protection 'PPL-WinTcb' was set on the process with PID 1232, previous protection was: 'None-None'.[+] The Signature level 'WindowsTcb' and the Section signature level 'Windows' were set on the process with PID 1232.
(向右滑动,查看更多)

使用API Monitor(API监控工具)审查一个受保护的进程

除了打开目标进程外,API Monitor还会向其中注入DLL。因此,在apimonitor.exe进程上设置任意保护级别是不够的。由于注入的DLL没有正确的签名,因此目标进程的Section签名标志可能会阻止加载它。但是,我们可以暂时禁用目标进程上的保护,然后在监控完成后恢复保护即可。

Failed to load module in target process - Error577, Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.
(向右滑动,查看更多)

1、获取目标进程的进程ID,即PID;

2、使用PPLcontrol获取目标进程的保护级别;

3、取消进程保护;

4、使用API Monitor对进程执行监控;

5、恢复目标进程的保护;

C:Temp>tasklist | findstr /i targettarget.exe                    1337 Services                   1     14,160 KC:Temp>PPLcontrol.exe get 1337[+] The process with PID 1337 is a PPL with the Signer type 'WinTcb' (6).C:Temp>PPLcontrol.exe unprotect 1337[+] The process with PID 1337 is no longer a PP(L).C:Temp>PPLcontrol.exe protect 1337 PPL WinTcb[+] The Protection 'PPL-WinTcb' was set on the process with PID 1337, previous protection was: 'None-None'.[+] The Signature level 'WindowsTcb' and the Section signature level 'Windows' were set on the process with PID 1337.

(向右滑动,查看更多)

 项目地址 

PPLcontrol

https://github.com/itm4n/PPLcontrol

原文始发于微信公众号(FreeBuf):PPLcontrol:一款功能强大的受保护进程安全控制工具

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月28日12:39:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PPLcontrol:一款功能强大的受保护进程安全控制工具https://cn-sec.com/archives/1986267.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息