vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
一、DC-1
备注:本部分由于是实验结束之后补写的实验记录,因此可能有所偏差。
需要将靶机、攻击者都配置在同一个内网下,如VMWARE 的NAT模式
信息收集的阶段目的是探测内网中的活跃主机,使用命令如下:
1
sudo arp-scan -l
接着,扫描活跃主机下的开放端口,命令如下:参考博客(https://baijiahao.baidu.com/s?id=1685740265393716845&wfr=spider&for=pc)
1
sudo nmap -p "*" <IP地址>
访问对应开放端口的服务,并进一步收集关于该服务的漏洞信息进而进行利用。
二、DC-2
关键词:wpscan、git提权、rbash绕过、shell环境变量、WordPress等
信息收集部分的操作与DC-1相同,可以发现靶机开放80端口。但是发现直接使用该IP地址无法访问,需要在hosts文件中添加映射
<IP地址> dc-2
,之后才可以访问该网站。(可能是因为实际上该服务涉及多个端口,而非只有80,==具体原因待查==)访问该网站后给出的信息为flag1,提示需要登录,而登录的方法是通过
cewl
获取密码字典。Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,然后可以用于密码破解。 使用命令为
1
cewl -w <filename> <domain name>
使用专用工具
wpscan
获取wordpress的用户名,命令如下:1
wpscan --url <domain name> --enumerate u
使用使用专用工具
wpscan
进行爆破的命令是1
wpscan --url <domain name> --enumerate u --password <密码文件名.txt>
登陆即可得flag2
使用ssh远程登录tom的账号,命令为
1
ssh tom@<IP addr> -p <port>
使用
ls
命令可以看到有一个叫做flag3.txt
的文件,但是无法使用cat
命令查看文件内容,原因是服务器使用了rbash
限制了用户可以使用的命令。使用如下命令绕过:1
2BASH_CMDS[a]=/bin/sh;a
/bin/bash之后发现
cat
命令依旧无法使用,这需要添加shell相关的环境变量,命令如下:1
export PATH=$PATH:/bin/
flag3
提示登录Jerry账户
需要su权限。等过以下操作登录并访问:1
2
3su jerry
cd <jerry's directory>之后即可看到
flag4.txt
,此处提示git
使用
sudo -l
查看sudo的配置文件,发现git命令不需要root密码。搜索git提权
相关信息。将终端窗口变窄变小,使用命令sudo git -p help
并使其回显内容不能一次性显示。在终端输入!/bin/bash
即可获取一个具备root权限的shell。