声明
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
01 背景
在一次攻防演练中,利用漏洞获取到一个 webshell
,站点是
php
的,最后发现这个
webshell
的权限竟然是
system
,但是无法执行命令,最后发现是
Windows
版本的宝塔,结合网上各位师傅的文章,在这里记录下如何
bypass
到3389登录的。
02 getshell 直接上 webshell
,上了蚁剑、冰蝎、哥斯拉,发现没有
waf
拦截,上蚁剑,
windows
的机器,权限很高是
system
,执行命令,发现都是返回错误:
使用哥斯拉看下,可以看到就是宝塔:
同样在 fofa
上看到开放了
888
端口,其实就可以猜是宝塔了:
这是官网关于面板的介绍:
既然是 Windows
版本的
bt
的话,那这个
webshell
权限就是
system
是没有问题的,现在就是想办法拿
bt
面板或者
bypass
执行命令了。
03 宝塔bypass之路
在 bypass
宝塔之前,也看到过替换
php.ini
文件、
mysql
提权的,但经过测试都是失败的,因此在这里尝试直接拿下宝塔面板。
3.1 寻找宝塔后台
通过参考师傅的文章,找到了宝塔的路径信息:
C:/BtSoft/panel/data/admin_path.pl
发现路径: /xxxxxx
一般来说,宝塔的面板默认端口就是 8888
,因此直接加上之后访问:无论是内网还是外网,发现依旧访问不到:
最后发现,自己找偏了,宝塔面板的端口信息是保存在宝塔的配置文件里面的,开发者修改了 bt
修改了默认的访问端口, 通过查阅资料,在这里发现了相关信息:https://newsn.net/say/bt-login-reset.html
宝塔的配置信息:
路径相关配置文件如下:
面板域名,/www/server/panel/data/domain.conf
面板端口,/www/server/panel/data/port.pl
安全入口,/www/server/panel/data/admin_path.pl
授权IP,/www/server/panel/data/limitip.conf
开始翻文件,最后找到了端口: xxx
找到之后,拼接访问,其实这个面板地址在内、外网均可访问:
3.2 登录面板后台
现在路径和端口都找到了,开始找面板密码,面板的密码是保存在 data
目录下的
default.db
里面的,直接下载到本地,然后使用工具打开之后,开始修改:
宝塔的密码是加盐的,无法直接通过 hash
解密,所以在这里要替换或者是新增:
在这里要分为两种宝塔来操作了:
- 如果是老版本宝塔的话,可以再添加一个用户来打开,在这里可能不太准确,我以前发过
linux
版本的宝塔是可以通过添加用户来新增登录的,但是后来新版宝塔就无法再使用新增用户的方法来操作了,必须替换才可以,但是
Windows
版的我就不太清楚了
- 如果是新版本宝塔的话,只能够修改密码,登录成功之后,再修改回去,这个是
linux
版新版是这样的,但是
Windows
的我确实不太清楚
也可以前往github下载:
https:
//github.com/crow821/crowsec
将这个值以及盐的值,以及账号等新增到里面去试试看,在这里先尝试直接新增,如果真的不行,到时候再替换,因为替换太麻烦了:
修改之后,将文件替换下:
记得在替换之前,将原来的文件进行备份,防止出现意外,数据无法恢复。替换之后尝试登录:
在这里运气比较好,直接登录成功。
3.3 宝塔任务计划添加用户
进了宝塔面板的后台,并且权限是 system
,在
fofa
上看到该服务器开启了
3389
远程桌面,所以在这里通过计划任务添加用户:
添加之后,会自动执行一次:
执行成功之后,记得及时删除这两个任务计划。
3.4 3389远程登录
直接尝试 3389
:
04 总结
Windows
版本的宝塔好像比
linux
版本的宝塔好绕过一点。
以上文章来源于乌鸦安全 ,作者crowsec
本文作者: dingjiacan@antvsion.com
本文为安全脉搏专栏作者发布,转载请注明: https://www.secpulse.com/archives/201484.html