我希望有人能帮助回答三个问题:
- 我如何知道我的服务器是否已经因 Shellshock 漏洞而受到威胁?
- 如果它被入侵了,我应该在哪个特定的文件夹中寻找恶意文件?
- 恶意文件是什么样的?
我正在运行 CentOS 6,LEMP 堆栈
答案1
我如何知道我的服务器是否已经因 Shellshock 漏洞而受到威胁?
你不知道。这就是安全漏洞的概念。如果你必须点击放饼干进去吗?确定/取消这不会造成太大的漏洞。
您可能很幸运地检查了攻击媒介的日志,但鉴于许多服务都存在漏洞,并且并非所有服务都记录了每次访问,因此可能无法最终发现攻击。
如果它被入侵了,我应该在哪个特定的文件夹中寻找恶意文件?
不,恶意文件可能存在于任何地方。
常见的 rootkit 会自行安装在/root
二进制路径之一中,但实际上它们可能位于任何地方。它们可能有一个/
名字/tmp
相似的指向真实服务或“重要”内容,例如“ IPTables
”或“ kernel-bin
”,但它们也可能是随机字符串或与真实二进制文件相同的名称(只是路径不同)。您可以发现一个非常明显的 rootkit 正在加载/etc/rc.local
或通过 建立连接netstat -neopa
。在 中查找可疑进程名称top -c
。
不太常见且更难发现的 rootkit 会替换库或将自身加载为 shim 库并拦截系统调用。除非您 strace/ltrace 系统上运行的每个程序,并将其行为与已知良好系统或源代码的预期行为进行比较,否则几乎不可能发现这种情况。
重新加载系统会更快、更容易、更有结论。
恶意文件是什么样的?
可能像任何其他常规 ELF 二进制文件或库一样。它也可能是一个脚本。
总之,如果您认为您的系统有可能已被入侵,请将系统视为已被入侵并采取必要措施。
答案2
Shellshock 不是蠕虫,因此无需查找任何文件。Shellshock 是一种攻击网络以进入的方法。一旦进入,谁知道攻击者会做什么。
答案3
我曾见过一次利用该漏洞的尝试,即安装一个 IRC 机器人/var/tmp/x
。但一般来说,没有特定的文件需要查找,因为它们可能在任何地方,也可能根本不存在。
如果您通过 Web 服务器受到攻击,那么 Web 服务器用户拥有的任何新文件或进程都会变得可疑。
如果攻击者首先利用bash
漏洞进入系统,然后利用本地漏洞root
,那么几乎不可能被发现。
另请查看类似问题。
答案4
由于 Shellshock 有几种攻击媒介,其中一些尚未为公众所知或由自定义 CGI 脚本引起,因此没有明确的方法来判断您是否受到了攻击。
除了通常的“让我们看看某些系统文件是否发生了变化或者最近是否发生了其他可疑的事情”的方法之外,您可能还需要密切关注服务器的行为。
- 网络流量是否突然增多?
- CPU/内存使用率变化很大吗?
- 是否有东西占用了磁盘空间或者导致比平常更多的 I/O?
- 是否
netstat
显示奇怪的网络连接或ps aux
显示您不认识的进程? - 您的服务器是否突然发送比以前更多的电子邮件?
如果您有适当的服务器健康监控(例如Zabbix
),它也可以帮助您找出安全漏洞。您还可以将系统文件的 MD5/SHA 总和与已知的良好备份进行比较。
基本上就当作您的服务器已被入侵并调查您能想到的一切。