vulnhub靶场之MOMENTUM: 1
准备:
攻击机:虚拟机kali、本机win10。
靶机:Momentum: 1,下载地址:https://download.vulnhub.com/momentum/Momentum.ova,下载后直接vbox打开即可。
知识点:redis未授权访问、xss漏洞、XSStrike使用。

一:信息收集
1.nmap扫描
使用nmap扫描下靶机地址,命令:nmap -sn 192.168.5.0/24,发现靶机地址:192.168.5.73。

使用nmap扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.73,显示开放了22端口、80端口,开启了ssh服务、http服务。

2.目录扫描
使用gobuster进行目录扫描,命令:gobuster dir -u http://192.168.5.73 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,发现/js目录,其他目录也看了没发现什么可以利用的信息。

使用web服务访问下js目录,发现main.js文件,查看该文件信息发现:opus-details.php文件并且该文件可以接受一个id的参数,其参数值为字符串类型。告诉我们使用AES进行解密,解密的密匙是SecretPassphraseMomentum。

3.web服务
访问web服务时显示了四张图片,访问四张图片时跳转到了上面发现的opus-details.php文件,猜测这里可能存在注入漏洞。

二:漏洞利用
1.sql注入
使用sqlmap进行下注入测试,命令:sqlmap -u http://192.168.5.73/opus-details.php?id=demon -banner,但是显示不存在sql注入。

2.xss注入验证
使用XSStrike扫描以下看是否存在xss注入,命令:python xsstrike.py -u http://192.168.5.73/opus-details.php?id=angel,发现存在xss注入。这里记录下这两个payload(或者只记第一个也行,第二个主要是验证的时候比较直观),下面要用到这两个。
#第一个payload
<dETAIlS%09OnToggle%0a=%0a[8].find(confirm)//
#第二个payload
<a%0dOnMoUSeOver%0a=%0a(prompt)``>v3dm0s

在web页面输入payload进行测试,这里用的第二个payload,发现确实存在xss注入。

3.xss注入利用
利用我们获取的第一个payload获取cookie信息,将payload中的数字8修改:document['cookie'],payload:<dETAIlS%09OnToggle%0a=%0a[document['cookie']].find(confirm)//,成功获得cookie值:cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt。

信息收集时告诉我们要使用aes方式对一个字符串进行解密,解密密匙是:SecretPassphraseMomentum,因此找一个可以在线解密AES的网站对cookie进行解密,网站:http://www.jsons.cn/aesencrypt/,解密后成功获得一串字符串:auxerre-alienum##。

三:获取shell
对获得字符串进行分析,猜测应该是账户和密码信息,后面经过简单登录测试发现账户和密码信息为:auxerre/auxerre-alienum##。利用获得账户信息成功获得shell权限。

获得root权限后在当前目录下发现user.txt文件,读取该文件成功获得第一个flag值。

四:提权
1.信息收集
使用sudo su和find / -perm -4000 -type f 2>/dev/null查找可以进行提权的相关信息,但是未发现可以利用的信息。

那就直接上传脚本:linpeas.sh进行信息收集,分析收集的信息发现存在一个CVE-2022-2588漏洞,将该漏洞的exp进行上传提权,但是提权失败。

继续对linpeas.sh脚本收集的信息进行分析,发现存在对6379端口的监听,6379端口是redis数据库的服务端口。

查看下本地进程验证是否存在redis服务,发现确实开启了redis服务。

2.redis服务
直接在shell中连接redis服务,命令:redis-cli,连接redis数据库后,在数据库中查看下所有的信息,发现只有一组值,读取数据获得:m0mentum-al1enum##。

3.提权-root
获得密码信息后尝试切换root账户,命令:su root,成功切换到root账户。

获得root权限后在/root目录下发现root.txt文件,读取该文件成功获得flag值。

ps:看到这里的话留下一句对你影响较大的话吧,emmm这几天比较迷茫,让我们互相学习以下。
vulnhub靶场之MOMENTUM: 1的更多相关文章
- vulnhub靶场之MOMENTUM: 2
准备: 攻击机:虚拟机kali.本机win10. 靶机:Momentum: 2,下载地址:https://download.vulnhub.com/momentum/Momentum2.ova,下载后 ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Pandavas
HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
随机推荐
- js任务执行顺序
JS 线程简述 js是单线程的,一次只能执行一个任务,执行完毕后才能继续下一个. js执行任务的方式也叫作同步执行,同步和异步与我们平时理解的不太一样,平时的同步我们会认为是多个事情一起做,但是在js ...
- Python_DL_July_深度学习_10_深度学习与各种迁移学习应用
深度学习10(上)深度学习与各种迁移学习应用
- git rebase之abort,continue,skip
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢 git rebase --skip 会将引起冲突的commit丢弃掉 git rebase --c ...
- Simple Algebra
题意 给定方程\(f(x)=ax^2+bxy+cy^2\)和参数\(a\),\(b\),\(c\),试确定该方程的取值是否恒非负. 题解 参照文章http://math.mit.edu/~mckern ...
- ELK收集njinx
前提:安装elk 1.yum安装nginx 2.修改配置文件 vim /etc/nginx/nginx.conf.d 3.重新启动 nginx -s reload 4.安装压测命令 压测文件 5.写完 ...
- 一个线程池的c++实现
前面我们实现了CallBack类,实现了对任意可调用对象的封装,且统一了调用接口. 现在利用CallBack类,我们来实现一个线程池,我们的线程池包含: 1. 状态机, 用于控制和管理线程池的运行.停 ...
- mysql之存储引擎-第二篇
什么是存储引擎? 数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建,查询,更新和删除数据操作.不同的存储引擎提供了不同的存储机制,索引技巧及特定功能. 存储引擎类型 InnoDB ...
- PHP Redis - String (字符串)
string 是 Redis 最基本的类型,与Memcached类似,一个 key 对应一个 value string 类型是二进制 安全的.这意味着 Redis 的 string 可以包含任何数据. ...
- MAC 关闭office自动更新提示
①.先进入到 /Library/Application Support/Microsoft/ 文件夹 (/Library/Application Support/Microsoft/) 点击 前往 - ...
- AX2012 去掉浮点数后面的0
static void Job116(Args _args) { str string1; real num1; ; num1 = 0.00; string1 = System.String::For ...