远程访问不安全的MySQL'root'@'localhost'帐户?


8

一点背景知识:我们刚刚将PBX系统入侵了。服务器本身看起来很安全(没有登录的未经授权的控制台访问-SSH等),但是黑客设法以某种方式向PBX软件(FreePBX,由MySQL支持)注入了新的管理员用户。Apache日志表明,黑客设法在不使用Web界面(或Web界面中的任何漏洞利用)的情况下添加了用户。

现在,我发现MySQL在没有root密码(!!)的情况下运行并公开绑定到外部IP地址(显然,我现在已将其锁定)。但是,MySQL中唯一的根级别用户是'root'@'localhost''root'@'127.0.0.1',这两个都只能在本地访问。

所以,我的问题是这样的:

有没有一种欺骗与MySQL的连接的方法,从而允许从远程IP地址连接到“ root” @“ localhost”用户,而无需在本地运行任何其他利用程序?

作为参考,该框是运行Mysql 5.0.95的Centos 5(Linux 2.6.10)。


会更适合ServerFault-在这里脱机。
卡帕2012年

我不确定-我个人的感觉是,这与服务器配置/管理问题无关,而与尝试利用MySQL中的潜在错误更适合。如果有人认为我在错误的网站/部分上对此表示歉意。
TFk 2012年

2
实际上,它可能属于security.stackexchange.com

1
您说“唯一的根级别用户是root @ localhost”,但是,还有其他用户吗?您不需要root级用户即可添加记录。另外,您应该在FreePBX中寻找像这样的漏洞。
马库斯·亚当斯

您链接中的漏洞已在我的FreePBX版本中进行了修补,但是是的,我同意FreePBX漏洞是最可能的切入点,只是我在Apache访问日志中找不到与任何(未修补的)已知漏洞一致的内容。与其他用户的好处-数据库中唯一的其他用户是星号,该星号具有(非默认)密码。如果这是切入点,那么它再次指向(可能未发布的)FreePBX漏洞。与新的未记录的FreePBX漏洞相比,“无根密码”似乎是一个很大的漏洞。因此,我的问题/帖子。
TFk 2012年

Answers:


1

没有。

如果您不是来自本地系统,则MySQL绝不会使用localhost127.0.0.1主机规范登录到用户。请注意,这还涵盖了身份验证绕过漏洞CVE 2012-2122;密码比较可能会被欺骗,但主机比较不会。

您需要系统上的某些内容来代理,以“欺骗”源主机检查。像phpmyadmin之类的东西,或者像MySQL港口前面运行的HAProxy之类的负载均衡器都浮现在脑海。


这就是我所怀疑的,这意味着,很遗憾,空白的root密码可能不是利用漏洞。总是很高兴获得知情的意见-非常感谢。
TFk 2012年

2

该名称root是默认创建的,并且众所周知。文字值root在MySQL特权系统中没有任何意义。因此,无需继续输入用户名root

您应该将root用户名更改为其他名称,以便外界无法轻松识别(猜测)该用户名,这将减少黑客尝试的次数。

例如:如果您有一个root@ @ 用户,localhost众所周知,因此黑客会尝试连接它,则应将其更改为admin_db_name@ 这样的特定名称,localhost以提高安全性。

监视一个Aborted_connects定期调用的状态变量以了解Refused与您的MySQL服务器的连接,Flush status;命令后该变量应为0,并且不应进一步增加。

显示状态,如“ Aborted_connects”;


2

“没有记录的未经授权的访问”是否包括失败的登录尝试?如果不是,则可能是CVE 2012-2122

[...]在具有memcmp函数某些实现的某些环境中运行时,(MySQL)允许远程攻击者通过使用相同的错误密码反复进行身份验证来绕过身份验证,由于未正确检查,最终导致令牌比较成功返回值。


我的“没有记录的未经授权的访问”是非常模棱两可的-我的意思是没有攻击者设法获得对服务器的控制台访问(例如,通过SSH)。另外,看来Centos的构建没有受到影响(< community.rapid7.com/community/metasploit/blog/2012/06/11/…),但肯定是我一直在寻找的东西。
TFk 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.