Как защитить сайт от взлома

Четверг, 16 Янв 2014 20:51

пример веб-шелла WSO

Начало «Уязвимость крылась на хостинге»

На снимке: пример рабочего веб-шелла.

Ну и наконец, самое сладкое на закуску – примеры вредоносного кода, включая образцы рабочих веб-шеллов, используемых при атаке на сайты и изъятых в процессе чистки.

ВАЖНО! Оказывается, антивирус блокирует эту страницу из-за данных образцов вирусного кода. (Кроме того, из-за наличия большого количества вредоносного кода антивирусы, такие как Нод, Авира, AVP, Аваст начали блокировать профильную ветку на форуме поисковых систем серчинжинс). Это естественно, так как на ней содержится реальный код вирусов и троянов. Поэтому я вынужден был скрыть его специальным плагином, в таком случае антивирус не видит его и молчит. Вы можете открыть код, нажав на кнопки соцсетей, но в таком случае нужно будет добавить эту страницу в исключения).

Примеры самых первых вирусов, начинались на

var if8LBdg4 = document.createElement(‘iframe’);if8LBdg4.name = ‘if8LBdg4′;if8LBdg4.src =

где вместо if8LBdg4 используется любой произвольный набор цифр и латинских букв.

Вот еще примеры подобного кода, первый:

Поскольку на странице находятся примеры вирусного кода, то антивирус может блокировать данную страницу. Для отображения скрытого контента нажмите на любую кнопку.

На самом деле таких вариантов очень много, отличаются они цифрами после var – ifKiB9c, ifVcVajd, очевидно присваиваемые рандомно.

Обратите также внимание на названия доменов –

asdep.3inkjet.com

vernum.1ber.to

nulber.ddaapp.com

bazeratincomers.ru и так далее. Тот же абсолютно бессмысленный набор букв, как будто их регистрировал робот.

[original:seo-semki.ru]

Кстати, подобная проблема наблюдалась ранее у сайтов на ЦМС Джумла.

Тогда вирус создавал в корневых папках сайта public_html файлы с цифровым именем и расширением .php (например, 334455.php, 16187.php) размером 2 Кб.

Какие признаки вируса были в тот раз?

В админке Joomla при заходе в общие настройки появлялся белый экран, при этом остальные вкладки работали нормально. Либо появлялись пустые страницы во вкладках пользователи и плагины со ссылкой вида seo-semki.ru/administrator/index.php?option=com_config

Примеры такого кода:

Поскольку на странице находятся примеры вирусного кода, то антивирус может блокировать данную страницу. Для отображения скрытого контента нажмите на любую кнопку.

Скриншот кода:

скриншот вирусного вредоносного  кода

Поскольку на странице находятся примеры вирусного кода, то антивирус может блокировать данную страницу. Для отображения скрытого контента нажмите на любую кнопку.

В коде были зашифрованы названия доменов:

cnNzbmV3cy53cw== = rssnews.ws

phpfeed.ru

phpsearch.cn

Примеры кода с использованием флешек с эксплойтами внутри:

Поскольку на странице находятся примеры вирусного кода, то антивирус может блокировать данную страницу. Для отображения скрытого контента нажмите на любую кнопку.

Тут зашифрована ссылка на следующий веб-адрес:

http://xatyta.pp.ua/counter/hit/client_de5df061c99066d82cfc437f2b099455

Вот ещё похожий код со ссылкой на этот же домен, только урл уже другой: http://xatyta.pp.ua/crossdomain.xml

Поскольку на странице находятся примеры вирусного кода, то антивирус может блокировать данную страницу. Для отображения скрытого контента нажмите на любую кнопку.

Да, и ещё, бывало, что хакеры защищали свои файлы от любопытных глаз кидая в папки файл .htaccess с таким содержимым:

на движке vbulletin:

Options -MultiViews

ErrorDocument 404 //forums/game/gamedata/fishyv32/500309.php

в папке под сапу:

Options -MultiViews

ErrorDocument 404 //xxxxx.ru/7894fae2a1c4b5dc2e8cc92321s45d67f/123992.php

в папке с кешем линкфида:

Options -MultiViews

ErrorDocument 404 //хэш/1172.php

Как избежать заражения сайта?

 

И наконец, рекомендации на тему «Как избежать заражения сайта и что делать в случае, если взлом всё же произошёл?»

Первое, это, естественно, скачивать файлы и плагины только с официальных источников, например, для Вордпресс это сайт wordpress.org.

Второе – регулярно обновлять файлы движка и плагинов до новой версии. Проверять и скачивать все новые обновления безопасности (патчи), закрывающие найденные уязвимости, что особенно актуально для сообщества Dle.

