我正在尝试构建一个可以自动检测恶意软件、后门和 rootkit 的 shell 脚本,并尝试对其进行研究。我发现了一些类似的东西
find . -name “*.js” | xargs grep -l “eval(unescape”
find . -name “*.php” | xargs grep -l “eval(base64_decode”
但我发现这些与查找 .php 和 .js 文件并尝试查看其是否包含恶意软件无关。有人能帮我给出一个我可以使用该脚本的总体思路,以便它可以完成恶意软件、后门和 rootkit 检测工作吗?更准确地说,如何在 ubuntu 系统上找到这些恶意软件、后门和 rootkit。谢谢。
答案1
您问了 3 个不同的问题...
- 根套件;
- 后门;
- 恶意软件。
Root 套件
大多数 root kit 使用内核来隐藏自己,并且只能在内核内部看到它们。
如果您想知道如何找到它们,为什么不使用开源功能并安装rkhunter
并看看它们是如何做到的?你可以在这里找到源代码。
此外,CERT 还拥有全面的解释处理 root kit 时需要注意什么。链接中的重点内容:
- 检查日志文件中是否存在来自异常位置或其他异常活动的连接
在系统各处查找 setuid 和 setgid 文件(尤其是 setuid 根文件)
find / -user root -perm -4000 -print find / -group kmem -perm -2000 -print
检查您的系统二进制文件以确保它们没有被更改。
- 检查由“cron”和“at”运行的所有文件。
- 检查未经授权的服务。
- 检查系统上的 /etc/passwd 文件并检查该文件是否有修改。
- 检查您的系统和网络配置文件是否有未经授权的条目。
- 在系统的各个位置查找不寻常或隐藏的文件(以句点开头且通常不会通过“ls”显示的文件)。
其中大部分可以通过命令行完成。
也值得一读:
后门
后门的问题在于,它们通常是被滥用的软件缺陷。基本规则...
- 收到通知后立即安装安全更新;
- 不要安装防病毒软件,因为你真的在 Linux 中不需要它;除非你与 Windows 共享文件
- 启用防火墙(sudo ufw enable),无需进一步调整;
- 尽可能遵守官方 repo,只有在绝对必要且非常谨慎的情况下才可以偏离它们;
- 在浏览器中默认禁用 Java(openJDK 和 Oracle Java),仅在需要时启用它;
- 谨慎使用 Wine;
- 最重要的是:运用你的常识。最大的安全威胁通常出现在键盘和椅子之间。
值得一读:
- 针对 BackDoor.Wirenet.1 该怎么办
- https://serverfault.com/questions/171893/how-do-you-search-for-backdoors-from-the-previous-it-person
- https://stackoverflow.com/questions/9417739/how-to-find-out-backdoor-in-php-source-code
- https://security.stackexchange.com/questions/35944/how-can-i-find-the-malicious-backdoor-codes-without-knowing-the-last-modified-da
- https://security.stackexchange.com/questions/32645/how-can-i-detect-backdoors
恶意软件
扫描/etc/hosts
奇怪的 IP 地址和主机名。如果你查看这些:
- FF 上的 Google.com 重定向恶意软件
- Ubuntu 容易受到恶意软件网站的攻击吗?
- 弹出恶意软件“openadserving.com”
- Chrome 弹出恶意软件“openadserving.com”?
/etc/hosts
原因可能是浏览器扩展或更改。
另外值得一读的是: