Vulnhub系列:DC-2

Vulnhub系列:DC-2

环境准备:
DC-2靶机
Kali linux
Vmware或vm box

工具:
nmap,
wpscan
cewl

流程:
Nmap进行信息收集
进入页面发现是WordPress,寻找漏洞利用,但需要密码,找到flag1
Cewl生成密码字典
WordPress可以用wpscan扫出安全漏洞数量和用户名加**密码
登录网站,找到flag2
然后就通过ssh连接,找到flag3
绕过rbash,找到flag4
用git提权。找到最后的flag

Description
Much like DC-1, DC-2 is another purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing.
As with the original DC-1, it’s designed with beginners in mind.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Just like with DC-1, there are five flags including the final flag.
And again, just like with DC-1, the flags are important for beginners, but not so important for those who have experience.
In short, the only flag that really counts, is the final flag.
For beginners, Google is your friend. Well, apart from all the privacy concerns etc etc.
I haven’t explored all the ways to achieve root, as I scrapped the previous version I had been working on, and started completely fresh apart from the base OS install.

信息收集
我们先找到主机ip地址
nmap -sP 192.168.157.0/24
Vulnhub系列:DC-2DC-2的主机IP地址为:192.168.157.128

端口扫描
有80和7744端口开启
Vulnhub系列:DC-2
因为80端口打开,我们打开浏览器访问,并寻找下相关信息。
Vulnhub系列:DC-2
这是一个WordPress网站。
它表示需要用到cewl,**用户账号和密码。一个用户不行就换另一个用户。
打开kali的msfconsole利用exploit查询,使用了几个都发现需要输入用户账号和密码
Vulnhub系列:DC-2
那只能乖乖在网页寻找登录页面,有登陆那么肯定有后台login,admin,manage等。试到admin.php知道到登录。
Vulnhub系列:DC-2Vulnhub系列:DC-2
打开后需要账户和密码。
这是一个WordPress的网站。百度一波,那么可以通过wpscan来获取用户信息
随着wpscan,它会做它的枚举,然后它枚举用户运行密码暴力**。做到这一阶段,但我没想到这种攻击过于冗长繁琐。
wpscan --url dc-2 -e
Vulnhub系列:DC-2Vulnhub系列:DC-2
这里发现存在有3个用户名分别为:jerry,tom,admin。
密码的话之前flag1中已经提示我们使用cewl,接下来我们尝试利用cewl利用网站的信息来生成密码字典。
Vulnhub系列:DC-2
Wpscan –url dc-2 -w dc2.txt --username admin 以此类推
解出的结果有
Vulnhub系列:DC-2Vulnhub系列:DC-2Vulnhub系列:DC-2
Admin的密码没爆出来是正常,不然也不用玩下去了。
然后登录tom逛了一整圈网页什么都没发现。看回flag1的提示,这个不行就换另一个用户。登录jerry,在pages中找到了flag2
Vulnhub系列:DC-2
该网页上的信息指的是SSH服务。因为这是唯一剩下的入口点。让我们来看看,如果我们可以登录使用我们通过SSH发现凭据。在之前的信息收集中,发现了端口号为7744开启是ssh。
但ssh连接时用jerry的账号登录失败,,大概要轮流交换登录获取信息。不然他也不会给你两个号和密码。
Vulnhub系列:DC-2
然后找到flag3,但出现问题,无法打开flag3,被-rbash限制住命令,尝试了几个在vi成功打开flag3

Vulnhub系列:DC-2Vulnhub系列:DC-2
提示让我们切换到jerry的账号上,我就说嘛交换登录获取信息。
但由于我们被rbash限制住了很多命令,ssh也无法实现。该怎么去绕过rbash呢。百度了一波在https://www.4hou.com/penetration/11674.html这篇文章找到绕过方法。加上vi允许我们设置shell变量,就这样解决。

Vulnhub系列:DC-2
结果是绕是绕过了,但又来了新问题。百度了一波,这可能意味着,/ bin / sh的可能会从PATH中丢失。我们可以运行
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
这将解决这个问题。然后成功了。查了下上面的设置shell变量绕过,这将为我们提供外壳,但我仍然无法运行像cat等命令。就是说明这做法不完善。
来ssh登录Jerry的账号了
Vulnhub系列:DC-2
经过上个教训,登陆完后我检查的第一件事是为Jerry的权限有多少。
Vulnhub系列:DC-2
可以然后开始寻找flag4
Vulnhub系列:DC-2
这里最后一句的git是提示是git,利用git提权
百度一波,我发现gtfobin来使用git权限提升的一种方式。 https://gtfobins.github.io/gtfobins/git/#limited-suid
我们可以执行sudo的git -p帮助配置和输出停止时,我们可以输入!/ bin / sh的让我们一个root shell。
Vulnhub系列:DC-2
好了提升权限成功。
该去寻找最后一个flag
Vulnhub系列:DC-2