实战分析入侵连接远程数据库
网络安全管理过程中最容易出现问题的环节就是数据库了,很多实际问题都是需要数据库去解决的,然而数据库管理帐户漏洞也是造成数据库被恶意连接和攻击的主要问题。很多企业网络管理员对数据库的安全并不太在意,认为就算是存在漏洞一般的非法入侵者也不会轻松的获得隐私信息和企业内部数据,然而这样的想法是大错特错的,稍微有点经验的入侵者都可以通过这样或那样的方法来远程连接数据库,连接数据库后我们就可以像操纵本机服务器数据库一样对远程数据库进行查看和读写操作了。今天就请各位读者跟随笔者一起从实战出发看看如何连接网络另一端远程服务器上的数据库。
一、扫描目标服务器确定mssql数据库漏洞:
一般来说通过安全扫描器可以针对远程服务器的漏洞进行有效的扫描,笔者使用安全焦点公司出品的x-scan对服务器进行扫描,在扫描结果中我们看到mssql(53端口)存在有漏洞,在该sql server上帐户sa的密码是弱口令sa。(如图1)

图1
二、用小工具连接远程mssql服务器数据库:
当我们获得了对端服务器上数据库的弱口令后就可以开始通过小工具连接远程服务器的数据库了,这里笔者为各位推荐一个工具——sql 综合利用工具,通过他我们可以轻松实现远程连接数据库的功能。
sql 综合利用工具
软件版本1.0
软件大小 487kb
软件语言 简体中文版
授权方式 免费软件
适用环境 windows xp/2000/2003
第一步:知道了要连接的数据库服务器ip地址后我们打开sql 综合利用工具,点左上角的“sql 服务器设置”。
第二步:在打开的“设置sql服务器”窗口中输入对应的服务器名称及ip地址信息,在用户名与密码处依次输入我们扫描出来的远程数据库相关帐户信息。当然在数据库名称这里我们一般添写master这个主数据库名,如果我们扫描出来的帐户对应的权限不包括master库的话我们直接输入可操作的数据库名称即可。(如图2)

图2
第三步:填写正确后我们点“确定”按钮进行连接。
第四步:如果一切顺利的话我们就可以连接到远程服务器的数据库了,查看里面的信息,建立相应的数据库表与字段,一切与帐户的权限挂钩。当然如果不能连接的话,该软件会给出相关错误提示的。(如图3)

图3
总之我们通过该小工具连接远程数据库(microsoft sql server数据库)能够进行的操作是与自身帐户权限相呼应的,我们不可能实现任何提权操作。
#e#
三、用microsoft sql server连接远程服务器mssql数据库:
除了之前介绍的利用sql连接工具实现连接远程服务器数据库方法外,我们还可以直接利用microsoft sql server连接远程服务器数据库。这也是比较标准的方法,连接成功后界面是图形化的,而且和在本机操作microsoft sql server数据库一样,用户比较好上手,相关具体方法如下。
第一步:我们运行microsoft sql server安装程序,在安装组件的窗口中选择“安装数据库服务器”。(如图4)

图4
第二步:设置相关安装路径开始复制必须文件到本地硬盘。(如图5)

图5
第三步:等待几分钟后所有文件复制完毕我们可以通过系统桌面的“开始”->“所有程序”->“microsoft sql server”中启动sql数据库程序。我们最常用的是“企业管理器”。(如图6)

图6
第四步:打开sql server企业管理器组件后我们在“控制台根目录->microsoft sql servers->sql server组”图标上点右键选择“新建sql server注册”。(如图7)

图7
第五步:打开注册sql server向导,在左边的“可用的服务器”中输入需要远程连接的数据库服务器ip地址或者计算机名称,然后点中间的“添加”按钮,当我们把服务器ip地址添加到右边后点“下一步”按钮继续。(如图8)

图8
第六步:接下来是选择身份验证模式,由于我们是要通过数据库帐号连接远程服务器上的数据库,所以选择“系统管理员给我分配的sql server登录信息(sql server身份验证)”项,之后点“下一步”按钮继续。(如图9)

图9
第七步:在选择连接选项处输入对应的sql server帐户信息自动登录,我们扫描出来的登录名是sa,密码也是sa,之后点“下一步”按钮继续。(如图10)

图10
第八步:之后是选择sql server组,我们选择“在现有sql server组中添加sql server”,然后利用下拉菜单选择对应的组名即可。之后点“下一步”按钮继续。(如图11)

图11
第九步:完成sql server注册向导,之后我们就可以像操作本机数据库那样对远程microsoft sql server数据库的各个表与字段信息进行操作了。(如图12)

