从一个废弃的上传页面到两台重要数据库服务器完全暴漏
记得网上有句话好像是,不用页面马上删,不用的端口马上关。
注:由于涉及的资料比较多,所以打码比较严重
暴漏在公网的服务器随时都有可能成为别人的猎物,不要抱任何侥幸心理,如果你还没有被搞,可能还没轮到。账户弱口令,上传不过滤,输入不过滤。这些很低级的错误,各位管理员还是不要犯。放在前面的话就说这么多,下面看图,这是拿到的两台服务器:
下面从头儿开始说,这是某国际物流公司的服务器,最开始看到的页面一个非常非常老的上传页面,感觉着应该有漏洞。
实际比感觉要严重的多,对上传没有任何过滤,一句话木马直接上传了,拿菜刀链接。然后开始进行提权,首先拿到的权限是一个比较常见的权限iis apppool\sof**.***.com。基础的系统命令可以执行,然后开始上传后门程序和提权程序,开始提权,执行之后就没了,秒被吞,应该是有防火墙或者杀毒软件,tasklist看了,360开着那,不做免杀基本上是没办法拿下。
然后就开始看看C:\盘中安装的程序,看看有没有ftp或者MSSQL或者Mysql可用,ftp用的是Serv-U15.0.1不是老版本的提权估计比较难。发现装着SQL Server那,本机应该是有数据库的。然后开始在一些网站的根目录中找配置文件,费了好大劲终于找到一个有账户密码的,但是本机登陆不上。然后开始结合一些账户密码猜解登陆相邻ip的机器的1433端口,刚开始用HeidiSQL登陆目标但是登陆直接未响应,也不知道什么问题,这个小工具平时挺好用的,关键是时候掉链子了,写这个文章的时候又试了下可以登上了。
推荐大家用这个小工具,小巧精致,可以支持Mysql和MSSQL各种协议登陆。昨天晚上操作的时候均在SQL Server Management上操作的。以下是登陆结果:
登陆上的时候应该意味着这个服务器要收入囊肿了。SA权限只是xp_cmdshell未开始,配置下开启:
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE
成功开启xp_cmdshell
之前已经用nmap扫过了目标是开着3389的,然后直接添加用户就行了
Net user Summer 满足复杂度要求的密码 /add
Net localgroup Administrators Summer /add
Net localgroup “Remote Desktop Users” /add
执行最后一行命令的时候竟然报错了,看图:
这个时候首先执行下net user Administrator看下他的本地组的名称,可能不是默认的,也可能默认的和常见的默认并不相同,前两天群里有人搞国外的服务器的时候说默认的和咱们默认的不一样,所以最后看下。这台机器没问题,管理员组是Administrators远程桌面组是Remote Desktop Users,这个时候报错可能SQL语句的问题了,仔细看了看这几个单词也没拼错,应该就是引号的问题,把引号换过来,添加成功了。
这个时候千万不要急着直接登陆目标,如果目标不是windows Server版本你会直接把对方顶掉,这个时候肯定会被发现了,一旦被发现,再想拿下目标应该会难很多。执行下systeminfo看下目标的系统版本:
这个时候可以果断登陆目标了服务器了,发现管理员竟然把防火墙主动关闭了,可能也正是这样,才导致入侵的如此方便。
本来想获取下目标管理员的Hash的从网上查了资料,对于2012的服务器GetHashes,wce等等小工具好像都不行,有的还会导致目标服务器重启,不过网上看资料可以通过
vssown.vbs + libesedb + NtdsXtract来获取系统hash对于03-12通杀,准备在本地测试下,再拿到目标上测试,测试成功单独写个文章这台服务器基本上是拿下了,另外一台也通过一些小社工只能登陆MSSQL数据库也配置了xp_cmdshell,但是不能执行任何命令,提示Createprocess失败,应该还是360和防火墙导致的,等通过hash破解出来一个密码后应该可以通过社工的方法获取到。这个小渗透到为止。
改进建议:上传页面必须做白名单验证加二次渲染,MSSQL的账户的权限低到够用就行,各个服务器的账户密码不要雷同,这么重要的数据库服务器最起码防火墙应该开着,网站后台的的弱口令应该改掉。
推荐两个小工具:
一个是截屏工具Snipaste比qq的截屏要好用很多很多:
https://zh.snipaste.com/download.html
数据库链接小工具HeidiSQL,小巧方便,不知道有没有后门,虚拟机中运行!
链接: https://pan.baidu.com/s/1sla4RDF 密码: en1s
相关文章
- ORACLE数据库中ORACLE_SID与INSTANCE_NAME的差异
- 3种PHP连接MYSQL数据库的常用方法
- 【Java】通过“配置文件”建立MySQL数据库连接,读取数据库(有图,有示例)
- Google Earth Engine——美国人口普查局定期发布一个名为TIGER的地理数据库。这个表格包含了2010年人口普查的人口概况1的数值,按普查区汇总
- 阿里数据库内核月报:2016年05月
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- 【信息技术刷题记录】 06 数据库相关知识及专利版权篇
- SQL数据库基础知识-巩固篇<一>
- Hive命令行经常使用操作(数据库操作,表操作)
- 数据库实验内容,不包括对表的增删改查
- sqlserver 用备份文件(bak) 还原一个新的数据库
- springboot文件上传到本地电脑,项目目录,路径保存到数据库,页面显示上传的图片
- laravel 数据库配置