惨遭黑客入侵,记一次服务器被攻击的应急行动!(8)
因此,这基本上是一种将外国 html / javascript 代码包含在该域下的方法。然而,恶意服务器向我展示了一个有趣的信息: 这可能是因为我没有使用正确的引用头,或者服务器不再为其恶意负载服务。 在一个 html 文件中,我发现:
它只是用 iframe 方法插入了 way.php 的输出。 进一步寻找 Shell 以上这些文件因为它们异常的文件名被识别后,我开始通过应用程序代码来查找更多可疑的文件。特别是,你可能希望查找在服务器上执行命令的函数,例如:
并 grep 所有这些函数的文件:
你经常看到人们只 grep*.php 文件,但这可能会遗漏很多信息,PHP 文件可以有其他扩展,当只检查 *.php 扩展时,就可能会忽略*.php5*, *.php4 或*.phps。 因此,如果条件允许,你最好能在所有文件中进行 grep,或者在任何其他文件结束时提前搜索。也可能存在带有任意扩展的恶意文件,这些文件由更常规的 PHP 文件加载,因此你也应该尝试检测这些文件。 但是,请注意,由于这些文件没有直接执行代码,因此不会检测到混淆的文件和上传的 Shell。你可能需要扩展你的搜索范围,减少一些可疑的函数。
如果你有一个粗略的想法,当攻击发生的时候,你可能也想要寻找在那个日期之后被创建或修改的文件。
根据在服务器文件上发生的常规更改,你可以很容易地以这种方式检测到更多的 Shell。 如果你已经发现了一些恶意文件,那么还可以使用检测到的文件的某些特性来寻找进一步的变体,比如,检查所有文件的字符串“404-Server!!”。 除了传统的杀毒软件扫描仪外,还有一种方法是使用基于 yara 的扫描仪,比如 OWASP 中的 Web Malware Scanner。 这些基本上是扫描文件,并以检测恶意代码的 yara 规则检查它们。为此,你需要在 git 中安装 yara、Python binding 和 Web Malware Scanner。 在我的例子中,运行 webmalewarescanner,可以在被破坏的 PHP 应用程序的源代码上产生了很多结果,我花了一些时间,但也正确地识别了三种类型的 Web Shell 中的两种。
此外,还有一些 wordpress 插件试图检测出攻击方案,比如 sucuri。我不想在已经损坏的系统上安装额外的插件,所以我没有尝试这个。 根据我的经验,在寻找 Web Shell 时,你应该始终结合不同的技术。有些文件很难识别,乍看上去合法的文件也可能有恶意的功能。你越了解被破坏的系统,就越容易检测到异常文件。 (编辑:ASP站长网) |