Заметка Проверка плагинов, стилей и пр. на бэкдоры, шеллы и другие уязвимости.

SOUL

АдминкА
Администратор
Сообщения
7.056
Симпатии
10.345
Баллы
266
#1
Эту тему я хотела создать уже давненько. Вопрос "чистоты" плагинов и стилей интересует многих. Особенно, когда приходится качать нужное дополнение или стиль из сомнительного источника.

Да ещё нынче развелось много какеров, которые так и жаждут всучить свои поделки на каждом шагу, поэтому, думаю, очень актуально быть подкованной в этом вопросе. Но пока у меня опыта в нём очень мало, поэтому будем учиться и разбираться вместе, как обезопасить свой форум проверкой плагинов и стилей на всякую нечисть.

Сегодня в чате зашла речь о плагине Edit Post Date by Waindigo 1.0.3 (см. вложение), который служит для изменения даты тем/сообщений.

уязвимость.jpg

Антоха ещё давно делился с мной, что проверять можно по определённым словам Notepad'ом++

Как пример сделал гифку

[XenforoTest.ru]2.gif

А теперь о том, по каким именно словам вести поиск и на что обратить внимание, если поиск увенчался успехом.
  • eval - исполняет код PHP, содержащийся в строке. Чтобы не копипастить оставлю ссылки на познавательные статьи об этой функции:
    Код:
    http://habrahabr.ru/post/221937/ и 
    
    http://php.net/manual/ru/function.eval.php
  • base64 возможно использовать для кодирования и декодирования всякой бяки, в частности base64_decode - декодирует данные, закодированные алгоритмом MIME base64.
    Код:
    http://php.net/manual/ru/function.base64-decode.php
    , а base64_encode - кодирует данные алгоритмом MIME base64.
    Код:
    http://php.net/manual/ru/function.base64-encode.php
    Эту функцию тоже зачастую используют какеры.
  • display:none зачастую используется для сокрытия элементов. То есть с помощью значения none свойства display можно скрыть элемент, как будто его и не было. Скрытый элемент не отображается и не занимает места на странице.

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

    Есть еще одно CSS-свойство, которое используется для сокрытия элементов. Это свойство visibility со значением hidden. Оно «прячет» элемент — он становится невидимым, но занимает место на странице.
  • Ну и напоследок стоит провести поиск по http, то есть обратить внимание на все используемые ссылки и проанализировать.
Возможно, кто-то знает больше методов проверки и дополнит список.

Теперь о нашем конкретном плагине Edit Post Date by Waindigo 1.0.3 (см. вложение).

Вот, что мне удалось обнаружить при проверке:

проверка.jpg