图12
本文介绍的这两个方法都是针对远程microsoft sql server数据库进行连接的,对于其他类型的数据库,注如mysql,sybase等是不适用的,下面笔者就继续介绍如何通过工具远程连接mysql数据库。
#e#
四、命令工具齐入手连接远程服务器mysql数据库:
在我们通过安全扫描程序获得了目标服务器上mysql数据库的管理员root帐户及其密码后可以采用两个方法来实现远程连接数据库的目的。
(1)通过mysql命令连接mysql数据库:
当我们在本机安装mysql数据库后我们是可以在其目录中利用可执行程序连接远程mysql数据库的,不过需要注意一点的是连接远程mysql数据库上的版本要比本机的低才行,否则必须升级本机mysql数据库。
在mysql目录的bin目录中我们通过mysql程序实现连接功能,具体指令为“mysql -h ip地址 -u 用户名 -p 密码”(不含引号),如果密码是空可以用""替代。(如图13)

图13
如果帐户与密码正确的话我们就能够顺利连接到远程mysql数据库上,利用status查看其版本与基本状态,当然其他命令也是可以运行的,只要你使用的连接帐户有对应的权限即可,对数据库和表以及字段的读写操作都是通过一条条指令完成的。(如图14)

图14
(2)通过mysql图形工具完成连接目的:
mysql gui tools是一个可视化界面的mysql数据库管理控制台,提供了四个非常好用的图形化应用程序,方便数据库管理和数据查询。这些图形化管理工具可以大大提高数据库管理、备份、迁移和查询效率,即使没有丰富的sql语言基础的用户也可以应用自如。它们分别是mysql migration toolkit数据库迁移,mysql administrator管理器,mysql query browser用于数据查询的图形化客户端,mysql workbench(db design工具)。我们可以通过他连接远程服务器的mysql数据库。下载该程序后直接解压缩,一般来说我们要连接远程mysql数据库只需要运行mysqladmin程序即可。(如图15)

图15
mysql gui tools
软件版本5.0
软件大小 17.38 mb
软件语言 简体中文版
授权方式 免费软件
适用环境 windows xp/2000/2003
第一步:我们使用mysql远程连接工具,启动程序后输入目的服务器ip地址以及username是root,密码保持空,然后点ok进行连接,端口号是默认的3306。(如图16)

图16
第二步:之后我们就能够顺利的连接到目标服务器上了,在mysql远程连接控制器中我们可以看到目标hostname是目的ip地址,服务器运行information情况是mysql 5.0.27。(如图17)

图17
小提示:
如果在我们进行连接过程中出现了错误提示,那么首先要排查的就是网络问题,尝试关闭本机防火墙来解决问题,然后需要确认连接帐户与密码填写是否正确。(如图18)

图18
第三步:我们在mysql连接工具左上角选择“user administration”用户管理,然后可以查看到当前该数据库中存在的用户,也可以利用右下角的add new user来添加对应的帐户。修改完毕后点apply changes保存配置。(如图19)

图19
第四步:通过左边的server connections了解当前服务器数据库的连接情况,可以根据实际需要通过kill thread按钮关闭某某用户的连接。(如图20)

图20
第五步:我们需要做的就是查看数据库里的内容了,具体方法是在左边点选catalogs,然后我们会在mysql远程连接工具中看到该数据库中存在的数据库信息,每个数据库下还有多个表,每个表有字段,这些信息都是可以随意查询和添加修改的,因为当前我们是root用户权限。(如图21)

图21
第六步:我们也可以直接利用远程管理工具实现数据库的备份,在左边选择backup即可,然后选择点new project新建一个备份工作,之后选择对应的数据库或某个表,利用“>”按钮添加到右边,然后选择execute back up now按钮就开始备份了。(如图22)

图22
第七步:选择execute back up now按钮后会出现提示保存路径的对话框,保存的文件格式是xxx.sql,这个格式我们可以使用相关工具来查看里面的数据库信息。(如图23)

图23
小提示:
最容易的方法就是通过本文介绍的这个远程mysql管理工具来打开对应的数据库文件,也可以利用此功能将远程服务器上的数据库删除而覆盖一个新的,只要选择左边的restore选项再添加对应的数据库文件即可。(如图24)

图24
我们是可以对mysql下多个数据库进行同时备份操作的,只需要通过备份界面执行多此“>”操作将数据库添加到右边,然后统一点execute back up now按钮即可,保存过程需要一定时间,所有数据库都保存到同一个文件里。(如图25)

图25
该数据库备份文件是以sql后缀结尾的,我们可以用记事本打开查看也可以用mysql数据库将其打开。(如图26)

图26
五、总结:
数据库的安全是非常重要的,不要以为数据库相关帐户密码的泄露不会带来网络及服务器的安全,远程入侵者可以在获得数据库相关帐户信息后直接通过网络及相关工具远程连接目的服务器的数据库,直接下载全部数据库文件和修改各个字段达到入侵目的。因此对于企业网络管理员,特别是负责服务器安全的读者来说保护好服务器,针对服务器数据库帐户设置复杂密码,避免sa帐户以及root帐户弱口令是最基本的保护。
- 最新评论
