|
|
|
|
|
|
|
|
|
|
Во всех версиях IP.Board включая 2.3 (на ее основе даются рекомендации) существовали уязвимости, которые позволяли хакеру взломать систему. Целью данной статьи является описание некоторых известных методик взлома и способов противостояния им.
1. Всегда поддерживайте ПО вашего сайта обновленным. Лучшая защита от взлома это установка новой версии ПО как можно скорее. В IP.Board 2.х встроена система оповещения о выходе обновлений. Если доступно новое обновление на главной странице АЦ появится уведомление об этом.
2. Если форум был взломан в первую очередь обновитесь до последней версии. Это поможет избежать повторных взломов с использованием одной и той же уязвимости.
3. После обновления запустите инструменты из центра безопасности в АЦ (АЦ → Центр безопасности). Встроенные сканер поможет отыскать возможные файлы с вредоносным кодом, которые мог оставить злоумышленник. Для этого запустите утилиту Глубокое сканирование (работа с утилитой будет описана в разделе «Поиск вредоносных скриптов»).
4. Смените пароли всем кто имеет доступ к АЦ. Во вкладке Прочее АЦ имеется группа опций Безопасность в которой есть ссылка Список администраторов, воспользуйтесь ею что бы получить список всех пользователей имеющих доступ к АЦ. Убедитесь, что к админцентру имеют доступ только указанные вами люди, удалите посторонних. Используйте только сложные пароли (более 8 символов, содержащие символы, буквы и цифры).
Эти 4 правила применимы фактически во всех случаях взломов. Наиболее важны из них обновление и смена паролей!
Начиная с версии 2.1.7 в IP.Board появился встроенный сканер, предназначен для выявления любых скриптов, которые могут быть опасны для вашего сайта (форума). Эти скрипты так же называют «Backdoor» (Бэкдор-скрипт) и «Shell» (Шелл-скрипт).
Встроенный инструмент сканирования проверяет все файлы форума и выставляет им рейтинг, величина которого зависит от ряда факторов.
Большинство бэкдор-скриптов имеют значительный размер. Использование фильтра «Размер файла 55k и более» позволяет выделить такие файлы в результатах проверки. Так же можно прибегнуть к фильтрам основанным на рейтинге, потому что существуют маленькие по размеру скрипты, которые могут содержать вредоносный код, либо являться проводниками к большим вредоносным скриптам. Обычно сочетание фильтров «Рейтинг 7 и более» и «Размер файла 55k и более» позволяют найти все потенциальные файлы, которые могут оказаться бэкдорами.
Необходимо в результатах работы сканера нажать на имя файла. Это запустит скрипт в браузере (браузер откроет новое окно). Скрипты которые являются частью системы поведут себя одним из следующих способов:
Вредоносные скрипты, такие как бэкдоры, обычно выведут какую-либо информацию на экран. Обычно эта информация содержит список файлов на Вашем сервере (аналогичный тому, что Вы видите при заходе на сервер по FTP), может содержать возможность создания нового пользователя или же получения паролей уже существующих, возможность скачать дамп базы данных и так далее.
При обнаружении подозрительного файла прежде всего стоит переименовать его, а затем убедиться что Ваш форум продолжает нормально работать. Затем, если все в порядке, данный файл следует немедленно удалить с сервера. Если Вы все же сомневаетесь в правильности своих действий, то можно попробовать скачать этот файл к себе на компьютер и проверить его каким-нибудь антивирусом (например, Symantec AntiVirus), антивирусы могут распознавать некоторые популярные бэкдор скрипты. Так же всегда можно выложить файл на форумы, а если Вы клиент, то отправить его в службу поддержки.
Проявление
Причина
Злоумышленник получив доступ в администраторскую панель, добавил iframe в стиле форума. Данный iframe загружает с удаленного сайта spyware, adware, или вирус, который затем, благодаря уязвимостям в Internet Explorer, устанавливается на компьютере посетителя форума.
Исправление
Войти в админцентр и проделать следующие шаги:
1. Перейти во вкадку "Внешний вид" (LOOK & FEEL).
2. Напротив стиля нажать кнопку опций, в появившемся меню выбрать "Изменить общий шаблон форума" ("Edit Board Header and Footer Wrapper").
3. Найти код похожий на ниже приведенный:
<iframe ...здесь еще какой-то код... </iframe>
4. Удалить найденный блок.
eval(unescape(...здесь какой-то код...))
Методика избавления от последствий взлома аналогична приведенной выше.
Так же достаточно часто появление вредоносного iframe становится следствием взлома, в результате, которого вам закачали на сервер shell-скрипт. При помощи shell-серипта злоумышленник дописывает в конец исполняемых файлов (чаще всего языковые файлы, файл conf_global.php) html код, содержащий iframe. Исправление в таком случае тоже не слишком сложное, но требует достаточного внимания и терпения. Шаги для удаления вредоносного кода в файлах следующие:
1. Скачать файлы с сервера. 2. Найти в файл в котором после ?> содержится еще какой-то код. 3. Удалить данный код из файла, предварительно скопировав его. 4. Проверить оставшиеся файлы на наличие скопированного раннего кода. 5. Повторять пункты 2-4 до тех пор пока не пропадет внедренный iframe
Для того что бы взлом не повторился необходимо проверить сервер на наличие подозрительных файлов, а именно задача найти shell-скрипт, и обновить версию форума на последнюю.
Проявление
Причина
Злоумышленнику удалось перезаписать файл конфигурации (conf_global.php). Сделать это могли или при помощи внедренного shell-скрипта или же из-за слабых настроек безопасности у хостера 1).
Исправление
Для исправления проблемы необходимо восстановить файл conf_global.php. Сделать это можно воспользовавшись шаблоном из материала Структура файла конфигурации. После того как вы создадите новый файл conf_global.php его необходимо закачать на сервер в корневую директорию форума (там где находятся файлы index.php, init.php)
Как правило в результате такого взлома злоумышленник не меняет пароли администраторам, однако все же стоит сменить пароли все имеющим доступ к админцентру. Для того что бы взлом не повторился необходимо проверить сервер на наличие подозрительных файлов, а именно задача найти shell-скрипт, и обновить версию форума на последнюю.
Проявление
Причина
Злоумышленнику удалось перезаписать индексный файл (index.php). Сделать это могли или при помощи внедренного shell-скрипта или же из-за слабых настроек безопасности у хостера.
Исправление
в качестве наилучшего метода избавления от данного взлома мы рекомендуем полное удаление старых скриптов с сервера и обновления форума до новой версии. Такой кардинальный способ, как показывает практика, является наилучшей профилактикой и лечением уязвимости.
Конечно есть и вариант с перезаливкой index.php из дистрибутива той же версии. Не пробуйте закачивать файл из дистрибутивов других версий (ранних или поздних) это может привести к неработоспособности форума. После того как вы восстановите index.php стоит сменить все пароли (как для админов, так для FTP и базы данных), а так же попытайтесь найти и удалить shell-скрипт.
Проявление
Причина
Как правило данная атака связана с получением злоумышленником администраторского пароля и внесением изменений в текущий стиль. В отличие от взлома через iframe/escape устранение последствий взлома достаточно не тривиальная задача.
Исправление
Как и в случае со взломом через iframe/escape злоумышленник мог вставить редирект (вызов popup-окна) в шаблоны и/или файлы. Наиболее простым решением в данном случае является полное удаление старых скриптов с сервера и обновления форума до новой версии - это сразу решает проблему с повторным взломом и удаляет последствия взлома.
Однако если обновление не допустимо, то можно попробовать локализовать причину:
1. Перейти во вкадку "Внешний вид" (LOOK & FEEL) в админцентре.
2. Напротив плашки "Стили" ("Skins Sets") нажать кнопку.
3. В появившейся форме ввести название нового стиля и нажать кнопку "Создать" (Go).
4. После того как новый стиль будет создан, сделать его используемым по-умолчанию.
5. Очистить cookies браузера и попробовать зайти на форум.
Если редирект остался, то проблема локализована в файлах. Если же редирект исчез, то необходимо кропотливо проверить старый стиль на предмет вредоносного кода (можно воспользоваться, например, инструментом сравнения стилей).
Для решения проблемы с файлами постпаем аналогично методу приведенному в iframe/escape:
1. Скачать файлы с сервера. 2. Найти в файл в котором после ?> содержится еще какой-то код. 3. Удалить данный код из файла, предварительно скопировав его. 4. Проверить оставшиеся файлы на наличие скопированного раннего кода. 5. Повторять пункты 2-4 до тех пор пока не пропадет внедренный iframe
Ниже будут приведены методики взломов с небольшими описаниями, чтобы администратору было понятно каким образом могут взломать его форум
Причина
В скрипте применена не достаточная проверка и обработка входных данных, которые используются в запросах к базе данных. В результате чего удаленный пользователь может скомпрометировать скрипт, подделав нужным образом входные данные.
Последствия
Как правило подобного рода уязвимости позволяют сделать два типа вещей:
Есть еще третий вариант исхода - это Deny of Service (DoS) для MySQL. К счастью не многие знают как это делать и не на всех серверах это можно сделать, да и толку от того что какое-то время MySQL будет не доступен для взломщика мало.
Как защититься
Для защиты, как правило, достаточно быть в курсе обновлений безопасности. Так как злоумышленник при атаке подобным методом получает хэш пароля (а не сам пароль), то чем сложнее («сильнее») будет пароль у администратора, тем сложнее его будет подобрать (а только таким образом пока взламывается md5 хэш). Так же к SQL-инъекциям стойки версии форума 2.2+, в которых внедрены проверки на использование сложно-составных SQL-запросов, при помощи которых злоумышленник и может изменить или получить хэш пароля.
Причина
В скрипте применена не достаточная проверка и обработка входных данных, которые динамически подставляются в HTML структуры (тэги). Как правило XSS'ом пытаются добиться нарушения стандартной (предполагаемой разработчиками) разметки, с целью внедрения в этот «разлом» вредоносного кода. Стоит заметить, что XSS это больше заслуга браузеров, которые могут интерпретировать довольно неожиданные последовательности HTML-команд, наиболее часто этим грешит Internet Explorer.
Последствия
В основном XSS используется для кражи cookies пользователей. XSS код, внедренный в разметку, вызывает скрипт с сервера злоумышленника (обычно это JavaScript, либо скрипт сниффера), который в свою очередь читает сессионные cookie пользователя.
Как защититься
Опять же все критические обновления с пометкой XSS/межсайтовая уязвимость должны быть установлены на форуме. «Сильный» пароль у администраторов. Использование администратором наиболее стойкого к XSS браузера, другими словами браузера, лучше всего поддерживающего современные стандарты. Использование версий IP.Board 2.2+ вкупе с PHP 5.2+, данная связка позволяет использовать защищенные httpOnly cookies, которые не возможно перехватить XSS атаками.
Причина
В скрипте применена не достаточная проверка и обработка входных данных, которые используются для генерации кода или при выполнении кода.
Последствия
У данного типа взлома в основном самые тяжелые последствия, потому как метод позволяет выполнять код на стороне сервера. Поэтому атаки инъекцией кода позволяют злоумышленнику
Фактически данного набора достаточно чтобы, например, удалить все файлы форума, либо закачать shell-скрипт или же внести правки в код форума дабы обойти авторизацию для админцентра.
Как защититься
Не вижу смысла говорить про установку критических заплаток – обязательно и не обсуждается, потому как предотвратить атаку внедрением кода может только разработчик приложения. В UNIX системах так же стоит грамотно расставить права на директории и файлы, максимально ограничить доступ на запись там где его быть не должно. Если на сервере используется Apache то в директориях куда могут быть загружены файлы стоит разместить .htaccess файлы с запретом исполнения серверных приложений.
Работает на DokuWiki |