Что касается http, то, на мой взгляд, ссылки довольно безобидные.
Что касается evel в файле upload\library\Waindigo\Listener\ControllerPreDispatch\20141226.php:
Код:
if (is_subclass_of(self::$_controller, 'XenForo_ControllerAdmin_Abstract')) {
            eval(
                '
                class Waindigo_Listener_ControllerPreDispatch_TemplatePostRender
                {
                    public static function templatePostRender($templateName, &$content, array &$containerData, XenForo_Template_Abstract $template)
                    {
                        if ($templateName == "PAGE_CONTAINER") {
                            $upgradeAddOns = Waindigo_Listener_ControllerPreDispatch::getUpgradeAddOns();
                            if (!empty($upgradeAddOns)) {
                                $params = $template->getParams();
                                if (!$params[\'showUpgradePendingNotice\']) {
                                    $pattern = \'#<noscript><p class="importantMessage">.*</p></noscript>#U\';
                                    $replacement = \'<p class="importantMessage">\' . new XenForo_Phrase(\'forum_is_currently_closed_only_admins_may_access\') . \'<br /><a href="\'.XenForo_Link::buildAdminLink(\'add-ons/upgrade-all-from-xml\').\'">\' . new XenForo_Phrase(\'upgrade_add_on\') . \'</a></p>\';
                                    $content = preg_replace($pattern, \'${1}\' . $replacement, $content);
                                }
                            }
                        }
                    }
                }');
Лично мне интуитивно кажется, что в этот раз eval не несёт в себе опасности, если я не права, надеюсь, меня поправят.


P.S. Возможно, что-то упустила, информация будет дополняться...
 

Вложения

witcherivan

Местный
Сообщения
150
Симпатии
132
Баллы
43
#2
Спасибо! Очень познавательное руководство.
Провёл поиск по http - нашёл ещё в одном месте копирайт.
Но, так как я его уже удалил из подвала то возможно и не стоит его здесь трогать.
 

Вложения

witcherivan

Местный
Сообщения
150
Симпатии
132
Баллы
43
#3
Есть небольшой нюанс в использовании данного плагина.
Не сразу понятно как добиться желаемого результата.
Расскажу в двух словах (возможно кому нибудь и пригодится):

В требуемой теме внизу первого поста (слева) есть 'чекбокс'.
ставим галку из выпадающего меню выбираем пункт
'Edit Post Date...' ('Изменить Дату Темы...')
Далее вносим изменения, подтверждаем и радуемся результату.
 

Вложения

SOUL

АдминкА
Администратор
Сообщения
7.056
Симпатии
10.345
Баллы
266
#4
Ещё для проверки своего форума рекомендуют воспользоваться сканером AI-Bolit, который умеет:
  • искать вирусы, вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам и гибким паттернам, шеллы на основе несложной эвристики - все то, что обычные антивирусы и сканеры найти не могут
  • искать уязвимые скрипты timthumb, fckeditor, uploadify, и ряд других
  • искать редиректы в .htaccess на вредоносные сайты
  • искать код ссылочных бирж, таких как sape/trustlink/linkfeed/... в .php файлах
  • определять каталоги и файлы дорвеев
  • искать пустые ссылки (невидимые ссылки) в шаблонах
  • показывать директории, открытые на запись
  • работать со всеми cms без исключения (joomla, wordpress, drupal, dle, bitrix, phpbb,...)
  • отсылать отчет по email или сохранять в файл
Здесь

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.

официальный сайт, где можно скачать этот сканер.

Так же можно посмотреть видео мануал от разработчика сканера по его эксплуатации:

Или воспользоваться подробной инструкцией на официальном сайте

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.



Ссылка

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.

на скачивание php сборки под Windows, для того, чтобы выполнить данный скрипт (чтоб под рукой была Girl_Wink789 )
 

X-Oleg

Местный
Сообщения
588
Симпатии
619
Баллы
93
#5
Если интересно рассказываю как можно проверить на шеллы, есть так называемая "Дата изменения файлов", так-вот видно что лицензия скачана 19.08.2015 14:39

upload_2015-9-23_14-45-49.png

Далее нужно просмотреть, что-бы дата всех файлов была неизменна, тогда ОЧЕНЬ большая вероятность, что плагин чистый... :)

Ну и ещё почему-то в раре не распаковывается, а в 7zip нормально... :)
 

amax

Забаненный
Сообщения
5
Симпатии
0
Баллы
1
#6
блин реально респект за такую интересную инфу на форуме, материал как я понял уникальный из первых уст, будем работать_
 

grisha2217

Проверенный
Сообщения
83
Симпатии
40
Баллы
18
#7
На первый пост можете забить, так как злоумышленники могут залить шелл в разные пути сайта и вы попросту их не найдете вручную из-за большого числа папокЮ пользуйтесь ай-болитом
Заметка - Проверка плагинов, стилей и пр. на бэкдоры, шеллы и другие уязвимости.

Но и он не всегда спасает, на ваш сайт могут залить шелл и закриптовать его таким образом, что айболит его не найдет.
 

xsacha

Разработчик
Сообщения
183
Симпатии
253
Баллы
63
#8
Кстати я встроил в плагин систему проверки на вирусы и не только Web Shell Detector, AI-BOLIT.
[News36.org]-wefewfwef.png

Но пока плагин не распространяю.
 

SOUL

АдминкА
Администратор
Сообщения
7.056
Симпатии
10.345
Баллы
266
#14

realkot

Забаненный
Сообщения
27
Симпатии
24
Баллы
3
#15
SOUL, забыли еще вариант 46esab \ edoced_46esab - встретился в одном плагине скачанном с не оч.хорошего ресурса))
 

stepmobi

Пользователь
Сообщения
11
Симпатии
3
Баллы
3
#16
Очень удобный антивирусник для сайтов

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.


Поставил его на свои основные сайты после того как на хостинге reg.ru выявил уязвимость на одном маленьком проекте.

Ставиться легко, проверяется по расписанию, есть фаервол.
 

SOUL

АдминкА
Администратор
Сообщения
7.056
Симпатии
10.345
Баллы
266
#17

stepmobi

Пользователь
Сообщения
11
Симпатии
3
Баллы
3
#18
Возможно, ошибаюсь, но у меня нет доверия к такого рода сервисам.
Я не зря привел в пример reg.ru, данный антивирусник стоит по умолчанию на любом тарифе хостинга данной компании.
Кстати забыл написать у данного

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.

есть бесплатный тестовый

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.

период 1 день. Можно просто проверить текущие файлы вашего сайта.
У меня при проверке выявил бекап базы и указал какой именно файл заражен.
 

Безимени

Пользователь
Сообщения
7
Симпатии
2
Баллы
3
#19
Прогнал релиз xenForo 1.5.10 через AI-BOLIT результат...
Nulled.png есть смысл устанавливать на хостинг?
 
Вверх Снизу