渗透测试初体验:DC-2
经历了DC-1的渗透流程熟悉和工具安装,DC-2应该就比较熟悉了,下面我们直接开始。
https://www.vulnhub.com/entry/dc-2,311/
查看一下说明,需要添加host
看了一下介绍,需要使用如下命令添加host
sudo nano /etc/hosts
使用Ctrl+X即可进行保存和离开
通过查看介绍,发现跟DC-1差不多,作者也是预埋了五个Flag,一步一步的指导初学者找到最后的root权限,最终的目标就是找到服务器的root权限。
靶机下载完成,直接导入,设置网络为NAT模式,如果搜索不到的话就跟DC1一样,重置一下虚拟网络编辑器
靶机安装完成如下图
Kali的IP地址如下192.168.235.129/24
使用nmap扫描该网段,可以看到128网段开了80端口
直接访问提示报错
添加host之后再访问,发现就已经可以访问了
页面随便翻一下,结果发现了两个信息,一个是使用的WordPress,还有一个就是Flag1
你通常的词表可能不起作用,因此,也许你只需要成为cewl。密码越多越好,但有时你无法赢得所有密码。以个人身份登录以查看下一个标志。如果找不到,请以另一个身份登录。
意思应该是第二个flag要去环境里面找,要登录一下其他的用户
使用nmap加强扫描一下
nmap -sS -sV -sC -O -p 192.168.235.128
知道了WordPress的版本等一系列信息
看看有没有什么比较敏感的信息,发现了后台admin 的地址
Flag1提示的应该就是要登录这个后台管理台的地址,要获取用户名和密码
提示admin密码错误,那么应该存在admin用户
用户名错误会提示用户名错误
重置密码需要输入注册的用户名或者邮箱,之后会给邮箱发送新的验证码,并且试了几下好像是没有防暴力破解的机制。
到这里,我们知道了以下信息
第一个flag已经找到了,就在主页上面,提示了要用不同的用户登录从而获取flag2,并且要使用cewl。
首先我们要利用wpscan工具
https://www.freebuf.com/sectool/174663.html
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
我们利用一下枚举用户名
wpscan --url http://dc-2/ -e u
可以看到爆出来三个用户,admin、jerry、tom
创建一个username.txt文件,作为爆破的用户名
使用cewl创建密码本
https://www.freebuf.com/articles/network/190128.html
cewl http://dc-2/ -w dict.txt
现在有了用户名和密码,剩下就是用wpscan的爆破命令爆破一下了
wpscan --url http://dc-2/ -U username.txt -P dict.txt
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
成功了两个,登录一下
| Username: jerry, Password: adipiscing
使用jerry这个账户登录进去之后,就可以找到flag2
提示如果WordPress无法攻击成功的话,还有另外一种方法
之前我们进行nmap扫描的时候发现开启了一个ssh的7744端口,那么可以尝试看看是不是ssh可以尝试登陆
使用tom登陆之后就能看到flag3.txt,发现很多命令都无法使用,最后试了一下VI命令是可以查看的。
提示tom是一个低权限的用户,需要进行su提权
试了一下,发现可以用的就四个命令,因此只能用vi来查看,也没法cd,su命令也没法使用。
百度了一下,可以 用rbash绕过,这个后面需要了解一下
BASH_CMDS[a]=/bin/sh;a # 把 /bin/bash 的值赋给 a
/bin/bash # 执行完上一个命令后立刻输入
export PATH=$PATH:/bin/ # 把 /bin 作为 PATH 环境变量导出
export PATH=$PATH:/usr/bin/ # 将 /usr/bin 作为环境变量导出
这个时候就可以使用cat命令了,其他相关的命令也可以使用了
可以使用su命令切换到jerry账户
我们再找一下flag文件
find / -name flag4.txt
可以看到再jerry的home目录下有个flag4.txt
最后一行,有个git的提示,可能使用git命令进行提权的操作
Jerry用户可以直接使用sudo命令,但是无法直接提升到root权限
可以看到jerry可用的命令如下,没有find命令,也就没法通过DC1的使用find命令进行suid提权的方式了
那么只能试一下git命令
sudo git help config
!/bin/bash
此时就已经切换到root权限了,使用find命令查找一下flag
这两个命令之间没有使用过,需要学习一下