Momentum靶场实战详解
靶机下载链接: https://download.vulnhub.com/momentum/Momentum.ova
难度: 中
目标: 取得root权限+2Flag
0x01 网络配置
这里简单介绍下我的网络配置,我这里用的是Vmware kali 和 virtual box 的靶机
vmware kali 配置了两块网卡 :
靶机网络配置:
0x02 信息搜集
首先使用下面这条命令来发现靶机的ip地址
arp-scan -l -I eth1
到这里我们知道了靶机的ip:192.168.27.8 顺便讲一下kali的ip:192.168.27.2
接下来我们开始使用nmap来扫描靶机开放的端口和服务
通过上图发现,靶机开放了22端口的ssh服务和80http服务,那么接下来我通过浏览器直接去访问80端口的http服务。
0x03 XSS漏洞
发现我们给id参数赋的值会直接显示在页面上,所以,我怀疑存在反射xss漏洞。
如下图所示,在我输入以下弹cookie的payload后发现成功弹出了cookie,所以到这里只是发现了一个xss漏洞,对突破边界没啥用。
<script>alert(document.cookie)</script>
这cookie暂时没啥用,姑且先放在这里
cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt
0x04 WEB路径爆破
然后我又使用dirsearch进行了一波目录扫描,发现了一个可以访问的js目录
0x05 JS脚本分析与AES解密
访问js目录下的main.js文件时,在文件的注释中发现了一段用来加解密的js脚本,该脚本用的加解密算法是AES,还给出了对应的密钥,所以我尝试拿刚刚获取到的cookie用这里的加解密算法通过在线网站解密,看能否解密出有用的信息。
解密用的在线网站链接:https://codepen.io/omararcus/pen/QWwBdmo
然后根据我们的需要,我对js代码进行了一些修改,如下图所示:
auxerre-alienum##
将cookie解密后,发现了一串疑似是账号-密码的字符串,结合前面nmap扫描到22端口开放了ssh服务,所以使用获取到的这个字符串尝试进行了ssh登录
ssh auxerre@192.168.27.8
尝试了三次,最终使用整个字符串作为密码成功登录,然后在该用户的家目录下发现了一个flag
0x06 Redis认证漏洞与权限提升
在进行了一通信息搜集后没有发现可以用于提权的点,不过在我查看etc/passwd文件的时候,我注意到了,这台靶机上除了当前这个用户,还有一个redis的用户,所以我猜测这个靶机上可能部署了redis服务
cat /etc/passwd
ss -pantu #查看当前服务器上开放的所有端口
如上图所示,通过查看服务器上开放的端口,我发现开放了6379端口(redis服务默认的端口),所以更加确定了靶机上部署了redis服务,接下来我开始尝试登录redis数据库
redis-cli #连接redis数据库的命令
连接上redis数据库后,我发现可以直接执行redis上的info命令,所以说明这个redis服务没有设置身份认证,这是十分不安全的做法,这意味着所有连接上redis数据库的人都可以对数据库进行操作。因为redis是Key-Value型数据库,所以我先来查看redis数据库中都有哪些键
KEYS * #查看数据库中所有的键
发现了一个键,名字是rootpass,所以我感觉这个键的值可能存的是root用户的密码
GET rootpass
接着我拿着获取到的这个字符串,尝试通过su命令切换到root账号,发现成功切换到了root账户
然后在root目录发现了第二个flag
这台靶机的渗透到这里就结束了,这台靶机的渗透过程中几乎没用到什么漏洞,都是通过口令发现,或者配置不当来实现的边界突破和权限提升,整体来说,对信息搜集的能力要求比较高,这台靶机不同与以往利用各种漏洞的渗透过程,也算是给出了一些别样的渗透思路。