前言:
项目地址:https://www.vulnhub.com/entry/dc-2,311/
流程:

同样的没有什么可用信息。
先用namp扫扫存活主机
namp -sP 192.168.80.0/24

这里判断192.168.80.129为我们的目标ip。
使用nmap看看端口

后面尝试了一会发现这个不行,开始怀疑网络有问题,去看看了网上的教程发现是能够搜索到的端口的,又回去看描述,发现默认是用桥接的模式,加上我用的kali虚拟机来攻击那样本来就不在一个内网环境了,而且我vm还没有桥接网卡(😀)一番修改重启后再次尝试

这里发现新的ip192.168.80.130,那应该就是他了,扫描后发现了80端口。

再嗦一下
nmap -A -p- -T4 192.168.80.130

发现了80端口和ssh服务。应该是这两个突破口。主机尝试访问不能访问。

这里我就没有思路了,没有看到特别明显的地方,我就去网上看别的师傅的文章了。这里需要解析页面看看报错原因


那么就可以得到域名没有解析成功,这里就要返回去kali的host下加一个记录sudo vim /etc/hosts
192.168.80.130 dc-2
这里又糊涂了,我是用主机访问的,但是在用kali更改(🧠不好)


发现flag1.
flag1
Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.
你常用的词汇表可能行不通,所以,也许你只需要保持冷静即可。
密码越多越好,但有时您无法赢得所有密码。
以一个身份登录即可查看下一个标志。
如果找不到,请以其他身份登录。
这里提到了身份登录这个提示词,我想到了两个思路,一个是这个是那个wordpress搭建的系统尝试寻求漏洞登录,或者去看看ssh那边。先试试框架漏洞吧,去msf中有没有什么相关的。
发现全是 洞。用一个比较新的excellent试试,发现不行,ssh那边一想没有什么可以可以利用的,又去看别的师傅的路子。发现他们用了两个新工具wpscan和cewl。之前都没听过,记下来了。这里的思路就是用那些工具爆破账号密码。
那我们就先看看网站有哪些用户:
wpscan --url http://dc-2 -e u
#扫描wordpress中的发表过文章的用户

枚举用户名 扫描发现三个用户,分别为:admin, jerry, tom
利用刚刚扫描得到的用户信息,通过 cewl 生成密码字典:
cewl http://dc-2 -w pass
针对 dc-2 这个网站生成字典,并保存在pass文件中
再创建一个 name 文件,保存刚刚扫出来的三个用户名
vim name.txt

对dc-2进行爆破,使用的字典为刚刚写的 name 和 pass
wpscan 爆破用户密码:
wpscan --url http://dc-2 -U name.txt -P pass

成功爆出了jerry和tom的密码。wordpress有一个默认后台,
然后我们打开wp的管理后台,一般都是wp-admin
http://dc‐2/wp‐admin
复制先登录jerry的账号,发现flag2

Flag 2:
If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.
如果你无法利用 WordPress 并走捷径,还有另一种方法。
希望您找到另一个切入点
意思就是直接爆破Wordpress是没用的,前期msf尝试的结果一样一样的,这里就要考虑ssh,这利还获得了两个账号密码。先试试能否远程。加-p是因为非常规端口,需要指定。
ssh tom@192.168.80.130 -p 7744

这里看到flag3,第一时间想看看,发现了rbash。

谷歌一番。是环境变量异常。这里是盲区,网上的师傅这样设置的
tom@DC‐2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC‐2:~$ export PATH=$PATH:/bin/
tom@DC‐2:~$ export PATH=$PATH:/usr/bin

flag3
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆总是追赶杰瑞。 也许他应该忍受他造成的所有压力。
这里应该是提示需要换到jerry的账号
这里开始以为自己输错了,输了两次好像这个密码不对。后面一看原来可以直接切换用户

这里发现了flag4.txt
flag4
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!!!!
很高兴看到你已经做到了这一步 - 但你还没到家。
您仍然需要获得最终标志(唯一真正重要的标志!!!)。
这里没有任何提示——你现在只能靠自己了。 :-)
继续 - 离开这里!!!!
居然啥都没有了,接下来是自己去找,我想用find去找看看。发现一无所获,说明在这个目录下已经没有什么利用价值了,接下来就是转战root
那么我们看看jerry有没有可以执行的具有root权限的命令
sudo ‐l

这里有一个很明显的git命令,还是不需要密码的,去网上找下利用git命令提权的文章
sudo git help config
# root权限打开git的配置,注意这里一定要sudo,不然是以普通用户身份打开git

多页分隔,绝佳的 hack 位点
l's!/bin/bash
# 直接在config里面输入命令,反弹bash

finnal-flag

总结
这次渗透过程中有很多地方出现了卡壳没有思路了,期间看了几次几位师傅的文章来开拓思路了。特别有位师傅的思路,登录到一个账号之后先看可以执行的命令,这在以前来说都是没有注意到的地方。也可以用compgen ‐c
我们先看看tom可以执行那些命令
tom@DC‐2:~$ echo $PATH
tom@DC‐2:~$ echo /home/tom/usr/bin/*

里面还提到了rbash绕过方式,以及最后的提权都是学习的