CVE-2020-11651 SaltStack认证绕过原理

  • A+
所属分类:安全文章

文章源自【字节脉搏社区】-字节脉搏实验室

作者-叶子

扫描下方二维码进入社区

CVE-2020-11651 SaltStack认证绕过原理

前一阵报了saltstack的一个漏洞,一直没太关注,试了试还挺好用的。

漏洞原理也很简单,__init__.py里可以找到检验认证的函数check_authentication

CVE-2020-11651 SaltStack认证绕过原理

CVE-2020-11651 SaltStack认证绕过原理

CVE-2020-11651 SaltStack认证绕过原理

完事再跟一下key值的来源,出自master.py里的_prep_auth_info函数此处第三种认证方式,该函数随后返回了key值与API携带key值在self.authenticate_key()中做比对。

CVE-2020-11651 SaltStack认证绕过原理

CVE-2020-11651 SaltStack认证绕过原理

这个逻辑本来是是没问题的。问题出在了权限的划分,攻击者可以匿名外部调用API访问_prep_auth_info方法,从而获取到self.key,以key通过之后的验证获取root的权限。

看一下官方版本的patch

CVE-2020-11651 SaltStack认证绕过原理

CVE-2020-11651 SaltStack认证绕过原理

跟一下clearfuncs的类

CVE-2020-11651 SaltStack认证绕过原理

CVE-2020-11651 SaltStack认证绕过原理

过滤方法从过滤双下划线开头的private变成了添加了一个白名单解决问题。

其实除了白名单的方法,过滤关键字或者换端口藏一藏服务都可。

现已加入vulhub豪华套餐,poc可用,https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP/blob/master/CVE-2020-11651.py

护网也许可以内网走一圈

CVE-2020-11651 SaltStack认证绕过原理

通知!

公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就可以参与到我们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合作-我要投稿】即可。期待大家的参与~

CVE-2020-11651 SaltStack认证绕过原理

记得扫码

关注我们

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: