Matasano是如何被黑客入侵的?


Answers:


34

Matasano是如何被黑客入侵的?

从帖子中的信息到完全披露是不可能的。但是,推测总是很有趣的,因为它们确实给出了一些信息-

#./th3_f1n4l_s0lut10n www.matasano.com
[-]正在连接69.61.87.163:22 ..
[/]寻找有效的非root用户。
******** R3D4CT3D h4h4h4h4 ********

他们在th3_f1n41_s01ut10nMatasano的服务器上运行二进制文件“ ”,该服务器连接到ssh端口。它通过某些未知方式找到有效的非root用户,然后删除其余的输出。

#./th3_f1n4l_s0lut10n -u亚当-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日] 

使用找到的用户名再次运行二进制文件,该用户名登录并在端口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 

糟糕-用户现在突然成为root用户。他们在/ tmp中有一个本地特权提升漏洞,可能是他们所指的0天。

因此,这里至少有两个漏洞利用-OpenSSH漏洞利用在系统上获取有效的非root用户,然后以该用户身份登录,然后进行本地特权升级。

考虑到OpenSSH自版本4.5起存在一些已知的安全问题:

OpenSSH的安全页面

  • 5.2版之前的OpenSSH容易受到CPNI-957037“针对SSH的纯文本恢复攻击”中所述的协议漏洞。但是,基于有限的可用信息,在大多数情况下,上述攻击似乎是不可行的。有关更多信息,请参考cbc.adv咨询和OpenSSH 5.2发行说明。
  • ~/.ssh/rc对于其命令已被sshd_config(5)ForceCommand指令覆盖的会话,将不执行OpenSSH 4.9及更高版本。这是有记录的但不安全的行为(在OpenSSH 4.9发行说明中进行了描述)。
  • 如OpenSSH 4.7发行说明中所述,当不可信的cookie生成失败(例如,由于故意的资源耗尽)时,OpenSSH 4.7及更高版本不会退回到创建可信的X11身份验证cookie。

我想拥有这个较旧的Linux内核和较旧的SSH守护程序就可以做到。而且,它正在他们的www服务器上运行,该服务器可用于Internet,在我看来这是一件充满信心的事情。闯入的人显然想让他们感到尴尬。

如何预防这些攻击?

可以通过主动管理来防止这种情况-确保修补了所有面向互联网的服务,并限制了可以连接的人数,而不是允许人们从任何地方进行连接。这一事件使安全系统管理变得困难,并需要企业投入一定的时间为IT提供时间来修补问题(实际上,至少在较小的公司中这并非易事),这使这一教训更加复杂。

最好使用带括号的方法-使用公钥身份验证,ssh守护程序上的白名单,两因素身份验证,IP限制和/或将所有内容置于VPN后面都是锁定它的可能途径。

我想我知道明天我会做什么。:)


2
需要有效的公共密钥才能通过OpenSSH登录。不是傻瓜,而是有帮助。顺便说一句。
Andrioid

好点,补充:)
Cawflands

1
值得指出的是,由于各种linux版本的反向修复,OpenSSH版本字符串对于是否已修补Vunerabilites远非可靠的指南。同样,这里的所有bug都不会让用户在没有其他相当严重的其他入侵者的情况下登录。
慈安

3

人们喜欢在上面创建FUD,但似乎他们知道用户adam已经在那里,并且也知道他的密码(可能通过蛮力或其他方法)。但是,他们希望看起来很酷,并在整个过程中大惊小怪。

需要注意的另一件事是,用户adam超过一年未登录该框:

(lastlog的输出)

 adam             pts/1    ool-4350ab48.dyn Sat Jul 26 20:45:18 -0400 2008

因此,他可能会暂时保留该密码(可能是一个错误的密码)。

*如果他们确实有通过SSH发现用户名的工具,他们可能会使用所有其他用户来获得远程访问,但是他们使用了该框中最常见的用户名(很容易猜到)。


2

您为什么要尝试从编程角度解决此问题?

您应该从智能服务器管理员的角度解决它。在您发布的链接的注释中有一些很棒的建议,例如使用白名单。

我还想补充一点,因为您在这里询问,您很可能绝不是安全专家,并且您认为要写的任何内容只会增加更多的漏洞。这真的根本不是编程问题。


一个建议是白名单?

这仍然不是编程问题,它是配置问题
blowdart


@Sneakyness无论如何我都不是安全专家-但是感谢您指出-我问了这些问题,所以我可以学习-感谢您试图阻止我写一些我想学习的东西-是否这是编程问题还是非编程问题-我将由安全专家来回答-您包括在内(我假设您是来自您的教育评论的人)
user14898

2

保护您的软件免受0天攻击...这是不可能的。

也许一种好的方法是声称您的软件不可入侵,这将导致白帽尝试并完全披露所有内容,从而减少漏洞。Oracle 10提出了这一要求,然后在第二天就发现了9个新漏洞。现在非常安全。

黑客很可能滥用了完美软件的配置


我们确定这甚至是零日吗?
乔什·布劳

2

令我惊讶的是,他们在该计算机上拥有如此多的用户。这就是他们确定拥有所有权的方式,其他所有内容都是为了分散人们的注意力。其中之一最有可能让ssh客户端后门安装在其他Shell机器上,然后游戏结束了。为每个人提供Shell帐户并使sshd世界可访问性只是懒惰和愚蠢。

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.