有人让我给T讲讲这个靶机的解题过程,没想到,差点折腾死我了,手居然这么生了......,晚上抽点时间,作个笔记。
靶机下载地址:
https://download.vulnhub.com/momentum/Momentum.ova
一、几个点注意修改下
1、这个ova用VM17打开后,不能编辑,报错,所以要修改,如下,
将17修改成兼容的16.x,这样就能修改:
将“桥接模式”改成“NAT”模式。因为这个靶机里面的网络配置不正常,所以要重新配置(下面能看到);这里配置成NAT方式,因为我的机器是NAT方式,将靶机改成NAT确保在一段内同时arp-scan时少一些无关的其他设备出现(如桥接时会出现家里的一些如手机、智能电视之类的电子产品,减少判断量)。
2、进入Debian系统,修改root的密码,为了配置网络能正常进行下去:
1)进入单用户模式:选择系统界面按 e
2)将ro quiet改为rw quiet single init=/bin/bash
3)ctrl + x
4)passwd root 修改密码
ifconfig发现没有安装,又发现没有配置网络,配置下:
vi /etc/network/interfaces 修改如下:
重启网络 systemctl restart networking
安装下ifconfig::apt install net-tools,完成。
发现靶机IP为:192.168.44.130
3、在攻击机内扫描同NAT网段下的机器:arp-scan -l
发现一个ip:192.168.44.130,再甄别下:
nmap -sC -sV -O -p- 192.168.44.130,结果如下:
发现了两个端口:22和80,分别对应着OpenSSH和Apache httpd服务,这应该就是靶机了。
二、正式开始
1、看80端口的页面,在url中打开 http://192.168.44.130
2、扫描下目录
先设置下:x=/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
扫描:gobuster dir -w $x -u http://192.168.44.130/ | tee scanned-dir.txt
出来:
3、查看下js:
有个main.js,再打开看看,如下:
这里有两个注意下,一是重定位opus-details.php?id=,二是AES,三是AES的密钥SecretPassphraseMomentum;分别来看看:
重定位:http://192.168.44.130/opus-details.php?id=aaaaaaaa
发现我们给id参数赋的值会直接显示在页面上,怀疑存在反射xss漏洞。
输入<script>alert(document.cookie)</script>以下弹cookie的payload后发现成功弹出了cookie,
cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt
3、AES解密
看下那段js代码的含义,放到gpt中:
解释如下:
那我们找个网站来解密下AES:
https://www.browserling.com/tools/aes-decrypt
解密出来:auxerre-alienum##
4、ssh登录:
将cookie解密后,发现了一串疑似是账号-密码的字符串,结合前面nmap扫描到22端口开放了ssh服务,所以使用获取到的这个字符串尝试进行了ssh登录
4、第一个 flag:
flag : 84157165c30ad34d18945b647ec7f647
5、redis认证漏洞:
发现了redis,
redis的端口默认是 6379,查看下系统端口:
发现开放了6379端口,所以更加确定了靶机上部署了redis服务,接下来尝试登录redis数据库 redis-cli,
连接上redis数据库后,发现可以直接执行redis上的info命令,所以说明这个redis服务没有设置身份认证,这是十分不安全的做法,这意味着所有连接上redis数据库的人都可以对数据库进行操作。
6、root密码:
因为redis是Key-Value型数据库,所以来查看redis数据库中都有哪些键 :
KEYS * #查看数据库中所有的键
发现了一个键,名字是rootpass,所以感觉这个键的值可能存的是root用户的密码
7、登陆下,
怀疑这是root的密码,但我前面配置时已经强制修改了root的密码,只能再重新ova导入到虚假机中,再用这个root的密码登陆,发现确实可以登陆进来。
8、第二个 flag:
Flag : 658ff660fdac0b079ea78238e5996e40
三、总结
回忆下过程,
1)主要是通过 arp-scan发现同网段的靶机Ip--->扫描靶机的目录--->发现js--->发现AES解密、密钥--->xss取出cookies,再AES解密得出密码,ssh登陆后发现第一个flag文件user.txt,得出flag;
2)在passwd中发现有redis用户--->查看端口,确认redis--->登陆redis,发现info,可能存在没有设置身份认证--->取键值,发现rootpass,怀疑是root的密码--->su切换到root,可以登陆--->发现第二个flag文件root.txt,得出flag。
3)业精于勤,荒于嬉,这个靶机在vulnhub中标记为easy,整个验证过程让我一度卡壳,尤其是前面修改配置,居然有很强的陌生感,搞了好半天。
原文始发于微信公众号(MicroPest):MomentUm1 靶机
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论