靶场搭建
靶场下载地址:https://download.vulnhub.com/momentum/Momentum.ova
下载下来是zip压缩文件,解压后是.ova虚拟机压缩文件直接用Vmvare导出就行
打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)
打开后靶机没有自动获取ip,解决办法看我这篇文章:靶机无法自己获取ip地址解决办法_奋斗吧!小胖子的博客-CSDN博客
重启虚拟机
靶场搭建完毕
渗透测试
由于不知道靶机ip,所以需要扫描NAT的网段
147为kali攻击机的ip,所以149为靶机的ip
扫描靶机端口服务开放情况
开放了22端口,存在SSH服务
开放了80端口,存在HTTP服务,且中间件为Apache2.4.38
先访问一下WEB
点开每张图片会显示图片的详细信息
看url存在id=这样的参数,所以测试看是否存在sql注入
看到我们的输出会不变的会先到页面中
所以可以测试一下是否存在XSS漏洞
发现确实存在XSS漏洞
弹出cookie,这段cookie似乎是加密的内容,但是通过cyberchef暂时无法识别出来,先看看是否有其它线索
搜索一下敏感目录
没有发现可以利用的信息
查看js文件
发现一段加密的密钥,且知道了加密的即使为CryptoJS
猜测那段cookie就是由这个加密的,所以我们尝试解密
使用一个在线网站https://codepen.io/omararcus/pen/QWwBdmo
修改代码解出密文
发现中间有一个-的,猜测是账号密码
尝试登录ssh,发现并不正确
再尝试看不带#,发现也不对
尝试整个为密码,登录成功
获得到第一个flag
浏览了各目录没有发现线索,进行提权
sudo提权,发现没有sudo命令
SUID提权
SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限
通过命令
find / -perm -4000 2>/dev/null查看是否具有root权限的文件
没有发现可以利用的
内核提权
尝试了这些都没有成功
查看/etc/passwd是否存在其它用户
发现存在一个redis用户,说明可能开启了ridis服务
查看端口开放情况,果然开启了redis服务
查看reids运行用户,发现为redis用户
连接redis
发现可以未授权访问
发现了默认第一个数据库db0里有一个key键值对
查看这个键值对
发现有一个key为rootpass的数据
查看,猜测是root用户密码
尝试登录
发现不正确,前一端后一段,整个都试过都不正确
但是通过su成功获得root权限
获得到第二个root