1.信息收集
nmap扫描靶机,开放了很多端口,21,53,80……
注意到139samba端口开启:
Samba枚举
enum4linux 192.168.56.4
发现可用共享:
尝试连接kathy:
smbclient -U '' //192.168.56.4/kathy
下载文件:
todo-list文件提示backup中有重要信息:
下载backup文件夹:
查看vsftpd.conf文件,发现配置中显示,ftp可以匿名登录:
ftp枚举
允许匿名登录,即不需要密码,所以ftp直接连接靶机:
路径下有一个note文件,下载下来:
note内容:
除了两个用户名elly和john之外,其它似乎没有用处。
Nikto扫描
对于web服务,80端口页面不存在,12380端口出现一个网页:
用nikto对其进行扫描:
nikto -host 192.168.56.4:12380
扫描出了三个入口:
这里似乎是一个被利用过的反射型XSS漏洞,目前看没用。
这是一个WordPress的博客,可以枚举。
看到WordPress和phpMyAdmin的组合,之前做过蛮多这个类型的。思路一般是枚举WordPress,通过漏洞利用获取到phpMyAdmin的登录账密,然后通过查看或者修改数据表进行下一步渗透。
2.WordPress枚举
因为是枚举https,所以要注意加上“disable-tls-checks”参数,不检查证书,否则会出错。
枚举用户:
wpscan --url https://192.168.56.4:12380/blogblog/ -e u --disable-tls-checks
用户还蛮多,接下来爆破密码:
另外wpscan扫描出了uploads目录可用:
在这个目录的上级目录,找到了插件列表:
在exploit-db上查找这些插件是否存在漏洞。其中,插件advanced video存在未经认证的文件下载漏洞:
poc:
https://192.168.56.4:12380/blogblog/wp-admin/admin-ajax.php?action=ave_publishPost&title=random&short=1&term=1&thumb=[FILEPATH]
先测试一下,随便输入文件路径:
根据返回可以看出这个插件调用了一个函数获取文件内容,并生成一个访问链接。
对于WordPress,我们首先感兴趣的就是它的配置文件,它一般是WordPress目录下的wp-config.php. 在这里,完整目录/var/www/https/blogblog/wp-config.php
把链接里的“=”换成“-”,访问:
https://192.168.56.4:12380/blogblog/?p-250
发现多了两个图片文件,把它下载下来:
虽然标注是图片文件,但是打开看其实就是WordPress的配置文件。配置文件中发现数据库的账密信息:
3.反弹shell
用账密root:plbkac登录数据库,查看WordPress用户表:
John是管理员。因为之前破解出了一些用户的密码,比如garry的密码是football,用garry的密码hash替换john的。然后用john:football登录成功。
进入管理员页面后,可以添加插件,上传php反弹shell。
然后在uploads目录可以找到上传的shell.php
点击shell.php,触发反弹连接:
4.提权
找到JKanode用户的bash_history文件,发现了ssh连接密码:
两个用户,JKanode和peter。
当登录peter后,发现该用户有sudo权限,可提权至root。
进入/root目录,获取到flag。
5.总结
该靶机有很多接入和提权方式,例如这篇walkthrough是利用信息收集来的用户名进行密码的暴力破解。而且由于开放的端口多,留的兔子洞也挺多的,比如这次的ftp、DNS等和pwn掉靶机关系不大。
这次的收获主要是找到https的WordPress目录和漏洞利用。
另外,Nikto扫描要记得使用,因为如果是https的,只用dirb扫描http是扫不出来目标目录的。