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
vulnhub--Momentum:2
端口扫描,开放了22和80端口
vulnhub--Momentum:2
目录扫描

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

vulnhub--Momentum:2

获取webshell

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

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

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

vulnhub--Momentum:2

提权

目录下还有一个密码文件
vulnhub--Momentum:2
百度翻译一下Asterisk,意思是星号,也就是*,猜测密码的最后一位是任意的字符
vulnhub--Momentum:2
这里使用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就是字符*的意思,而不是什么任意字符
vulnhub--Momentum:2
ssh登陆,sudo -l显示自己的当前的权限,发现可以以root身份无密码使用cookie-gen.py文件
vulnhub--Momentum:2
查看文件的内容,脚本的意思是,在运行脚本时会要求输入一个seed,这个seedecholog.txt文件中,在echo时会执行bash命令
vulnhub--Momentum:2
所以在输入seed,直接输入一个反弹的shell
vulnhub--Momentum:2
监听端口就会得到一个root权限,就可以得到第二个flag
vulnhub--Momentum:2

总结

  • 目录扫描
  • 代码审计
  • 文件上传
  • 权限提升
上一篇:ANTVUE项目实战三


下一篇:nginx工作中配置