技术开发 频道

SQL Server最受欢迎技巧:解读DBA

  3.SQL Server密码破解工具简介

  在对SQL Server系统执行入侵测试或者更高级别的安全审计时,有一种测试不应该被忽略,那就是SQL Server密码测试。这一点看起来显而易见,但是很多人都会忽略它。

  密码测试可以帮助检查恶意入侵者或者外部攻击者,测试他们要强行进入数据库有多容易,而且还可以确保SQL Server用户对他们的账号负责。此外,测试密码的漏洞在SQL Server混合模式认证的情况下尤其重要,这种模式比其他Windows认证模式安全性要差一些。

  密码测试的第一步是确定要测试的系统。虽然你对你的环境可能了如指掌,但是找出那些可能被遗忘的服务器,或者有未经你知晓有人就连接到网络的服务器的情况是没有坏处的。

  SQLPing3是一个免费的SQL Server查找和密码破解工具,可以帮助你开始测试。该工具有多个选项可以供你搜索活动状态的SQL Server系统,如图1所示:


图1 用SQLPing3搜索活动SQL Server系统的选项界面

  此外,SQLPing3可以扫描到那些通过约定俗成的端口扫描可能扫描不到的SQL Server数据库实例,而且它可以找到那些“sa”密码为空的系统。SQLPing3还可以针对SQL Server数据库运行字典攻击,这种做法就像加载你自己的用户账号和密码列表一样简单。

  因为这是最基础层面的SQL Server搜索和密码破解,所以我们从这里开始非常合适。

  另一个免费工具是Cain&Abel,它支持你转存并攻击SQL Server数据库密码哈希,如图2所示:


图2 使用Cain&Abel转存并破解哈希

  使用Cain&Abel,你可以插入你自己的哈希或者通过ODBC连接到数据库并把它们一股脑转存下来,以便后续破解使用。

  在商业软件里面,NGSSQLCrack和AppDetective Pro都是很好的工具,他们可以执行字典破解和暴力密码破解。

  我最喜爱的新的商业SQL Server密码破解工具是Elcomsoft公司开发的Advanced SQL 密码恢复工具。使用Advanced SQL Password Recovery,你可以立即从“master.mdf”文件中恢复密码,如图3所示:


图3 使用Advanced SQL Password Recovery,从“master.dbf”指向并直接点击密码破解

  这看起来似乎是不可思议的或者是完全不可能,因为SQL Server系统被认为在网络范围内是锁定的。然而,我经常会碰上管理员级别的密码或者发现丢失的补丁,一试之下,发现可以很容易地以全部权限访问数据库服务器。从这一点上看,系统中的一切就都是暴露着的游戏而已。

  一定要记住的,SQL Server密码破解不应该被忽视。要把它当成正式的安全评估,得到管理方面的支持,周密地规划。因为你不想碰到麻烦。

  尽管如此,密码破解也存在一些缺点要记住:

  ·密码破解会消耗宝贵的系统资源,包括CPU时间,内存和网络带宽,积累到一定量就会给系统造成拒绝式服务攻击。

  ·字典型攻击和暴力攻击会花大量时间,有时候你可能得不到结果(时间太长),尤其是如果你只能在特定的时间窗口内测试系统。

  ·字典攻击的效果取决于你使用的字典,所以确保你操作时拿到的字典是可靠的。我发现BlackKnight List是最全面的字典。

  最后,可能也是最重要的,一定要跟进你的发现。这可能意味着与管理层和你的IT部门同事分享你的发现,调整你的密码策略并传播安全意识,来说明安全对企业来说是多么重要的一个问题。

0
相关文章