靶机地址:https://www.vulnhub.com/entry/stapler-1,150/
靶机难度:中级(CTF)
靶机描述:Stapler is reported to be one of several vulnerable systems that are supposed to assist penetration testers with challenges similar to Offensive Security’s PWK coursework.
目标:得到root权限&找到flag.txt
作者:嗯嗯呐
VirtualBox配置
提示:
应为此靶机VMware打不开,只能通过VirtualBox打开,我选在使用nat和host-only两个网卡,达到Vmware的kail可以通信到virtualBox中的靶机。(连接方式为仅主机(Host-Only)网络,界面名称选择virtualBox安装后自动生成的以太网卡适配器,用于与宿主机通信)
记得配置全局设定中网络设置
信息收集
如果条件可以配置桥接能简单的方便。
nmap确认靶机地址
nmap端口扫描
扫描出
20 ftp 数据传输端口
21 ftp 管理端口 (可以匿名访问)
22 SSH Openssh 7.2
53 DNS
80 http
123 ntp
137 netbios
138 netbios
139 netbios
666 不清楚
3306 mysql
12380 http
我们依次访问,
访问21端口,因为可以匿名登录,通过ftp用户登录,发现note文件
get命令下载文件
获得提示,FTP可能存在两个用户Elly和John
访问80端口,没有获得有用的信息
dirb扫描出两个文件,也无有用信息
samba
继续看一下139端口,nmap扫描出靶机使用Samba
139/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
这里我们可以通过enum4linux命令扫描Samba服务器
Enum4linux是一个用于枚举来自Windows和Samba系统的信息的工具。 它是用Perl编写的,基本上是一个包装Samba工具smbclient,rpclient,net和nmblookup。
enum4linux -a 192.168.56.10
- -a 做所有简单枚举(-U -S -G -P -r -o -n -i),如果您没有提供任何其他选项,则启用此选项
根据枚举的报告分析
可以匿名访问
可访问的共享目录有kathy和tmp
通过smbclient访问共享目录
smbclient命令属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。
访问目录结果如下:
smbclient //192.168.56.103/kathy
-
目录:kathy_stuff
- todo-list.txt
-
目录:Backup
-
vsftpd.conf
-
wordpress-4.tar.gz
-
smbclient //192.168.56.103/tmp
- ls
kathy目录:todo-list.txt提示为Initech备份任何重要信息,恰好有个Backup目录,这里面应该是备份的信息,vsftpd.conf是ftp配置文件,wordpress-4.tar.gz是一个wordpress网站备份。
tmp目录:ls内容是详细一个目录下的ls -l的详细介绍,猜测是tmp目录下,这样tmp目录下原来有个systemd-private-df2bff9b90164a2eadc490c0b8f76087-systemd-timesyncd.service-vFKoxJ目录,可能后来删除了。
问获得文件一顿操作,获得几个用户名,继续看接下来的端口
访问12380端口
网站扫描
dirb扫描一下,没有获得有用的信息
nikto扫描发现网站使用ssl,同时发现几个目录/phpmyadmin/ 、/admin112233/等
访问https
访问/phpmyadmin/目录
访问blogblog目录,发现是一个wordpress界面
wpscan扫描
使用wpscan
wpscan --url https://192.168.56.103:12380/blogblog/ --disable-tls-checks --api-token '#申请的API'
- –disable-tls-checks #禁用SSL/TLS证书验证。
系统使用的是wordpress4.2.1
同时发现86个漏洞和一些目录
发现一个uploads应该是个文件目录
访问看看
LFI漏洞利用
发现advanced video模块,searchsploit查一下有没有可以利用的payload
searchsploit advanced video
发现一个LFI漏洞的payload
我们一起分析一个这个python编写的payload
我们看到poc,我们可以学着构造一个url
https://192.168.56.103:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=../../../../../../../../../etc/passwd
返回一个url
访问URL
在https://192.168.56.103:12380/blogblog/wp-content/uploads/
中生成一个jpeg文件
下载文件,cat查看文件
wget --no-check-certificate https://192.168.56.103:12380/blogblog/wp-content/uploads/1115447511.jpeg
我们发现将靶机文件读出来了
本来我想直接读取shadow,奈何权限不够,只能试着看一下wordperss的wp-config.php配置文件
分析前面我们在共享文件夹中得到的备份wordpress-4.tar.gz目录,我们利用的admin-ajax.php文件应该在wp-admin目录下,而wp-config.php应该和wp-admin目录在一个目录下,所有我们构造出的url是:
https://192.168.56.103:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=../wp-config.php
cat jpeg
文件,我们看到了mysql的账号密码等信息
有了这些信息,我们通过登陆mysql
root/plbkac
访问wordpress数据库,发现wp_user表
john解密
使用john对密码进行解密
输出解密的结果
使用john用户登陆
getshell
在plugins这里有个可以上传文件的地方
上传木马
在uploads文件目录看我们上次的木马
weevely连接木马,获得shell
这里我们先查看home目录下全部用户执行过的历史命令
cat */.bash_history
sudo提权
我们看到用户peter密码
ssh登陆peter用户
发现sudo可以提权
直接su切换root用户获得flag
内核漏洞提权
查看可以内核版本4.4.0,ubuntu 16.04 应该可以提权
我们使用使用下面的脚本
根据提示下载脚本
将脚本上传靶机
解压
找到compile.sh、doubleput.c这两个脚本
执行compile.sh生成新的doubleput程序
获得root权限,获得flag
完成!!!
总结
第一次使用virtualbox,也是第一个面对靶机有多端口,学到了,啧啧啧。上面只是一种思路,仅供参考。本章渗透思路如下图: