![服务器被 JavaScript 攻击](https://linux22.com/image/544370/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%A2%AB%20JavaScript%20%E6%94%BB%E5%87%BB.png)
eOHello。
我刚刚被黑了!黑客将代码注入了我服务器上的网站文件。
服务器:Debian Lenny,Apache 2.2,PHP 5.2,MySQL 5
编辑:
显然,有些人认为我的问题不够好,所以我会再试一次。如果我看起来像个菜鸟,我深表歉意。
到目前为止我做了什么:
- 使用 chkrootkit、rkhunter - 未检测到问题
- 权限为 777 的损坏 PHP 文件已成为目标,目前正在修复。
至于关于被黑服务器的其他帖子,我读了。不幸的是,它不能很好地帮助我回答这个问题:
但有一件事我需要一些帮助才能理解。我有一些文件/目录具有 755 权限,但所有者是 www-data:www-data。其中一些文件也已被盗用。我天真地认为,设置所有者和权限可以防止黑客直接上传/更改文件,但允许用户通过受密码保护的脚本(Web 根目录之外的 .htpasswd)上传文件
你知道我应该做什么吗?
答案1
如果你有兴趣分析发生了什么,你可以将服务器从网络上断开,并将驱动器卷的取证映像复制到单独的硬盘上,最好是外部硬盘。然后擦除驱动器并从已知的良好备份中恢复。
如果您没有已知良好的备份,则可以从头开始重新创建。
然后应用所有更新和安全修复。然后,您可以设置一个类似 Tripwire 的文件监控程序,它会对您的文件进行校验,并将校验文件存储在单独的磁盘上以供比较。
然后你可以试着弄清楚攻击者是如何进入的。弱密码?不必要的服务?SQL 注入?堵住漏洞。更新你的文件监视器。
设置日志记录到单独的机器,以便复制日志并进行比较以检查是否被篡改。
你一旦机器被入侵,就不能再信任它。你无法保证二进制文件没有隐藏在后台运行的东西。你需要将其脱机并从受感染前的状态恢复,并将其恢复到修复漏洞的程度,或者至少让它在受到感染时留下一条可跟踪的痕迹,但你不能如果攻击者可能已获得 root 访问权限,则信任系统中的系统二进制文件。
答案2
不幸的是,即使你设法找到了有问题的 IP 地址,也不太可能找到攻击者。攻击几乎肯定来自另一台受感染的机器。
您的机器可能已被机器上的任何开放服务入侵。首先检查已打开监听端口的服务。例如:
- FTP
- SSH
- Apache 本身
- MySQL?
检查每个服务的日志,看看是否有任何异常。
根据我的经验,绝大多数此类黑客攻击都是由以下因素促成的:
- FTP 凭证被泄露 - 通常通过具有访问权限的客户端计算机上的木马 - 无论是通过键盘记录,还是泄露密码缓存。
- 流行的 PHP 脚本的旧版本不安全,再加上网站用户环境的文件权限松散。
答案3
我是 AIDE 的粉丝,但不幸的是,它事后并没有什么帮助。
Apache error.logs 是一个很好的起点。