怎么搞定某擎EDR卸载密码

怎么搞定某擎EDR卸载密码

怎么搞定某擎EDR卸载密码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

0x01 前言

现在很多环境中都会安装终端安全管理软件以保护系统的安全,管理员当然不会允许用户擅自退出或者卸载软件,往往会在服务端配置一个密码,用以运维时使用,此类运维密码往往是红队活动中梦寐以求的东西,拿到一个说不定就一码通了呢!

之前做这件事的起因是这样,跟红队大佬好基友闲聊时,说起杀软卸载密码的问题,重点不是要卸载,而是关注密码如何验证,以及是否存在获取明文密码的可能,若不是随机密码,就可以从密码分析组合规律,在没有其他收获时,多一个密码组合规律,就多一种路子不是?

一想很有道理啊,再加上正好懂一点点逆向,那就安排一下。

0x02 关键分析

直接进入正题,打开控制面板 - 程序和功能,找到目标右键卸载,会弹出对话框要求输入密码,这样的。

挂上调试器,找到验证密码的地方,其实在这里已经可以实现无密码卸载的效果了,但这不是我们的目的,我们继续分析。

向上找到函数头部,下断点顺一遍整体流程,从函数头开始,可以看到读取了文件 EntBase.dat

过去看一眼这个文件的内容,稍微对内容留个印象,根据名字盲猜这两个 HASH一个是卸载密码另一个是退出密码

顺一遍最主要目的是看一下 HASH怎么生成的,找到生成 HASH函数后发现特征与 MD5很像啊。

这里最简单的验证办法就是下个断点,看一下参数输入以及结果输出值,将参数代入标准的 MD5算法对比一下就知道了,视情况而定,有时候没必要硬撸代码,验证后发现结果是一模一样啊,这里就不贴图了。

找一下参数来源,原来是将输入的内容与固定字符串进行拼接。

整个验证流程里存在两个算法,两个的核心都是拼接固定字符串进行MD5,区别就是进行MD5的次数,个人猜测是历史遗留问题,需要兼容旧版本。

最终整理一下流程:

  • 读取 EntBase.dat

  • 将输入的密码与固定字符串进行拼接。

  • 将结果带入 MD5方法计算 HASH,两种算法分别计算。

  • 最后与 EntBase.dat中的 HASH进行对比,两个算法的结果通过一个即可。

至此可以确定,卸载密码无法逆向还原,也无法使用在线的网站查询(因为拼接+多次计算),但是可以正向碰撞一下,所以还是存在获取明文密码的可能,只是需要一个稍微强大亿点点的字典进行配合。

0x03 验证测试

根据分析结果,写个脚本跑一下,字典使用 TOP 系列以及定制化生成字典进行碰撞测试,如单位名加日期、座机号等信息。

拿去测试一下是否正确,先试一下退出。

退出没有问题, 卸载应该也没有问题。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。

发布于 2021-12-23 21:14:48
收藏
分享
海报
0 条评论
81
上一篇:如何把企业的云上日志采集到本地SIEM 下一篇:如何做好VIRUS.COVID-19应急响应
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码