靶机地址:https://download.vulnhub.com/dc/DC-2.zip
攻击机(kali):192.168.200.149
靶机(DC-2):192.168.200.177
信息收集:
首先使用netdiscover扫描局域网内靶机的地址
netdiscover -i eth0 -r 192.168.200.1/24
扫描出的靶机地址为192.168.200.177
知道靶机地址之后接着使用nmap扫描该靶机的开放端口
nmap -A -p1-65535 192.168.200.177
可以看到80和7744端口是开放的,ssh默认端口改成了7744端口
flag1:
于是我们通过浏览器访问一下它的http服务,访问不到dc-2,应该是给重定向了
我们通过修改本地的dns文件对其进行地址解析
vim /etc/hosts
加上这行,将dc-2域名解析成ip
vim进入文件后,点击i进行编辑,编辑结束按esc后输入 :wq 保存退出。
完成之后再次访问dc-2,就可以进入网页,flag1就在页面上,并未隐藏。
翻译:
你的常用单词列表可能不起作用,所以也许你只需要使用cewl。更多的密码总是更好的,但有时你就是无法赢得全部。登录为一个用户以查看下一个flag。如果你找不到,尝试登录为另一个用户。
flag2:
根据线索,下一个flag需要我们登录网站,既然提示我们需要cewl,我们就先用cewl生成一个密码字典
cewl http://dc-2/ -w password.txt
可以看到成功写入文件的密码字典
已经拥有了密码字典,需要登录网站我们还需要有登录框和用户名,所以下一步就用dirb扫描dc-2的目录,找到登录的url
有admin的大概率是登录地址,我们访问一下该路径,确实是登录框
接下来我们来解决用户名的问题,我这边用的工具是wpscan,一款专业用来扫描WordPress的工具。
wpscan --url http://dc-2/ -e u
扫出来三个用户名
将他们写入文件。
利用wpscan进行用户名密码爆破
wpscan --url http://dc-2/ -U username.txt -P password.txt
成功爆破出用户名密码
通过用户名密码登录网站,在jerry账号里找到了flag2,tom账号没有
翻译:
如果你不能利用WordPress的漏洞走捷径,还有另一种方法。希望你找到了另一个入口点。
flag3:
提示让我们想到刚才还有个7744的ssh端口,我们试着登录,tom的成功登录,jerry的给拒绝了
ssh tom@192.168.200.177 -p 7744
flag3就在该路径下,只是不能用cat查看,那我们换种方式,使用vi查看
翻译:可怜的老汤姆总是追着杰瑞跑。也许他应该用su命令来缓解他造成的压力。
根据提示,下一步就应该是提权了
flag4:
看看能不能返回上级目录,果然没有权限。
vi就存在着一种提权方式,我们先用vi打开任意一个文件,接着输入 :set shell=/bin/sh
按下回车,接着输入shell
接着按下回车,成功提权
现在就可以返回上级目录了
进到jerry目录看看有没什么好东西,果然藏着好东西
vi查看flag4内容
翻译:
很高兴看到你已经走到了这一步,但你还没有到家。你仍然需要获取最终的标志(唯一真正重要的标志!!!)。这里没有提示——现在你得靠自己了。:-)继续——从这里出去!!!
flag5:
想要进入root路径权限不够,后续还需要我们提权
尝试一下rbash提权
export -p //查看环境变量
BASH_CMDS[a]=/bin/sh;a //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/ //添加环境变量
export PATH=$PATH:/usr/bin //添加环境变量
提权成功
sudo -l查看一下有哪些命令有root权限,然后发现这个命令只有jerry能执行,绕老绕去有点小晕。
ok,到这发现可以直接用git提权了
sudo git help config
打开文件后输入 !'sh' 按下回车
成功拿到root权限,进入到root目录,拿取最后的flag
完结撒花❀!!!