前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSH 尝试攻击是什么样子的

SSH 尝试攻击是什么样子的

作者头像
未来守护者
发布2018-07-23 11:58:26
1.8K0
发布2018-07-23 11:58:26
举报
文章被收录于专栏:安全领域安全领域安全领域

SSH 尝试攻击(SSH Hacking Attempt)是什么样子的

由于我的工作与安全软件设计以及政府合规性密切相关,我会不断地告诉自己:“如果它不安全,你最终会被黑客攻击”。但实际上,被黑客攻击是怎样一种情况?如果我设置一个服务器,并且不使自己成为一个明显易受攻击的目标(即不会出现在常见的 shodan.io 搜索中),这样,会发生什么事呢?

先来梳理一下蜜罐(Honeypot)的概念。“蜜罐” 是一种故意置于易受攻击状态的 “东西”,它可用于研究网络上的恶意流量与活动。这个 “东西” 可以是任何事物 —— 服务器上的单个端口,网页上的某个 HTML 元素,甚至是具有多个服务器的网络。一旦设置完成,任何针对服务器的恶意流量都可以被研究分析,并转变为有用的信息。

所以我去找了可以让我自己运行的蜜罐软件。最终我选用了 Cowrie,这是一个基于 Python 的 SSH / Telnet 模拟器,它基于 Kippo 项目的早先的工作。我被它吸引,有这几个原因:它有很多支持文章,它是用 Python 编写的,而且 Cowrie 还使用了 Kippo 的轻量级可视化软件 Kippo-Graph。通过 Kippo-Graph,我无需通过 SSH 连接到服务器,就能够随时关注手机中的内容。

我将跳过关于设置的 “血淋淋的” 细节,但如果你对此感兴趣,那么 “使用 Cowrie SSH Honeypot 来抓住入侵你的网络的攻击者” 这篇文章会是一个很棒的教程。

于是,我启动了蜜罐软件,并在端口 22 上设置了 SSH 模拟器,以允许用户名 root 和 admin 分别使用登录密码 changeme 和 1234567。然后开始坐下来吃瓜看戏......

对蜜罐的访问尝试次数
对蜜罐的访问尝试次数

人们多次试图猜测我的 SSH 密码。每天会有 200 到 1200 多次。并且这些尝试大多来自:

密码设置为我觉得非常不安全的字串(记住,密码只是 changeme 和 1234567),但只有 4 次尝试是成功的。我被这些黑客成功入侵:

  • 2 月20日:中国安徽合肥的 IP 地址,它在猜到用户名为 root 以及密码为 changeme 之前尝试了 42 次。在成功之后,它便停止了,而我立刻被首尔的一个 IP 所侵入(我假设这是同一个攻击者改变了 IP)。该 IP 尝试运行了 Linux 命令 “uname -srmo” 并且该命令成功执行,但模拟器上的蜜罐命令行并未处理 “-srmo” 选项,并且与攻击者断开了连接。
  • 2 月 24 日:荷兰的北荷兰哈勒姆的一个 IP,对用户名 root 和密码 changeme 共尝试了 15 次。它模仿了与上一个攻击者相同的行为。
  • 2 月 24 日:一个使用用户名 root 和密码 changeme 的 Tor 节点。它只尝试了一次,然后立即断开了连接而不运行命令。由于它在第一次尝试时就猜到了用户名/密码组合,我认为它是先前的一个攻击者在检查其访问权限。

这一切都是非常平淡且无聊的。我的工作是告诉人们,如果他们做不安全的事情,他们就会被黑客攻击!然而此处我使用差劲的用户名/密码组合,却几乎没有受到损害。所以,我决定把它完全开放。

我查看了 Kippo-Graph 提供的用户名/密码组合的示意图。

我仍然对在我的蜜罐中的大量操作的结果感到有些厌倦,所以我避免了所有这些默认的 IoT 认证密码,并选择了两个新的组合来添加。第一个是 admin / admin1(我看到过数次尝试),第二个是我认为非常有趣的一组,pi / raspberryraspberry993311。

Pi 是 Raspberry Pi (树莓派)系统广泛使用的流行 Raspbian 发行版的默认用户名。但是,默认密码是 raspberry 而不是 raspberryraspberry993311。用谷歌快速搜索密码,得到了很多原始蜜罐数据,但并没有对这些数据的相应解释!所以,我决定接受它,看看这是怎么回事。

于是我马上被法国人搞了!没错,有某个来自法国 IP。它奇怪地使用了 raspberryraspberry993311 这个密码。攻击者立即上传了一个 bash 脚本并尝试运行它。这个 bash 脚本是一种蠕虫,它将服务器配置为:

  • 定期向 Undernet IRC 频道报告以进行命令与控制
  • 将密码更改为 raspberryraspberry993311(这就是我们看到这些尝试的原因!)
  • 开始扫描公共 IP 空间以尝试进一步传播蠕虫。当它进行这种扫描时,它会尝试 pi / raspberry 和 pi / raspberryraspberry993311 这两种组合,想必这是一种在命令和控制失效时传播更新的方法。

这个 Raspberry Pi Botnet 恶意软件做了很多其他的事情,我打算在一个完整的帖子里把它剖析出来。

在法国人之后,我被瑞士的 IP 攻击了,在该 IP 获得成功后就转变为爱尔兰的 IP。攻击者试图将恶意软件加载到整个使用短语 “gweerwe323f” 的机器上。该恶意软件主要包含了 shellcode,不过我也没有时间把它拆解分析。但基于进一步的妥协,这绝对是另一个运行脚本操作的僵尸网络。

最后,我想看看若我将认证信息设置为 “接受用户名 admin 和密码 admin”,会发生些什么。第二天,我一直被同一个 gweerwe323f 僵尸网络反复攻击。

这时候,乐趣开始减少,所以我关闭了蜜罐。对于那些有兴趣了解详情的人,这里列出了尝试的前 10 个密码:

以下是在我的蜜罐上尝试的前 10 个用户名/密码组合:

乍一看,感觉它们都非常具有物联网风格。让我震惊的是,尝试诸如 root / password,root / root 或 root / admin 这样的组合是值得的。显然,他们使用那些令人难以置信的不安全组合取得了足够的成功,所以这值得他们花时间。

我还快速分析了我的 Apache 访问日志,看看我的密码保护 Web 服务器上有哪些尝试。由于 Web 服务器不易受攻击,因此没有太多的恶意活动需要解析,但我确实看到了许多对默认情况下 Apache / Tomcat 安装的 path / manager / html 的请求访问。否则,这只是寻找 phpMyAdmin 的经典尝试。

如果没有建议使用开源软件 Fail2Ban,我觉得这篇文章就不是完整的。对于那些已经深究这一点的人而言,他们想知道 “为什么我不能阻止这些 IP 呢”,你绝对是正确的。像 Fail2Ban 这样的软件可以监控您的日志文件是否存在这样的恶意活动,并阻止这些 IP 的进一步尝试。您还可以使用此数据或蜜罐进行更多操作。将蜜罐内部放在公司网络上,并监视网络扫描等恶意活动。将它放在公司的公共 IP 空间中,看看是否存在针对您公司或行业的特定攻击。

也许未来我还会重新查阅数据,并寻找更多有趣的模式,例如导致我进入 Raspberry Pi 僵尸网络的模式。但现在,我已经关闭了我的蜜罐,我认为本次实验很成功。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SSH 尝试攻击(SSH Hacking Attempt)是什么样子的
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档