我如何找到以僵尸网络为主导的智能家居

在Internet上,“如何检查路由器,计算机,IP摄像机或其他任何设备是否在僵尸网络中”这样的问题很常见。 这激发了我谈论我实践中与僵尸网络冲突的少数情况之一。

图片


在研究可疑流量时,我遇到了路由器的IP地址,尝试从该IP地址通过SSH连接到我的HONEYPOT没有成功。 在/var/log/auth.log中,我看到了以下内容:

... Oct 9 23:52:04 dvrh sshd[3523]: Failed password for root from 129.***.***.29 port 35276 ssh2 Oct 9 23:52:04 dvrh sshd[3523]: Connection closed by authenticating user root 129.***.***.29 port 35276 [preauth] Oct 9 23:52:05 dvrh sshd[3525]: Connection closed by authenticating user root 129.***.***.29 port 35278 [preauth] Oct 9 23:52:06 dvrh sshd[3529]: Failed password for root from 129.***.***.29 port 35280 ssh2 Oct 9 23:52:06 dvrh sshd[3529]: Connection closed by authenticating user root 129.***.***.29 port 35280 [preauth] Oct 9 23:52:06 dvrh sshd[3531]: Invalid user admin from 129.***.***.29 port 35282 Oct 9 23:52:07 dvrh sshd[3531]: Failed password for invalid user admin from 129.***.***.29 port 35282 ssh2 Oct 9 23:52:07 dvrh sshd[3531]: Connection closed by invalid user admin 129.***.***.29 port 35282 [preauth] Oct 9 23:52:08 dvrh sshd[3533]: Invalid user test from 129.***.***.29 port 35286 Oct 9 23:52:11 dvrh sshd[3533]: Failed password for invalid user test from 129.***.***.29 port 35286 ssh2 Oct 9 23:52:11 dvrh sshd[3533]: Connection closed by invalid user test 129.***.***.29 port 35286 [preauth] Oct 9 23:52:11 dvrh sshd[3535]: Invalid user test from 129.***.***.29 port 35288 Oct 9 23:52:12 dvrh sshd[3535]: Failed password for invalid user test from 129.***.***.29 port 35288 ssh2 Oct 9 23:52:12 dvrh sshd[3535]: Connection closed by invalid user test 129.***.***.29 port 35288 [preauth] Oct 9 23:53:12 dvrh sshd[3537]: Invalid user admin from 129.***.***.29 port 35290 Oct 9 23:53:12 dvrh sshd[3537]: Connection closed by invalid user admin 129.***.***.29 port 35290 [preauth] ... 

结论并不难:有人试图使用一组标准的登录名和密码来访问我的服务器。 而且(根据时间间隔判断)这是在自动模式下完成的。 这意味着最有可能这是僵尸网络成员的另一个路由器。
实际上,此图片对于具有开放22端口的主机来说是典型的。 您可以自己验证:打开ssh以从外部Internet访问,允许输入密码,并且漫游器不会让您久等。 同时,约有80%的尝试来自中国。

幸运的是,一段时间后,我设法通过ssh使用标准的登录名和密码之一访问了这个失败的IP(惊讶吗?我没有)。 但是事实证明,这不是普通的路由器,而是一些称为Calix GigaSpire的设备。
Calix GigaSpire是EXOS操作系统下的智能家居控制系统。 GigaSpire包含以下功能:

  • 支持Wi-Fi 6(802.11ax),在5 GHz时具有8x8,在2.4 GHz时具有4x4
  • 多千兆服务
  • 2级和3级服务
  • 由Calix支持云管理
  • 物联网支持(低功耗蓝牙,Zigbee 3.0和Z-Wave Pro)
  • 亚马逊Alexa语音助手

我做的第一件事是登录系统,查看了正在运行的进程列表,以发现一些有趣的东西。 这个“有趣的东西”看起来像这样:

 [router] / # ps ... 2978 root 1444 S {kkbs2l3mdqjq} ipjq2njq5qjq 9729 root 1584 S {kkbs2l3mdqjq} ipjq2njq5qjq 14871 root 5532 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l 19037 root 308 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l 19041 root 284 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l ... 

怀疑是这些过程名称的“随机性”。 为了了解这些过程是什么,我建议回顾一下/ proc文件系统是什么:
procfs是在类似UNIX的操作系统上使用的特殊文件系统。 允许您从内核访问有关系统进程的信息。 执行ps,w,top之类的命令所必需。 它通常安装在/ proc上。 从该目录中,您可以获得有关系统的任何信息。 例如,当前正在使用多少交换内存,处理器高速缓存大小有多大,加载了哪些内核模块,有多少磁盘或分区等等。

我们对包含有关找到的可疑进程信息的目录感兴趣。 它们的格式为/ proc / PID,其中PID是此目录包含其信息的进程的ID。 如果查看它们的内容,则可以找到以下文件:

  • cmdline-包含启动进程的命令以及传递给它的参数
  • cwd-到进程当前工作目录的符号链接
  • exe-链接到可执行文件
  • root-链接到根文件夹
  • 环境 -该过程可用的环境变量
  • fd-包含进程使用的文件描述符,文件和设备
  • 映射statmmem进程内存信息
  • stat状态 -进程状态

我们该怎么办? 首先想到的是计算一个可执行文件的校验和,并在Internet上查找匹配项:

 / # md5sum /proc/2978/exe d204e97ac15a6d0a3ed7e415edfa582e /proc/2978/exe 

我在Mirai checksums列表中找到了此md5,它指示了文件来源的性质。 但是,我们现在该怎么办? 要摆脱Mirai机器人,只需重启路由器即可。 但是在这种情况下,它是没有用的,因为一种新的恶意软件很快就会使用简单的密码爬到路由器上,而更改他人的密码是多余的,您知道吗。

Source: https://habr.com/ru/post/zh-CN470513/


All Articles