• 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
    09OnToggle%0a=%0a[8].find(confirm)//
    #第二个payload
    0dOnMoUSeOver%0a=%0a(prompt)``>v3dm0s

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

    3.xss注入利用

    利用我们获取的第一个payload获取cookie信息,将payload中的数字8修改:document['cookie'],payload:

    信息收集时告诉我们要使用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值。



    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    奇淫巧技,CompletableFuture 异步多线程是真的优雅
    java毕业生设计在线药物配送系统计算机源码+系统+mysql+调试部署+lw
    idea安装汉化插件
    swiper 增加一个鼠标移入分页器的小点后就切换展示图片
    【Flutter 】get-cli init报错处理
    【Java初阶】- - -代码块与内部类
    中国医学影像设备行业市场供需预测及投资价值研究报告
    YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头
    常见的系统类别汇总——包含OA/CRM/ERP/SCM
    Ubuntu上Jenkins自动化部署Gitee上SpringBoot项目
  • 原文地址:https://www.cnblogs.com/upfine/p/17210228.html