利用文件上传漏洞渗透某传销服务器
信息安全公益宣传,信息安全知识启蒙。
加微信群回复公众号:微信群;QQ群:16004488
加微信群或QQ群可免费索取:学习教程
教程列表见微信公众号底部菜单
对于传销网站的服务器来说,目前都防护较强,使用安全狗等软硬件防范,但由于最终使用该产品的必须由人来实现,当获取webshell的情况下,通过一些技术手段可以绕过防火墙的防护,从而登录并获取服务器权限。下面分享一个通过文件上传漏洞获取webshell以及图片安全狗的防范获取服务器权限。
一、通过文件上传获取webshell
1、寻找和登录后台
传销网站的后台地址一般都会进行修改,运气好的默认为admin,可以通过猜测和xss跨站攻击来获取,本文比较幸运,通过其域名+admin地址成功获取其后台,且通过弱口令登录其后台,如图1所示。在其后台地址中有多个模块,通过对每个模块的访问来查看是否存在上传的页面。
图1:进入后台
2、上传构造文件
选择“化妆品”-“添加子菜单”,如图2所示,在子菜单名称、菜单排序中随便输入一些值,在菜单图片中选择一个mu.asp;.jpg——典型的IIS名称解析漏洞文件,单击“确定”将文件上传到服务器。
图2:上传特殊构造的文件
3、查看新建的子菜单记录
如图3所示,回到菜单管理中,可以看到在化妆品菜单中成功新建一条记录。
图3:查看新建的菜单记录
4、获取上传文件的地址
可以通过选择图片,在新建窗口中打开图片链接地址,也可以通过查看框架网页源代码来获取上传的图片的真实地址,如图4所示,获取上传文件的真实地址为“FileMenu/mu.asp;.jpg”,网站未对上传文件进行重命名等安全过滤和检测。
图4:获取图片的真实地址
5、获取webshell
使用中国菜单一句话后门管理软件新建一条记录,脚本类型选择asp,地址填写“http://www.somesite.com/FileMenu/mu.asp;.jpg”,密码填写网页一句话后门的密码,如图5所示,成功获取webshell。
图5:获取webshell
二、信息查看及提权
1、信息查看及提权思路
拿到shell后,通过webshell对服务器网站代码文件进行查看,对可读写目录进行查看,寻找一切可能用于提权的信息。如图6所示,通过查看该网站的代码,获取该网站目前使用MSSQL,且数据库用户为sa权限。看到这里,脑海中的提权思路:
(1)查看SQL Server的版本,如果低于2005版本,则在获取sa权限下,提权成功率在99%。
(2)通过恢复存储过程xp_cmdshell:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
(3)直接执行命令
图6:获取源代码中的数据库配置
2、配置MSSQL以及执行命令
在中国菜刀后门管理工具中,对获取的webshell配置数据库连接信息,然后进行数据库管理,如图7所示,可以执行“EXEC master..xp_cmdshell ‘set’”命令来查看系统当前环境变量等配置情况。
图7:执行命令
可以有三种方式来执行MSSQL命令:
(1)通过MSSQL的查询连接器,SQL Server 2000的查询分离器,通过SQL Server的连接服务器,连接成功后,可以在查询中执行命令。
(2)在中国菜刀后门管理工具的数据库管理配置好数据库连接参数,然后进行数据库管理即可。
(3)SQL Server数据库连接工具SQL TOOLS。该工具主要用来连接MSSQL和执行命令,是MSSQL提权辅助工具。
3、添加管理员用户并登录服务器
分别执行:
EXEC master..xp_cmdshell ‘net user hacker hacker12345!@# /add’
EXEC master..xp_cmdshell ‘net localgroup administrator hacker /add’
添加成功后,直接连接服务器,如图8所示,提示“由于会话在远程计算机上被注销,远程会话被中断。您的管理员或者另一个用户结束了您的连接”,该提示表明服务器上有防护,通过执行tasklist /svc | find "TermService"和 netstat -ano | find “端口号”来获取真实的3389连接端口51389,然后再次进行连接,如图9所示,一连接就出现错误提示。
图8:连接3389错误提示
图9:换端口后连接失败
4、获取安全狗配置文件
对此问题,通过百度搜索情况,表明该情况是由于安全狗的防护导致的。通过shell,查看C盘,在“C:\Program File\SafeDog\SafedogServer\SafeDogGuardcenter”下将其配置文件proGuadData.ini下载到本地,如图10所示。在本地安装安全狗软件,然后将配置文件覆盖。
图10:下载安全狗防护配置文件
5、修改计算机名称
如图11所示,在安全狗安远程桌面保护中仅仅允许三个计算机名为白名单,看到这里就知道如何绕过防火墙了,将个人计算机名称更改为白名单中的三个名称中的任何一个即可。
图11:远程桌面保护白名单
6、登录服务器
再次登录该服务器的远程桌面,如图12所示,成功登录服务器,在该服务器上可以看到N多网站。
图12:登录远程桌面
三、总结与提高
1、信息扩展
在服务器上,发现一个txt文件,如图13所示,打开该文件后包含了一个新IP地址,管理员名称及其密码,使用该信息成功登录服务器,该信息估计是管理员为了方便管理留下的信息。
图13:获取其它用户和密码
2、绕过安全狗拦截远程终端
获取安全狗的配置文件,在本地还原后,将本地服务器修改为白名单服务器名称即可绕过。