
那么其中的漏洞也显而易见
如果能够利用白名单进程执行文件读写操作,那么自然能够绕过防护
利用思路:
执行
#!bash
sadmin updaters list
如图 


以下是我找到的比较通用并能被利用的进程:
选取GoogleUpdate.exe
使用《Powershell tricks::Code Execution & Process Injection》提到的Process Injection-Meterpreter.ps1
可以在powershell的环境下粘贴代码执行

向GoogleUpdate.exe进程注入meterpreter
如图 
注:
注入系统权限的进程需要管理员权限
如图 
弹回meterpreter
发现没有直接注入到GoogleUpdate.exe
接着进程注入,如图 
成功注入到GoogleUpdate.exemcafee密码忘了,理论上已经有了权限可以操作受保护的文件
我们接着测试,如图 
成功修改文件和删除文件
接着测试读取文件,如图 

成功读取被保护的内容
注: 通过进程注入获得的权限可以用来执行脚本
McAfee Application Control可对操作设置密码,增强其安全
设置密码:
#!bash
sadmin passwd
去掉密码:
#!bash
sadmin passwd -d
密码文件保存在C:\Program Files\McAfee\Solidcore\passwd
第二,绝大多数工具查找进程路径名也通过toolhlp32和psapi,前者会调用rtldebug函数向目标注入远线程,后者会调用api读取目标进程内存,其本质上都是对peb的枚举,因此,通过修改peb就可以轻易让这些工具失灵。2、绝大多数工具查找进程路径名也是通过toolhlp32、psapi,前者会调用rtldebug***函数向目标注入远线程,后者会用调试api读取目标进程内存,本质上都是对peb的枚举mcafee密码忘了,通过修改peb就轻易让这些工具找不到北了。结束语:顺便提一下为什么会有inetd服务器的原因,因为如果没有的话,假设在系统中有10个请求服务端,然后就会创建10个接受进程来接受服务,这样系统就多了10个进程,那么如果没有请求来的话这10个进程还在挂起状态,严重的浪费了系统的资源, 所以人们就想用一个进程来做,所以就出来了个inetd服务器的东西,就是说它读取/etc/inetd.conf文件读取10个进程的服务项,然后创建socket等等,这样系统中只是一个进程在挂起,来请求时,就调用相应的任务进程即可,这样节省了系统的资源。

但是我们依然有办法:D
这里可以借鉴导出域控ntds.dit文件的方法,使用NinjaCopy.ps1

下载链接:
https://github.com/3gstudent/NinjaCopy
指定路径为:
#!bash
Invoke-NinjaCopy -Path "C:\Program Files\McAfee\Solidcore\passwd" -LocalDestination "C:\test\trust\passwd"
管理员权限运行NinjaCopy.ps1,成功复制passwd文件
如图 
上图为passwd的内容
查看资料得知此处使用的是sha-512加密(mcafee-application-control-product-guide/Page68)
如图 
推断cryptographic salt为88daf0b4-790e-4eae-a926-b08788fbd1cb
在验证推断
输入cryptographic salt和明文对比测试

如图 
passwd中的内容和我们自己加密的密文相同,判断正确
McAfee Application Control为方便使用,可以指定信任路径,在里面的所有操作均不会被拦截
如果McAfee Application Control未设置密码或者密码被获得,可以建立一个信任路径,里面的操作均不会被拦截
建立:
#!bash
sadmin trusted -i c:\test\trusted
查看:
#!bash
sadmin trusted -l
如图程序成功执行 
日志默认被保存在C:\ProgramData\McAfee\Solidcore\Logs
通过进程注入获得的权限可以修改此文件
“未知攻 焉知防”,即使做到以上几点,我相信依然有绕过的方法:)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-104436-1.html
无条件的自卑是病
哭
美国有他的算盘