来自: http : //seclists.org/fulldisclosure/2009/Jul/0388.html
如果我从http://news.ycombinator.com/item?id=723798的post中了解最好的话,那么Matasano的工作人员就可以使用sshd internet访问 – 为此提供的任何解决scheme(从编程的angular度来看)?
Matasano是如何被黑客入侵的?
从“全面披露”这篇文章中的信息来看,这是不可能的。 然而,推测总是很有趣的,因为他们确实提供了一些信息 –
#./th3_f1n4l_s0lut10n www.matasano.com [ - ]连接到69.61.87.163:22 .. [/]寻找有效的非root用户..亚当 ******** R3D4CT3D h4h4h4h4 ********
他们运行他们的二进制“ th3_f1n41_s01ut10n ”对Matasano的服务器,连接到SSH端口。 它通过一些未知的手段find一个有效的非root用户,其余的输出被编辑。
#./th3_f1n4l_s0lut10n -u adam -t 3 www.matasano.com [*] 209.112.118.10:3338上的Connectback监听器 [!] SSH2_MSG_SERVICE_ACCEPT [OpenSSH_4.5p1,OpenSSL 0.9.8g 2007年10月19日]
二进制再次运行使用find的用户名,login并连接回到他们的服务器端口3338(希望没有登记在他们的名字…)。
adam_at_www:〜$ uname -a Linux www 2.6.20.1-1-686#1 SMP Sun Mar 4 12:44:55 UTC 2007 i686 GNU / Linux **** h4h4h4hh4h4h4 l3tz us3 m0r3!0D4Y! H4H4H4H4H4H4H4 ****
他们可能暗示他们对这个内核有0天的时间,当你考虑这个公司的交易时,这个内核是相当古老的。
adam_at_www:〜$ cd / tmp *********** B0R1NG *********** root_at_www:〜#cat / etc / shadow
哎呀 – 突然之间用户现在是根。 他们在/ tmp中有一个本地特权升级漏洞,可能是他们提到的0天。
所以这里至less有两个漏洞攻击 – OpenSSH利用漏洞在系统上获取有效的非root用户,并以该用户身份login,然后进行本地特权升级。
考虑到OpenSSH自4.5版以来有一些已知的安全问题:
从OpenSSH的安全页面 :
~/.ssh/rc 。 这是一个logging,但不安全的行为(在OpenSSH 4.9发行说明中描述)。 我想这个较旧的Linux内核和较旧的SSH守护进程是为他们做的。 而且,它运行在互联网上的www服务器上,这对我来说是非常有信心的。 明显的破门的人想让他们难堪。
如何防止这些攻击?
主动pipe理可以防止这种情况的发生 – 确保所有面向互联网的服务都得到了修补,限制了可以连接的人数,而不是让人们从任何地方连接。 这个情节加强了安全系统pipe理困难的教训,并且需要企业的专注,为IT提供时间来维持一些事情 – 事实上,至less在小公司中,并非易事。
使用腰带和大括号的方法是最好的 – 使用公钥authentication,白名单上的SSH守护进程,双因素身份validation,IP限制,和/或把所有东西放在VPN后面都是可能的路线来locking它。
我想我知道明天我在做什么工作。 🙂
人们喜欢创造FUD,但似乎他们知道用户已经在那里,也知道他的密码(也许通过暴力或其他方法)。 但是,他们想要看起来很酷,并全面地创造这个大惊小怪。
另一件有趣的事情是,用户adam在一年多的时间内没有login到该框。
(lastlog的输出)
adam pts/1 ool-4350ab48.dyn Sat Jul 26 20:45:18 -0400 2008
所以他可能会保留这个密码(也许是一个坏的)一段时间。
*如果他们真的有一个通过SSH发现用户名的工具,他们可以使用所有其他用户获得远程访问权限,但他们使用了该框中最常见的用户名(很容易猜到)。
为什么你会尝试从编程的angular度来解决这个问题?
您应该从智能服务器pipe理员的angular度来解决它。 在您发布的链接的评论中,有一些很棒的build议,例如使用白名单。
我还想补充一点,因为你在这里问,你很可能绝不是一个安全专家,任何你想写的东西只会增加更多的漏洞。 这真的不是一个编程问题。
保护您的软件免受0天的攻击……这是不可能的。
也许一个好办法是声称你的软件是不可靠的,这将导致白帽试用,并全面披露一切,留下更less的漏洞。 Oracle 10有这个说法,然后在第二天发现了9个新的漏洞。 它现在相当安全。
最可能的是,黑客滥用完美软件的configuration
这让我想起在这台机器上有很多用户使用shell。 这就是他们如何拥有自己的一切,其他一切都是红鲱鱼打算分散注意力。 其中一个最有可能的是在其他shell机器上重新安装了ssh客户端,然后就是游戏结束了。 给每个人的shell帐户,使sshd世界访问只是懒惰和愚蠢的。