
“Exploiting Kibana’s Headless Chrome: Code Walkthrough of a Real-World RCE”
Aman Sharma
Follow
6 分钟阅读 · 2025年12月3日
15
Listen
Share
当一个报告功能变成一个远程代码执行载体时,魔鬼往往藏在细节中——以及代码里。让我带你一步步了解 Kibana 内置的 Chromium 结合不完善的沙箱配置,是如何为系统级入侵打开大门的。
Free Link
Press enter or click to view image in full size
易受攻击的代码:一切的起点
在Kibana的源代码中,无头Chromium的配置位于 /x-pack/plugins/reporting/server/browsers/chromium/driver_factory/args.ts。关键部分如下所示:
// 易受攻击版本中的第58-60行
getArgs(options: BrowserArgs): string[] {
const args = [
// ... 其他参数
'--no-sandbox', // 👈 这是安全绕过项
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
];
if (options.disableSandbox) {
args.push('--no-sandbox');
args.push('--disable-setuid-sandbox');
}
return args;
}--no-sandbox 标志不仅仅是一个调试选项——它被固化在 Elastic Cloud 的生产部署中。沙箱将浏览器的渲染器进程与主机系统隔离开来。没有它,渲染器漏洞就变成了主机漏洞。
漏洞利用链:分步代码逻辑FINISHED
CSD0tFqvECLokhw9aBeRqvYTD3cAv2GUNlJNRecGo+ImnapmorFQB55yexoECFMRMmlp+/Bf5Sv6DGLZ6xvQWVPur9qIGmk8asYi5kfvs0LV9zJ95JXHHCGTOpY/8uPfA/tyPckIlFzDdbUgDbNqX59f23KEkeBGoUPzLud7BIQ=
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。