Третье. Следует проверять данные, которые могут вводить пользователи. Следует также исключить возможность вставки JavaScript-ов внутри <script>, в тегах и ссылках. Нежелательно вставлять напрямую на страницах сайта теги <embed>, <iframe> и <object>, а также подгружать файлы с расширениями .pdf, .jar, .swf, так как с их помощью сайт может генерировать эти теги автоматически.

Четвёртое. Если заражение всё же произошло, ищите в файлах вредоносный код по следующим функциям и переменным:

encode64

base64_encode

passthru

shell_exec

system

phpinfo

preg_replace

fopen

fclose

readfile

chmod

mkdir

функции php — php_display($remote)

функции js — eval(function(p,a,c,k,e,d)

вставки вида document.write

переменные вида $auth_pass=

файлы с обращением к function_exists(‘file_put_contents’)

непонятный код вида x00\x00\x00\x00\x00\x00\x10\

функции загрузки внешних файлов -include(), require()

теги <iframe>

edoced_46esab (тут base64_decode используется в обратном направлении)

(обратные кавычки с командой операционной системе).

[original:seо-sеmki.ru]

Пятое. Для поиска зловредов можно использовать онлайн-сканеры различных антивирусов, многие сервисы проводят сканирование сразу несколькими антивирусами. Примеры таких ресурсов:

http://sitecheck.sucuri.net/scanner/

https://www.virustotal.com/ru/#url

http://vms.drweb.com/online

Для продвинутых юзеров можно посоветовать плагин-дополнение к популярному интернет-браузеру Mozilla FireFox, называется плагин Firebug. Смотрите вкладки Cookies и Сценарий для поиска «плохих» скриптов.

Шестое. Как проще всего найти вирусы на сайте?

  1. Сделать полный бекап сайта и скачать его к себе на локальный компьютер. Распаковать архив в отдельную папку.
  2. Проверить файлы антивирусом, желательно тем, который обнаруживает эту заразу.
  3. Зараженные файлы отредактировать, посторонние удалить. Те же самые файлы лечите/ удаляете и на сервере.

Второй вариант

  1. Сделать бекап сайта и разархивировать его на своем компьютере.
  2. Далее находите старый чистый бекап, без вирусов или если такого нет, скачиваете дистрибутив с официального сайта.
  3. Делаете сравнение файлов и каталогов специальной программой для сравнения файлов и папок (кто не знает, есть и такие, например, программа Araxis Merge или Compare Suite).

На скриншоте:

Сравнение двух файлов в программе Compare Suite. Красным выделены отсутствующие строки.

сравнение двух файлов (папок) в программе Compare Suite

Седьмое. Как избежать мобильного редиректа?

После того, как вы удалили всю нечисть с вашего сайта, вам надо заново отправить запрос на перепроверку, для этого в панели «Яндекс.Вебмастер» нажмите кнопку «Перепроверить» в разделе «Безопасность». И если при очередном обходе робот Яндекса не обнаружит признаков заражения, пометка в результатах поиска об опасности вашего сайта для посетителей будет снята. Но успокаиваться ещё рано, поскольку если вы закрыли не все уязвимости или где-то осталась дыра в безопасности, то вредоносный код снова может появиться на вашем сайте.

Соответственно, в результатах поиска ваш сайт снова будет с пометкой «Сайт может угрожать безопасности вашего компьютера или мобильного устройства». И помните, что у вас может быть и «мигающий поиск», то есть такая отметка может сначала появляться, а потом исчезать, что вызывает недоумение у многих владельцев сайтов. Но ничего удивительного здесь нет, всё это проделки вашего вируса, так как он может показываться одним пользователям и не показываться другим (сверка по юзер-агенту), может показываться посетителям только из определённых стран (например, России) и даже определенных регионов.

Кроме того хакеры очень любят прописывать в файл .htaccess мобильные редиректы, которые также проверяют user-agent браузера, и тех, кто заходит на сайт с мобильных устройств, перенаправляют на совершенно посторонние сайты, остальным же посетителям, в том числе и ботам поисковых систем, показывают настоящий контент. Так что не забывайте при малейшем подозрении проверять данный файл в первую очередь.

И наконец, выбирайте хостера правильного, проверенного годами!

И напоследок традиционный анекдот. Конечно про вирусы.smile

Какие бывают компьютерные вирусы:

Ленин — даже если компьютер полностью выключен, лампочка на мониторе всё равно горит.

Сталин — система начинает приказывать вам, а за невыполнение приказа грозит отформатировать C диск.

Хрущёв — навешивает на Рабочий стол gif-изображение ботинка, f Microsoft Word размещает на полях рисунки с кукурузой.

Брежнев — компьютер начинает дико тормозить, колонки издают невнятные шмакающие звуки.

Андропов — удаляет файлы и папки, которые, по его мнению, приносят вред всей системе.

Горбачёв — пытается ускорить работу системы, из-за чего винчестер физически разваливается на части.

Ельцин — система периодически падает, даже при незначительных нагрузках на процессор зависает.

Путин — сам по себе даже полезен, но каждые четыре года его надо переустанавливать, иначе он установит на компьютер вирус Медведев.

Медведев — переименовывает все файлы и папки, а в качестве стартовой страницы устанавливает видеоблог Медведева.

Всем удачи в Новом году и безоблачной жизни без вирусов!smile

Читать начало «Вирус Troj/JSRedir-LR и его разновидности»

UPD. Avast! всё равно блокирует данную страницу, видимо читает исходный код и на ходу придумывает новые вирусы, в данном случае указал «Заражение: JS:Iframe-DTZ [Trj]». Поскольку никакой информации по данному айфрейму в интернете нет, можно с легкостью игнорировать данное предупреждение. Но на всякий случай всё равно перенёс описание веб-шеллов на отдельную страницу.

    Подпишитесь на комментарии, чтобы не пропустить
    важный ответ:



подписка на rss RSS - подписка
    подписка twitter Twitter - подписка

Вы можете оставить отзыв или трекбек со своего сайта.

Отзывов: 7 на «Как защитить сайт от взлома»

  1. Уязвимость крылась на хостинге | SEO-semki пишет:

    16 Янв 2014 в 20:54

    […] Читать далее «Как защитить сайт от взлома» […]

  2. Андрей пишет:

    20 Янв 2014 в 18:25

    А у меня антивирус показывает что это бэкдор?

    [Ответить]

    seo Reply:

    Какой у вас антивирус? Аваст обычно показывает JS:Iframe-DJQ [Trj], JS:Iframe-DUD [Trj], JS:Iframe-DUA [Trj], ну и всякие похожие вариации.

    [Ответить]

    seo Reply:

    Хотя вот нашёл ещё информацию, что Avast может также определить данный шелл как PHP:BackDoor-CR [Trj], DrWeb как PHP.Shell.26, а Kaspersky – как Backdoor.PHP.WebShell.fe.

    [Ответить]

  3. 50cent пишет:

    21 Янв 2014 в 21:39

    Скажите, а есть бесплатные аналоги этих программ?, я имею в виду Арахис Мерже и Компар Суите. А то эти платные, а платить ох как не хочется :lol:

    [Ответить]

    seo Reply:

    Насчет бесплатных не знаю, как-то не интересовался этим вопросом. Araxis Merge точно можно найти на торрентах, там она будет бесплатной ;-) Что касается Compare Suite, это по-моему российский аналог, можете скачать пробную версию и сами посмотреть её функциональность.

    [Ответить]

  4. Под ударом магазины опенкарт (ocStore) | SEO-semki пишет:

    28 Янв 2014 в 17:15

    […] В третьей строчке тут замаскирован скрытый eval(POST[v2]), позволяющий выполнить произвольный код. Ещё один вариант бэкдора. Подробно об этом в статье «Как защитить сайт от взлома». […]

