其他分享
首页 > 其他分享> > vulnhub--Momentum:2

vulnhub--Momentum:2

作者:互联网

靶机介绍

difficult:medium
keywords:curl、bash、code review
download:https://www.vulnhub.com/entry/momentum-2,702/

信息探测

主机发现 netdiscover -i eth0 -r 192.168.187.0/24
在这里插入图片描述
端口扫描,开放了22和80端口
在这里插入图片描述
目录扫描

gobuster dir -u http://192.168.187.171/ -x html,php,bak,txt --wordlist /usr/share/wordlist/dirbuster/directory-list-2.3-medium.txt

在这里插入图片描述

获取webshell

访问主页,除了三张图片之外,没有发现什么其他的信息了
在这里插入图片描述
访问一下dashboard.html页面,是一个上传页,会将文件传到目录/owls
在这里插入图片描述
在上传文件时,发现不能上传php文件
在这里插入图片描述
可以上传txt文件
在这里插入图片描述
在这里插入图片描述
暂时利用不了这个文件上传功能了,查看一下ajax.php页面,页面是空白的,啥也没有
在这里插入图片描述
不知道咋办了,看到靶机作者给的提示是 code review,想着可能是代码审计相关的,就找找有没有代码的备份文件啥的,发现了备份文件ajax.php.bak,查看一下内容
在这里插入图片描述
代码的内容是:当cookie存在,且键名为admin时,是可以上传pdf、php、txt文件的;不过admin需要一个值,代码中已经给出了值,但是在这个值的最后还缺少一位大写的字符;此外,还要使用post方式提交一个参数secure;最后上传成功时会返回一个1

使用crunch生成最后一位大写的字符
crunch 1 1 -t , -o pass.txt
在这里插入图片描述
使用burpsuiteIntruder模块
在这里插入图片描述
加载生成的大写字符文件
在这里插入图片描述
添加一个POST数据
在这里插入图片描述
当最后一个字符是R时,返回的结果是1,因此完整的值是&G6u@B6uDXMq&MsR

在这里插入图片描述
最后成功上传了php文件
在这里插入图片描述
在这里插入图片描述
需要注意的是php文件中的IP和端口是需要修改的
在这里插入图片描述
监听端口,执行php文件,就可以得到一个连接了
在这里插入图片描述
使用 SHELL=bash script -q /dev/null可以得到一个pty shell;此外,因为靶机安装了python3,所以也可以使用python3 -c 'import pty;pty.spawn("/bin/bash")'
在这里插入图片描述
在目录/home/athena下找到第一个flag

在这里插入图片描述

提权

目录下还有一个密码文件
在这里插入图片描述
百度翻译一下Asterisk,意思是星号,也就是*,猜测密码的最后一位是任意的字符
在这里插入图片描述
这里使用crunch生成密码

curnch 16 16 -t myvulnerableapp, >> pass.txt
curnch 16 16 -t myvulnerableapp@ >> pass.txt
curnch 16 16 -t myvulnerableapp% >> pass.txt
curnch 16 16 -t myvulnerableapp^ >> pass.txt

使用hydra进行爆破,在看到密码的那一刻,感觉搞了个寂寞,在想是不是想的太多了,上面的Asterisk就是字符*的意思,而不是什么任意字符
在这里插入图片描述
ssh登陆,sudo -l显示自己的当前的权限,发现可以以root身份无密码使用cookie-gen.py文件
在这里插入图片描述
查看文件的内容,脚本的意思是,在运行脚本时会要求输入一个seed,这个seedecholog.txt文件中,在echo时会执行bash命令
在这里插入图片描述
所以在输入seed,直接输入一个反弹的shell
在这里插入图片描述
监听端口就会得到一个root权限,就可以得到第二个flag
在这里插入图片描述

总结

  • 目录扫描
  • 代码审计
  • 文件上传
  • 权限提升

标签:文件,php,16,--,vulnhub,pass,txt,上传,Momentum
来源: https://blog.csdn.net/qq_39991837/article/details/118596117