我有一台专用机器,今天我收到主机发来的一封电子邮件,说如果我不停止滥用网络,我的服务器将被封锁。我不是垃圾邮件发送者或黑客。有人用我的机器做坏事。他们在电子邮件中附加了一条注释,显示以下内容。
##########################################################################
# Netscan detected from host 178.63.xxx.xxx #
##########################################################################
time protocol src_ip src_port dest_ip dest_port
---------------------------------------------------------------------------
Sat Oct 4 11:24:09 2014 TCP 178.63.xxx.xxx 26217 => 94.xxx.xxx.0 22
Sat Oct 4 11:24:09 2014 TCP 178.63.xxx.xxx 26217 => 94.xxx.xxx.4 22
Sat Oct 4 11:24:09 2014 TCP 178.63.xxx.xxx 26217 => 94.xxx.xxx.41 22
Sat Oct 4 11:24:09 2014 TCP 178.63.xxx.xxx 26217 => 94.xxx.xxx.61 22
Sat Oct 4 11:24:09 2014 TCP 178.63.xxx.xxx 26217 => 94.xxx.xxx.80 22
我检查了我的系统日志,它提到了与上述时间大致相同的以下内容。请注意带有 **s 的行。‘设备进入混杂模式’
##################
Oct 4 11:20:01 v7 CRON[18962]: (cap) CMD (cd /var/tmp/ ; ./ps x >/dev/null 2>&1)
**Oct 4 11:24:34 v7 kernel: [7144175.421969] device eth0 entered promiscuous mode**
Oct 4 11:30:01 v7 CRON[19075]: (cap) CMD (cd /var/tmp/ ; ./ps x >/dev/null 2>&1)
**Oct 4 11:31:31 v7 kernel: [7144591.716996] device eth0 left promiscuous mode**
Oct 4 11:31:31 v7 kernel: [7144592.377159] ssh-scan[19234]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
###################
我也注意到了很多这样的情况:
#############
Oct 4 11:31:47 v7 kernel: [7144607.756445] ssh-scan[19178]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:50 v7 kernel: [7144611.372464] ssh-scan[19725]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:52 v7 kernel: [7144613.062509] ssh-scan[19326]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:53 v7 kernel: [7144614.091379] ssh-scan[19704]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:53 v7 kernel: [7144614.121336] ssh-scan[19747]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:53 v7 kernel: [7144614.377344] ssh-scan[19727]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:53 v7 kernel: [7144614.404263] ssh-scan[19712]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:54 v7 kernel: [7144614.557179] ssh-scan[19708]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:54 v7 kernel: [7144614.673588] ssh-scan[19709]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:54 v7 kernel: [7144614.678058] ssh-scan[19749]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
Oct 4 11:31:54 v7 kernel: [7144615.195993] ssh-scan[19711]: segfault at 0 ip 0000000008048e33 sp 00000000ffa39110 error 4 in ssh-scan[8048000+c0000]
#########
现在我该怎么办?我怎么知道黑客是如何获得对我机器的访问权限的?我该如何阻止这种情况发生?
另外,几个月前也发生过类似事件,当时我的主机说我安装的 elasticsearch 可能存在安全漏洞。我卸载了 elasticsearch,因为我没有使用它,并更改了 root 密码。
任何对调查此问题提供的帮助都将不胜感激。
谢谢
更新 1
我跑了起来who -u
,看到了以下内容
root hvc0 Jul 13 18:55 old 728
deployer pts/0 Oct 4 11:19 04:08 18836 (240.50.134.37.dynamic.jazztel.es) (IS THIS THE HACKER?)
root pts/3 Oct 4 14:53 . 14794 (122.174.xxx.xxx) (THIS IS MY IP)
答案1
这个问题很难回答,因为通常你不应该只做一件事。相反,你应该从各种来源收集信息,看看你得到了什么,然后进一步跟踪这些线索。不过这里有一些想法:
从您提供的信息中我发现的重要信息包括:
- 已经安装了一个 cron 任务,并且你知道它何时运行
- cron 任务运行一个已安装或已安装在的程序
/var/tmp/ps
- 名为 的程序
ssh-scan
一直在运行,并反复出现分段错误。看起来这是在 cron 作业运行后发生的
到目前为止,还没有太多可进行的内容,但要寻找有用的时间戳。
- 创建和修改时间
/var/tmp/ps
- 作业运行的 cron 文件的修改时间。
幸运的是,这些时间戳可能对应于您的机器被入侵的时间,在这种情况下,您会更清楚在日志中哪里可以查找有关实际入侵的信息。
某个地方有或曾经有一个系统识别为 的程序ssh-scan
。用 查找它locate
。程序在运行后可能会重命名自身,但在这种情况下,程序ssh-scan
中可能包含文本,在这种情况下,您可能可以使用 grep 找到它。
查看 .bash_history 文件等内容,查找crontab
、ps
和的提及ssh-scan
。如果黑客留下了命令历史记录,这可能会帮助您找到它。
查看列出的条目,last
查找任何异常。
查看 /var/tmp/ps 的内容。如果是二进制文件,请查看 的输出strings /var/tmp/ps
。
- 黑客在程序中表明自己的身份是很常见的,但该文件的作者并不一定就是入侵你机器的人
- 该文件中可能有一些有趣的东西,或者可以使用 Google 找到该文件的 md5 校验和。
希望上述内容能够带来一些新的线索。
攻击者将程序放入 /var/tmp,并能够打开和关闭接口的混杂模式,这意味着他们拥有 root 访问权限。虽然您可能能够确定入口点,但您不太可能确定是否已关闭他们的访问权限。您可能应该重新安装服务器,并非常小心地复制哪些内容到新服务器。了解黑客做了什么可能对了解您不应该复制哪些内容非常有用。尽可能从受感染系统之外的可信来源重新安装。
黑客可能仍有权访问。他们可能会试图抹去证据,甚至可能采取相当具有破坏性的手段,因此请确保备份所有内容。检查所有cron
条目at
以查找后门。使用防火墙,尽可能地锁定访问权限,包括将访问权限限制在尽可能少的远程 IP 集(例如,仅允许从指定 IP 进行 ssh 访问)。如果您的主机有权访问其他任何内容,请尽可能地限制它。
最后但同样重要的一点是,考虑从更有经验的人那里获得专业帮助。
[编辑回应您的编辑]
这很可能就是你的攻击者。也可能是黑客已经控制的中间系统。这样的安排可能很复杂,很难追踪,但也有很多头脑简单的黑客。
备份完成后,请联系 jazztel.es 的管理员。域名没有 whois .es
,但我认为您想要的地址是[电子邮件保护]。他们可能会关闭这些设施,甚至可能帮助将此事提交警方处理。
[编辑其他补充]
在您的服务器可能拥有的各种特权访问中,如果您习惯将 ssh 代理连接转发到您的服务器,请立即停止。它很容易被拥有您服务器 root 访问权限的人滥用,尽管只有在您的 ssh 会话处于连接状态时才会发生这种情况。