Ваш отзыв

http://seo-semki.ru/icons/wpml_bye.gif 
:bye:
http://seo-semki.ru/icons/wpml_good.gif 
:good:
http://seo-semki.ru/icons/wpml_negative.gif 
:negative:
http://seo-semki.ru/icons/wpml_scratch.gif 
:scratch:
http://seo-semki.ru/icons/wpml_wacko.gif 
:wacko:
http://seo-semki.ru/icons/wpml_yahoo.gif 
:yahoo:
http://seo-semki.ru/icons/wpml_cool.gif 
B-)
http://seo-semki.ru/icons/wpml_heart.gif 
:heart:
http://seo-semki.ru/icons/wpml_rose.gif 
:rose:
http://seo-semki.ru/icons/wpml_smile.gif 
:-)
http://seo-semki.ru/icons/wpml_whistle3.gif 
:whistle:
http://seo-semki.ru/icons/wpml_yes.gif 
:yes:
http://seo-semki.ru/icons/wpml_cry.gif 
:cry:
http://seo-semki.ru/icons/wpml_mail.gif 
:mail:
http://seo-semki.ru/icons/wpml_sad.gif 
:-(
http://seo-semki.ru/icons/wpml_unsure.gif 
:unsure:
http://seo-semki.ru/icons/wpml_wink.gif 
;-)