设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

惨遭黑客入侵,记一次服务器被攻击的应急行动!(8)

发布时间:2017-10-25 06:20 所属栏目:19 来源:51CTO
导读:因此,这基本上是一种将外国 html / javascript 代码包含在该域下的方法。然而,恶意服务器向我展示了一个有趣的信息: 这可能是因为我没有使用正确的引用头,或者服务器不再为其恶意负载服务。 在一个 html 文件中

因此,这基本上是一种将外国 html / javascript 代码包含在该域下的方法。然而,恶意服务器向我展示了一个有趣的信息:

这可能是因为我没有使用正确的引用头,或者服务器不再为其恶意负载服务。

在一个 html 文件中,我发现:

<iframe src="way.php"></iframe>

它只是用 iframe 方法插入了 way.php 的输出。

进一步寻找 Shell

以上这些文件因为它们异常的文件名被识别后,我开始通过应用程序代码来查找更多可疑的文件。特别是,你可能希望查找在服务器上执行命令的函数,例如:

passthzru

exec

shell_exec

eval

system

并 grep 所有这些函数的文件:

egrep -rin "system|passthru|exec|shell_exec|eval" /var/www/vhosts/xyz/  > 

~/forensics/results_shell_grep.txt

你经常看到人们只 grep*.php 文件,但这可能会遗漏很多信息,PHP 文件可以有其他扩展,当只检查 *.php 扩展时,就可能会忽略*.php5*, *.php4 或*.phps。

因此,如果条件允许,你最好能在所有文件中进行 grep,或者在任何其他文件结束时提前搜索。也可能存在带有任意扩展的恶意文件,这些文件由更常规的 PHP 文件加载,因此你也应该尝试检测这些文件。

但是,请注意,由于这些文件没有直接执行代码,因此不会检测到混淆的文件和上传的 Shell。你可能需要扩展你的搜索范围,减少一些可疑的函数。

fputs

fwrite

fopen (especially with URLs)

chmod

socket_*

curl_*

base64_decode

gzinflate

如果你有一个粗略的想法,当攻击发生的时候,你可能也想要寻找在那个日期之后被创建或修改的文件。

find -mtime -2 /directory

根据在服务器文件上发生的常规更改,你可以很容易地以这种方式检测到更多的 Shell。

如果你已经发现了一些恶意文件,那么还可以使用检测到的文件的某些特性来寻找进一步的变体,比如,检查所有文件的字符串“404-Server!!”。

除了传统的杀毒软件扫描仪外,还有一种方法是使用基于 yara 的扫描仪,比如 OWASP 中的 Web Malware Scanner。

这些基本上是扫描文件,并以检测恶意代码的 yara 规则检查它们。为此,你需要在 git 中安装 yara、Python binding 和 Web Malware Scanner。

在我的例子中,运行 webmalewarescanner,可以在被破坏的 PHP 应用程序的源代码上产生了很多结果,我花了一些时间,但也正确地识别了三种类型的 Web Shell 中的两种。

root@DESKTOP-XXX:~# cat webmalwarescan_results.txt |grep "webshell"

[2017-08-01 09:24:56] Scan result for file /path/to/up.php : webshell iMHaPFtp 2

[...]

此外,还有一些 wordpress 插件试图检测出攻击方案,比如 sucuri。我不想在已经损坏的系统上安装额外的插件,所以我没有尝试这个。

根据我的经验,在寻找 Web Shell 时,你应该始终结合不同的技术。有些文件很难识别,乍看上去合法的文件也可能有恶意的功能。你越了解被破坏的系统,就越容易检测到异常文件。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读