Сайт

Как взломать сайт на вордпресс: Ломаем и защищаем WordPress своими руками — «Хакер»

20.07.2021

Содержание

Взлом WordPress. Защита сайтов на Вордпрессе. Настройка плагина iThemes Security

По статистике 80%  сайтов на WordPress когда-либо ранее были взломаны. Около 30% сайтов на этом движке в данный момент находятся под управлением сторонних лиц. 90% владельцев сайтов не знают о взломе 3 месяца и более.

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

Сразу скажу, что я не являюсь экспертом по безопасности, все наработки только личного плана и базируются на перманентной борьбе со зловредами.

Чтобы не быть голословными, посмотрите статистику взломанных в настоящее время сайтов наиболее известных хакерских групп.

Группировка NeT.Defacer:

Группировка w4l3XzY3:

И таких бандформирований хаккеров — сотни. А есть еще и одиночки. Кроме того далеко не все хакеры гордо заявляют о взломах — в большинстве случаев они просто эксплуатируют тихонько посторонний сайт: рассылают через него спам, атакуют DDOS-ом какие — то ресурсы, перенаправляют трафик на нужные ресурсы. Некоторые ставят ссылки со сломанных сайтов на продвигаемые ресурсы. В принципе хоть майнить криптовалюту можно — благо js скрипты майнеров известны уже лет 6-7.

Чтобы не допустить подобных вакханалий, нужно хотя бы кратко знать об основных способах взлома сайтов.

Методы взлома сайтов

Всего существует 2 основных способа скомпрометировать сайт — взлом со стороны хостера и взлом непосредственно самого сайта.

Первый способ был широко распространен ранее. Лет 5-8 назад многие хостеры практически стонали, когда, используя уязвимости хостинга через один аккаунт шаред хостинга  были взломаны все сайты, размещенные на сервере и большинство аккаунтов пользователей хостинга были скомпрометированы.

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

Второй способ взлома — взламывается непосредственно сайт. Здесь взлом можно подразделить на подбор доступа к системе аутентификации (брутфорс) и на взлом сайта, используя его уязвимости.

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

Есть статистика, что только треть WordPress сайтов ломается через уязвимости движка, когда пользователи его не обновляют годами. Большинство взломов Вордпресса осуществляется через уязвимости плагинов и тем. Особое опасение вызывают плагины, размещенные в теме — они практически никогда не обновляются и служат прекрасным полигоном для получения доступа к сайту.

Еще одной особенностью, облегчающей взлом Вордпресса является установка «бесплатных» профессиональных тем и плагинов, скачанных в интернете, а не из репозитория самого Вордпресса или продающих сайтов. Некоторая часть из них уже несет в своем составе бэкдоры, либо возможности их установить. Никогда не пользуйтесь бесплатными темами из интернета.

Одним из способов взлома сайта является его «проверка» на известные уязвимости. Существуют библиотеки этих уязвимостей, которые постоянно пополняются. Потом, по этим библиотекам идет проверка сайта.

Здесь хорошо видно как по библиотеке ищутся уязвимые плагины (1), при этом атака идет со множества IP, а время атаки примерно совпадает (2).

Есть более хитрые перцы. Они проверяют сайты не на уязвимости, а на уже установленные бэкдоры и шеллы. Это взломщики — паразиты второй волны.

Здесь как раз хорошо видно как происходит поиск доступов к шелам.

Особо интересен чудак с китая (1), который скачав диск по поиску уязвимостей (а они есть в доступности), не настроив ничего, начал с одного и того же IP пробивать сайт.

Следующим вариантом взлома сайта являются всевозможные SQL инъекции. Часть из них мы будем отсеивать, при настройке плагина, установив запрет на длинные строки.

Информации по взлому именно WordPress очень много в интернете. Есть куча обучающих пособий, сборок дисков с уже установленным и настроенным софтом.

В целом, понаблюдайте за собственным сайтом и вы порадуетесь тому, сколько раз на день его хотят взломать. А наше дело — этому помешать.

Защита Worpress сайта

Мы рассмотрим способы защиты сайта с использованием плагина iThemes Security (ранее известный как Better WP Security). Сразу скажу — он не панацея. Аккурат перед Новым Годом у меня было взломано 3 сайта, где стоял и работал этот плагин. Поэтому необходим комплексный подход к защите.

Если вы уверены, что ваш сайт не взломан, то:

  1. Сделайте полный бекап сайта: и базы данных и всех его файлов и сохраните его в надежное место.
  2. Обновите пароли у всех администраторов сайта.
  3. Удалите лишних пользователей.
  4. Обновите движок Вордпресса до актуального.
  5. Сократите список активированных плагинов, удалив те, функциями которых вы не пользуетесь.
  6. Подберите аналоги к плагинам, которые перестали обновляться и перейдите на них.
  7. Удалите «платные» плагины, которые вы не покупали, а скачали с интернета.
  8. Физически удалите все неактивированные плагины.
  9. Обновите все плагины.
  10. Удалите все неиспользуемые темы
  11. Перейдите на новую тему, если вы её не покупали, а скачали из интернета, а не из репозитория WordPress.
  12. Обновите тему до актуальной.

Далее, устанавливайте плагин iThemes Security и переходите к его настройке.

Настройка плагина iThemes Security

После его установки и активации запускайте модуль «Security Check» и жмите кнопку Secure Site — будет выполнена первоначальная настройка защиты.

Далее, сразу переходим в закладку Advanced. Там пять модулей, нам необходим «Спрятать страницу входа на сайт

«.

Здесь включаем галку «Спрятать страницу входа на сайт» и ниже прописываем слуг, для входа на сайт. Например прописав «puzo1234», доступ к админке будем получать по адресу site.ru/puzo1234.

Остальное оставляем по умолчанию. Сохраняем настройки.

Этот модуль «Прячет страницу входа в систему (wp-login.php, wp-admin, admin и login), чтобы ее сложнее было найти при автоматизированной атаке на сайт». Таким образом мы немного защитились от брутфорса.

Возвращаемся к «рекомендованным» модулям. Запускаем модуль «Основные настройки«.

Здесь включаем флаг «Вносить изменения в файлы» — Allow iThemes Security to write to wp-config.php and .htaccess.»

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

Дальше спускаемся ниже и настраиваем модуль, как указано на рисунке.

Обязательно указываем свой IP адрес в белом списке блокировки, нажав кнопку «Add my current IP to the White List».

Оставляем остальное по умолчанию.

Сохраняем результаты и переходим к следующему модулю «Отслеживание ошибки 404«.

Здесь выставьте значения, как указано на рисунке ниже:

Порог ошибок (1) следует уменьшить, когда вы обнаружите, что ваш сайт пытаются взломать «перебором» уязвимости. Если вы уверены, что на вашем сайте нет 404 ошибок (провели технический аудит), то сразу снижайте порог. Чем меньше это значение, тем безопасней, но и тем больше вероятность забанить пользователя, который по непреднамеренной ошибке зашел куда-то ни туда.

Игнорирование типов файлов — это конечно брешь (2) в защите. Так, например, у меня сидел шелл зловреда в .ico файле.

Однако, если вы не делали шаблон сайта под «ретину», не настроили выдачу изображений удвоенной и утроенной плотности всем этим мобильным пользователям с яблочными телефонами и планшетами, то вы их сразу же всех перебаните (см рисунок ниже).

здесь какой- то товарищ с retina — дисплеем мобильного / планшета тщетно пытается запросить картинки удвоенной плотности (@2x.png). Но он обламывается, генерирует 404 ошибку и был бы забанен, если бы не исключения в настройках.

Далее идем в модуль «Заблокированные пользователи«. Выставляем значения следующим образом:

  1. Включаем «Черный список по умолчанию» — т.е. ставим галочку а поле  Включить черный список от сайта HackRepair.com
  2. Заполняем бан лист, собранными мною за этот месяц IP

Жмите на кнопку выше, копируйте список IP и вставляйте его в поле «Запретить доступ хостам

» модуля.

Далее вы ежедневно смотрите логи плагина и пополняйте список новыми IP, с которых вас пытаются взломать. Тут главное не перестараться и не забанить всех подряд, включая IP поисковых систем.

Отбор кандидатов на блокирование имеет следующую логику:

(1) — обращение к плагину, который у меня не установлен. Это, по всей видимости один из скомпрометированных плагинов, имеющих уязвимость. Поиск ведется перебором.

(2) Реферрер подделан — какой то site.ru

(3) Именно этот IP и добавляем в список блокировки. Нажав на него — можем посмотреть с какого прокси пришел этот запрос. Да, всякие индийские и китайские IP блокируем сразу же, всей подсетью, например прописав 67.227.*.* или, что то же-самое, прописав 67.227.0.0/16 — в аннотации CIDR.

Теперь посмотрите на (4). Здесь ищется ads.txt. Как вы знаете, это правила доступа к рекламной сети Google Adsense™‎. Поэтому данный IP мы блокировать не будем.

Переходим к модулю Local Brute Force Protection. Выставьте настройки, согласно следующего скрина:

Надеюсь, что ваш логин на вход в админку — не admin? Проверьте и поменяйте в настройках пользователя. Впрочем, дальше мы поднастроим так, чтобы входить только с e/mail. Это резко снизит эффектинвность брутфорса админки. С учетом того, что мы перенесли вход в новое место, которое не знают посторонние, брутфорс вам не особо грозит (в отличии от иных методов атаки).

Теперь подключим сетевую защиту. Для этого открываем модуль Network Brute Force Protection, получаем API, прописываем и активируем его. Этот метод защиты похож на методику определения спама Akismet — т.е. если какой то сайт пытались сломать с какого то IP, то он попадает в глобальную базу и если с этого IP попытаются получить доступ к вашему сайту, то он окажется заблокированным.

Переходим к следующему модулю «Тонкая подстройка системы«

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

Далее спускаемся чуть ниже и отключаем выполнение PHP в папке Upload. Ибо нечего там выполнять — там должны храниться изображения и/или документы, но никак не исполнимые файлы.

Переходим к последнему значимому блоку — Подстройка WordPress. Здесь включите следующие функции:

  • Ссылка для Windows Live Writer
  • Ссылка EditURI
  • Спам комментарий
  • Редактор файлов
  • XML-RPC — поставьте в положение «Отключить XML-RPC»
  • Множественные попытки авторизации запросом XML-RPC — в положение «Блокировать»
  • Сообщения при неудачной попытке входа
  • Отключает дополнительные пользовательские архивы
  • Login with Email Address or Username — в положение «e/mail address only» — теперь авторизироваться можно будет только по e/mail.

Остальные модули настраивайте по своему усмотрению.

Взлом сайта на вордпресс | Gadget-apple.ru

По статистике 80% сайтов на WordPress когда-либо ранее были взломаны. Около 30% сайтов на этом движке в данный момент находятся под управлением сторонних лиц. 90% владельцев сайтов не знают о взломе 3 месяца и более.

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

Сразу скажу, что я не являюсь экспертом по безопасности, все наработки только личного плана и базируются на перманентной борьбе со зловредами.

Чтобы не быть голословными, посмотрите статистику взломанных в настоящее время сайтов наиболее известных хакерских групп.

Группировка NeT.Defacer:

Группировка w4l3XzY3:

И таких бандформирований хаккеров — сотни. А есть еще и одиночки. Кроме того далеко не все хакеры гордо заявляют о взломах — в большинстве случаев они просто эксплуатируют тихонько посторонний сайт: рассылают через него спам, атакуют DDOS-ом какие — то ресурсы, перенаправляют трафик на нужные ресурсы. Некоторые ставят ссылки со сломанных сайтов на продвигаемые ресурсы. В принципе хоть майнить криптовалюту можно — благо js скрипты майнеров известны уже лет 6−7.

Чтобы не допустить подобных вакханалий, нужно хотя бы кратко знать об основных способах взлома сайтов.

Методы взлома сайтов

Всего существует 2 основных способа скомпрометировать сайт — взлом со стороны хостера и взлом непосредственно самого сайта.

Первый способ был широко распространен ранее. Лет 5−8 назад многие хостеры практически стонали, когда, используя уязвимости хостинга через один аккаунт шаред хостинга были взломаны все сайты, размещенные на сервере и большинство аккаунтов пользователей хостинга были скомпрометированы.

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

Второй способ взлома — взламывается непосредственно сайт. Здесь взлом можно подразделить на подбор доступа к системе аутентификации (брутфорс) и на взлом сайта, используя его уязвимости.

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

Есть статистика, что только треть WordPress сайтов ломается через уязвимости движка, когда пользователи его не обновляют годами. Большинство взломов Вордпресса осуществляется через уязвимости плагинов и тем. Особое опасение вызывают плагины, размещенные в теме — они практически никогда не обновляются и служат прекрасным полигоном для получения доступа к сайту.

Еще одной особенностью, облегчающей взлом Вордпресса является установка «бесплатных» профессиональных тем и плагинов, скачанных в интернете, а не из репозитория самого Вордпресса или продающих сайтов. Некоторая часть из них уже несет в своем составе бэкдоры, либо возможности их установить. Никогда не пользуйтесь бесплатными темами из интернета.

Одним из способов взлома сайта является его «проверка» на известные уязвимости. Существуют библиотеки этих уязвимостей, которые постоянно пополняются. Потом, по этим библиотекам идет проверка сайта.

Здесь хорошо видно как по библиотеке ищутся уязвимые плагины (1), при этом атака идет со множества IP, а время атаки примерно совпадает (2).

Есть более хитрые перцы. Они проверяют сайты не на уязвимости, а на уже установленные бэкдоры и шеллы. Это взломщики — паразиты второй волны.

Здесь как раз хорошо видно как происходит поиск доступов к шелам.

Особо интересен чудак с китая (1), который скачав диск по поиску уязвимостей (а они есть в доступности), не настроив ничего, начал с одного и того же IP пробивать сайт.

Следующим вариантом взлома сайта являются всевозможные SQL инъекции. Часть из них мы будем отсеивать, при настройке плагина, установив запрет на длинные строки.

Информации по взлому именно WordPress очень много в интернете. Есть куча обучающих пособий, сборок дисков с уже установленным и настроенным софтом.

В целом, понаблюдайте за собственным сайтом и вы порадуетесь тому, сколько раз на день его хотят взломать. А наше дело — этому помешать.

Защита Worpress сайта

Мы рассмотрим способы защиты сайта с использованием плагина iThemes Security (ранее известный как Better WP Security). Сразу скажу — он не панацея. Аккурат перед Новым Годом у меня было взломано 3 сайта, где стоял и работал этот плагин. Поэтому необходим комплексный подход к защите.

Если вы уверены, что ваш сайт не взломан, то:

  1. Сделайте полный бекап сайта: и базы данных и всех его файлов и сохраните его в надежное место.
  2. Обновите пароли у всех администраторов сайта.
  3. Удалите лишних пользователей.
  4. Обновите движок Вордпресса до актуального.
  5. Сократите список активированных плагинов, удалив те, функциями которых вы не пользуетесь.
  6. Подберите аналоги к плагинам, которые перестали обновляться и перейдите на них.
  7. Удалите «платные» плагины, которые вы не покупали, а скачали с интернета.
  8. Физически удалите все неактивированные плагины.
  9. Обновите все плагины.
  10. Удалите все неиспользуемые темы
  11. Перейдите на новую тему, если вы её не покупали, а скачали из интернета, а не из репозитория WordPress.
  12. Обновите тему до актуальной.

Далее, устанавливайте плагин iThemes Security и переходите к его настройке.

Настройка плагина iThemes Security

После его установки и активации запускайте модуль « Security Check » и жмите кнопку Secure Site — будет выполнена первоначальная настройка защиты.

Далее, сразу переходим в закладку Advanced . Там пять модулей, нам необходим « Спрятать страницу входа на сайт «.

Здесь включаем галку « Спрятать страницу входа на сайт » и ниже прописываем слуг, для входа на сайт. Например прописав «puzo1234», доступ к админке будем получать по адресу site.ru/puzo1234.

Остальное оставляем по умолчанию. Сохраняем настройки.

Этот модуль «Прячет страницу входа в систему (wp-login.php, wp-admin, admin и login), чтобы ее сложнее было найти при автоматизированной атаке на сайт». Таким образом мы немного защитились от брутфорса.

Возвращаемся к «рекомендованным» модулям. Запускаем модуль « Основные настройки «.

Здесь включаем флаг « Вносить изменения в файлы » — Allow iThemes Security to write to wp-config.php and .htaccess.»

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

Дальше спускаемся ниже и настраиваем модуль, как указано на рисунке.

Обязательно указываем свой IP адрес в белом списке блокировки, нажав кнопку «Add my current IP to the White List».

Оставляем остальное по умолчанию.

Сохраняем результаты и переходим к следующему модулю « Отслеживание ошибки 404 «.

Здесь выставьте значения, как указано на рисунке ниже:

Порог ошибок (1) следует уменьшить, когда вы обнаружите, что ваш сайт пытаются взломать «перебором» уязвимости. Если вы уверены, что на вашем сайте нет 404 ошибок (провели технический аудит), то сразу снижайте порог. Чем меньше это значение, тем безопасней, но и тем больше вероятность забанить пользователя, который по непреднамеренной ошибке зашел куда-то ни туда.

Игнорирование типов файлов — это конечно брешь (2) в защите. Так, например, у меня сидел шелл зловреда в .ico файле.

Однако, если вы не делали шаблон сайта под «ретину», не настроили выдачу изображений удвоенной и утроенной плотности всем этим мобильным пользователям с яблочными телефонами и планшетами, то вы их сразу же всех перебаните (см рисунок ниже).

здесь какой- то товарищ с retina — дисплеем мобильного / планшета тщетно пытается запросить картинки удвоенной плотности (@2x.png). Но он обламывается, генерирует 404 ошибку и был бы забанен, если бы не исключения в настройках.

Далее идем в модуль « Заблокированные пользователи «. Выставляем значения следующим образом:

  1. Включаем «Черный список по умолчанию» — т.е. ставим галочку а поле Включить черный список от сайта HackRepair.com
  2. Заполняем бан лист, собранными мною за этот месяц IP

Жмите на кнопку выше, копируйте список IP и вставляйте его в поле « Запретить доступ хостам » модуля.

Далее вы ежедневно смотрите логи плагина и пополняйте список новыми IP, с которых вас пытаются взломать. Тут главное не перестараться и не забанить всех подряд, включая IP поисковых систем.

Отбор кандидатов на блокирование имеет следующую логику:

(1) — обращение к плагину, который у меня не установлен. Это, по всей видимости один из скомпрометированных плагинов, имеющих уязвимость. Поиск ведется перебором.

(2) Реферрер подделан — какой то site.ru

(3) Именно этот IP и добавляем в список блокировки. Нажав на него — можем посмотреть с какого прокси пришел этот запрос. Да, всякие индийские и китайские IP блокируем сразу же, всей подсетью, например прописав 67.227.*.* или, что то же-самое, прописав 67.227.0.0/16 — в аннотации CIDR.

Теперь посмотрите на (4). Здесь ищется ads.txt. Как вы знаете, это правила доступа к рекламной сети Google Adsense™‎. Поэтому данный IP мы блокировать не будем.

Переходим к модулю Local Brute Force Protection . Выставьте настройки, согласно следующего скрина:

Надеюсь, что ваш логин на вход в админку — не admin? Проверьте и поменяйте в настройках пользователя. Впрочем, дальше мы поднастроим так, чтобы входить только с e/mail. Это резко снизит эффектинвность брутфорса админки. С учетом того, что мы перенесли вход в новое место, которое не знают посторонние, брутфорс вам не особо грозит (в отличии от иных методов атаки).

Теперь подключим сетевую защиту. Для этого открываем модуль Network Brute Force Protection , получаем API, прописываем и активируем его. Этот метод защиты похож на методику определения спама Akismet — т.е. если какой то сайт пытались сломать с какого то IP, то он попадает в глобальную базу и если с этого IP попытаются получить доступ к вашему сайту, то он окажется заблокированным.

Переходим к следующему модулю « Тонкая подстройка системы «

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

Далее спускаемся чуть ниже и отключаем выполнение PHP в папке Upload. Ибо нечего там выполнять — там должны храниться изображения и/или документы, но никак не исполнимые файлы.

Переходим к последнему значимому блоку — Подстройка WordPress . Здесь включите следующие функции:

  • Ссылка для Windows Live Writer
  • Ссылка EditURI
  • Спам комментарий
  • Редактор файлов
  • XML-RPC — поставьте в положение «Отключить XML-RPC»
  • Множественные попытки авторизации запросом XML-RPC — в положение «Блокировать»
  • Сообщения при неудачной попытке входа
  • Отключает дополнительные пользовательские архивы
  • Login with Email Address or Username — в положение «e/mail address only» — теперь авторизироваться можно будет только по e/mail.

Остальные модули настраивайте по своему усмотрению.

Все работы вы выполняете на свой страх и риск. Обязательно делайте бэкапы сайта.

Xakep #246. Учиться, учиться, учиться!

Сисадмин и программист Марк Монтегю (Mark Montague) из Мичиганского университета с 19-летним стажем решения проблем информационной безопасности составил очень толковую презентацию с ясным изложением информации, необходимой для взлома сайта под WordPress. Цель презентации — убедить владельцев обязательно обновляться до последней версии программного обеспечения.

По мнению Монтегю, самый простой способ начать атаку — установить дистрибутив Kali Linux с более 300 хакерскими программами, там есть всё необходимое. Из них злоумышленнику понадобятся только три:

  • WPScan: программа для поиска уязвимостей на сайтах WordPress и брутфорса паролей.
  • Metasploit: фреймворк с простым веб-интерфейсом позволяет начать атаку без особых технических знаний.
  • Weevely: «PHP web shell», который загружается на сайт и работает как бэкдор, потенциально, предоставляя полный контроль над веб-сервером.

Например, так выглядит результат работы WPScan.

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

С помощью Metasploit в WordPress создаётся новый аккаунт с правами администратора. Что делать на этом этапе? Можно просто стереть всё содержимое, но в этом мало смысла, потому что сайт восстановят из резервной копии. Скорее всего, злоумышленник предпочтёт установить бэкдор, чтобы расширить свои возможности.

Программа Weevely создаёт валидный PHP-код для размещения в основной директории WordPress, а удалённый доступ в систему осуществляется потом по адресу вроде http://***/weevely.php (разумеется, файл лучше переименовать в нечто менее заметное).

Автор презентации подробно объясняет, как разместить бэкдор в системе и что с ним делать в дальнейшем, а также описывает все необходимые меры безопасности, которые должен предпринять админ.

Говоря об экосистеме WordPress, можно предположить, что у злоумышленников есть список всех IP-адресов и всех сайтов, работающих под WordPress (с указанием версии WordPress и версий всех установленных плагинов), так что в случае обнаружения новой уязвимости очень оперативно начнётся атака по сценарию, описанному в этой презентации. А новые уязвимости для WordPress и плагинов появляются с завидным постоянством.

Содержание статьи

WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное число различных сайтов. Из-за своей распространенности эта CMS уже давно является лакомым куском для злоумышленников. К сожалению, базовые настройки не обеспечивают достаточного уровня защиты, оставляя многие дефолтные дырки незакрытыми. В этой статье мы пройдем типичным путем «типового» взлома сайта на WordPress, а также покажем как устранить выявленные уязвимости.

На сегодняшний день WordPress среди систем управления контентом популярнее всего. Его доля составляет 60,4% от общего числа сайтов, использующих CMS-движки. Из них, согласно статистике, 67,3% сайтов базируется на последней версии данного программного обеспечения. Между тем за двенадцать лет существования веб-движка в нем было обнаружено 242 уязвимости различного рода (без учета уязвимостей, найденных в сторонних плагинах и темах). А статистика сторонних дополнений выглядит еще печальней. Так, компания Revisium провела анализ 2350 русифицированных шаблонов для WordPress, взятых из различных источников. В результате они выяснили, что более половины (54%) оказались зараженными веб-шеллами, бэкдорами, blackhat seo («спам») ссылками, а также содержали скрипты с критическими уязвимостями. Поэтому устраивайся поудобней, сейчас мы будем разбираться, как провести аудит сайта на WordPress и устранить найденные недостатки. Использовать будем версию 4.1 (русифицированную).

Первым этапом любого теста обычно бывает сбор информации о цели. И тут очень часто помогает неправильная настройка индексирования сайта, которая позволяет неавторизованным пользователям просматривать содержимое отдельных разделов сайта и, например, получить информацию об установленных плагинах и темах, а также доступ к конфиденциальным данным или резервным копиям баз данных. Чтобы проверить, какие директории видны снаружи, проще всего воспользоваться Гуглом. Достаточно выполнить запрос Google Dorks типа site:example.com intitle:»index of» inurl:/wp-content/ . В операторе inurl: можно указать следующие директории:

Если сможешь просмотреть /wp-content/plugins/ , следующий шаг по сбору информации об установленных плагинах и их версиях значительно упрощается. Естественно, запретить индексирование можно с помощью файла robots.txt . Так как по умолчанию он не включен в установочный пакет WordPress, его необходимо создать самому и закинуть в корневую директорию сайта. Мануалов по созданию и работе с файлом robots.txt довольно много, поэтому оставлю эту тему для самоподготовки. Приведу лишь один из возможных вариантов:

Если в файлах, хранящихся в папке uploads , имеются сведения конфиденциального характера, добавляем к этому списку строчку: Disallow: /wp-content/uploads/ .
С другой стороны, в файле robots.txt не рекомендуется размещать ссылки на директории, которые были созданы специально для хранения чувствительной информации. Иначе этим самым ты облегчишь злоумышленнику задачу, так как это первое место, куда обычно все заглядывают в поисках «интересненького».

Еще один важный шаг — идентификация версии CMS. Иначе как подобрать подходящий сплоит? Существует три быстрых способа для определения используемой на сайте версии WordPress:

    Найти в исходном коде страницы. Она указана в метатеге generator :
  • Найти в файле readme.html (рис. 1), который входит в состав установочного пакета и находится в корне сайта. Файл может иметь и другие названия типа readme-ja.html .
  • Найти в файле ru_RU.po (рис. 2), который входит в состав установочного пакета и расположен по адресу /wp-content/languages/ :
  • Рис. 1. Версия WordPress в файле readme.html

    Хакер #196. Все о Docker

    Один из вариантов защиты в данном случае — ограничить доступ к файлам readme.html и ru_RU.po с помощью .htaccess .

    Автоматизация процесса тестирования

    Исследованием безопасности WordPress занялись не вчера, поэтому существует достаточное количество инструментов, позволяющих автоматизировать рутинные задачи.

    • определение версии и темы с помощью скрипта http-wordpress-info
    • подбор пароля по словарям
    • модуль для определения версии: auxiliary/scanner/http/wordpress_scanner ;
    • модуль для определения имени пользователя auxiliary/scanner/http/wordpress_login_enum .
    • перечисление установленных плагинов: wpscan —url www.exmple.com —enumerate p ;
    • перечисление установленных тем: wpscan —url www.exmple.com —enumerate t ;
    • перечисление установленного timthumbs: wpscan —url www.example.com —enumerate tt ;
    • определение имени пользователя: wpscan —url www.example.com —enumerate u ;
    • подбор пароля по словарю для пользователя admin: wpscan —url www.example.com —wordlist wordlist.txt —username admin ;
    • подбор пароля с использованием связки имя пользователя / пароль с числом потоков, равным 50: wpscan —url www.example.com —wordlist wordlist.txt —threads 50 .

    Теперь давай соберем информацию об установленных плагинах и темах независимо от того, активированы они или нет. Прежде всего такую информацию можно выудить из исходного кода HTML-страницы, например по JavaScript-ссылкам, из комментариев и ресурсов типа CSS, которые подгружаются на страницу. Это самый простой способ получения информации об установленных компонентах. Например, строчки ниже указывают на используемую тему twentyeleven:

    Далее, HTTP-заголовки, такие как X-Powered-By , могут указывать на наличие плагина (например, на плагин W3 Total Cache).

    Так как информация о плагинах не всегда отображается в исходном коде HTML-страницы, то обнаружить установленные компоненты можно с помощью утилиты WPScan (см. врезку). Только не забывай, что перебор путей плагинов зафиксируется в логах веб-сервера.
    Получив данные об установленных компонентах, уже можно приступать к поиску уязвимостей своими силами либо найти общедоступные эксплойты на ресурсах типа rapid7 или exploit-db.

    По умолчанию в WordPress каждому пользователю присваивается уникальный идентификатор, представленный в виде числа: example.com/?author=1 . Перебирая числа, ты и определишь имена пользователей сайта. Учетная запись администратора admin, которая создается в процессе установки WordPress, идет под номером 1, поэтому в качестве защитной меры рекомендуется ее удалить.

    Рис. 3. Ошибки при аутентификации пользователя

    Зная имя пользователя, можно попробовать подобрать пароль к панели администрирования. Форма авторизации WordPress на странице wp-login.php весьма информативна (рис. 3), особенно для злоумышленника: при вводе неправильных данных появляются подсказки о неверном имени пользователя или пароле для конкретного пользователя. Разработчикам известно о данной особенности, но ее решили оставить, так как подобные сообщения удобны для пользователей, которые могли забыть свой логин и/или пароль. Проблему подбора пароля можно решить, используя стойкий пароль, состоящий из двенадцати и более символов и включающий буквы верхнего и нижнего регистра, числа и спецсимволы. Или же, например, при помощи плагина Login LockDown.

    Security-плагины для WordPress

    • Login LockDown — ограничивает количество неудачных попыток авторизации;
    • Revisium WordPress Theme Checker — ищет типичные вредоносные фрагменты в темах WordPress;
    • Sucuri Security — проводит мониторинг и обнаружение вредоносного кода;
    • iThemes Security (бывший Better WP Security) — многофункциональный плагин для защиты WordPress;
    • BackUpWordPress — делает резервное копирование файлов и БД;
    • Google Captcha (reCAPTCHA) — устанавливает капчу при регистрации, авторизации, восстановлении паролей и в форме комментариев.

    После того как мы сбрутили пароль, ничто не мешает залить шелл на скомпрометированный веб-ресурс. Для этих целей вполне сгодится фреймворк Weevely, который позволяет генерировать шелл в обфусцированном виде, что делает его обнаружение довольно сложным. Чтобы не вызывать подозрения, полученный код можно вставить в любой файл темы (например, в index.php ) через редактор темы консоли WordPress.)]*) [OR] заблокирует ссылки, содержащие кодировку Base64. Избавиться от ссылок, содержащих тег

    НАШ САЙТ РЕКОМЕНДУЕТ:

    Метки:  

    Массовое заражение сайтов на WordPress

    Не прошло трёх месяцев с того, как мы анонсировали услугу «Сайт в безопасности», как мир облетела новость о массовом взломе сайтов.

    С начала сентября более двух миллионов сайтов на WordPress были взломаны. Злоумышленники загружают на сайты веб-шеллы, позволяющие им контролировать сайты и использовать их в своих целях. Зачем нужно взламывать сайты мы подробно рассказали в статье «Взлом сайта — вполне себе реальность».

    Проблема заключается в найденной хакерами критической уязвимости в популярном плагине File Manager. Из-за небезопасного использования разработчиками плагина открытой библиотеки elFinder, злоумышленники имеют возможность загрузить на сайт файл изображения, в котором скрыт веб-шелл. Это используется для загрузки файла, содержащего в названии слова hard, find или x (например, hardfork.php, hardfind.php и x.php), который в свою очередь используется для встраивания вредоносного кода в файлы /wp-admin/admin-ajax.php и /wp-includes/user.php. После этого хакеры имеют доступ в панель управления сайтом через отправку POST-запроса к файлу wp-file-manager/lib/php/connector.minimal.php.

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

    Рекламафии удалось предотвратить заражение большинства реализованных проектов. Не обошлось без жертв: несколько клиентских сайтов были взломаны. В течение прошедшей недели нашими специалистами проделана большая работа по очистке инфицированных ресурсов от зловредных программ: очищен и проверен программный код, восстановлен уничтоженных контент, приняты меры по снижению риска взлома в дальнейшем.

    Если вы работаете с Рекламафией — никаких мер принимать не нужно, потому что мы уже всё сделали. Вам по-умолчанию подключена услуга «Сайт в безопасности».

    Самостоятельно для защиты от хакеров необходимо срочно обновить плагин File Manager до версии 6.9 и более.

    Если ваш сайт уже взломан, также рекомендуем обратиться к специалистам. Мы тоже лечим сайты от вирусов в Калининграде и не только . Самостоятельно можете переустановить WordPress, сменить пароли администраторов и базы данных, восстановить содержание — иногда это помогает. Рекомендуем также установить плагин Wordfence Security — Firewall & Malware Scan, разработчики которого по нашим данным быстрее других среагировали на уязвимость и защитили своих пользователей от взлома.

    Взломанные сайты WordPress защищаются злоумышленниками (Мнение специалиста WordFence

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

    Брешь в безопасности была впервые обнаружена охранной фирмой Defiant, которая зафиксировала атаки на более чем 1,7 млн ​​сайтов WordPress, на которых были установлены уязвимые версии плагина File Manager. Однако за последнюю неделю количество атакованных сайтов превысило 2,6 миллиона.

    В случае эксплуатации уязвимость позволяет злоумышленникам загружать вредоносные файлы PHP и выполнять произвольный код на сайтах WordPress, которые не обновлены до последней версии File Manager.

    Разработчики плагина создали и выпустили патч для уязвимости с выпуском File Manager 6.9. К сожалению, многие владельцы сайтов еще не обновили плагин до последней версии, что сделало их сайты уязвимыми для атак.

    Защита взломанных сайтов WordPress

    Согласно новому отчету Defiant, в настоящее время многочисленные киберпреступники нацелены на сайты, на которых установлены уязвимые версии плагина File Manager. Тем не менее, инженер по обеспечению качества Wordfence Рам Галл объяснил, что двое из этих злоумышленников начали защищать взломанные сайты, сказав:

    «Мы видели доказательства того, что в этих атаках принимали участие несколько злоумышленников, в том числе незначительные усилия злоумышленника, который ранее отвечал за атаки на миллионы сайтов, но два злоумышленника были наиболее успешными в использовании уязвимых сайтов, и в настоящее время оба злоумышленники защищают паролем уязвимые копии файла connector.minimal.php ».

    Один из злоумышленников, известный под ником bajatax, – марокканский злоумышленник, известный тем, что крадет учетные данные пользователей с веб-сайтов электронной коммерции PrestaShop. После взлома сайта WordPress bajatax внедряет вредоносный код, который собирает учетные данные пользователя через Telegram, когда владелец сайта входит в систему, и эти учетные данные затем продаются лицу, предложившему наивысшую цену. Другой злоумышленник внедряет бэкдор, замаскированный под ICO-файл, в случайную папку, а также в корневой веб-сайт сайта, чтобы гарантировать, что они могут продолжить доступ к взломанному сайту.

    Defiant заметил, что оба злоумышленника используют пароли для защиты уязвимого файла connector.minimal.php на ранее зараженных сайтах. Галл предоставил дополнительную информацию о том, как эти два злоумышленника защищают взломанные сайты WordPress, сказав:

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

    Владельцы сайтов WordPress, у которых установлен плагин File Manager, должны немедленно обновить его до версии 6.9, чтобы не стать жертвой любых потенциальных атак, особенно сейчас, когда киберпреступники активизировали свои усилия.

    Источник записи: https://www.techradar.com

    Взлом сайта на WordPress. Что делать?

    В жизни каждого блоговода случаются такие волнительные моменты, когда и не знаешь, что же случилось с твоим сайтом. Просто в один прекрасный день сайт перестает работать как надо. Вот самые распространенные симптомы. 1.Исчезает ваш шаблон и вместо него появляется какой-то корявый чужой. Причем записи тоже исчезают. Вы все это переустанавливаете и изменяет через админку, но вскоре опять появляется «корявая» чужая страница на вашем домене. 2.Блог вообще не открывается, а вместо него появляется текст с указаниями директории на хосте и таким вот добавлением wp-includes/l10n.php on line 521. 3.Просто банально, вместо вашего блога появился дорвей, очень вызывающего содержания. 4.Также бывают и такие случаи, когда ваш блог вроде бы и есть, и в том же состоянии, но вот посетители куда-то ушли. Посещаемость падает по 20-30% в день, причем на других хостах все нормально. Есть еще много других признаков, но так и ли иначе вы понимаете, что с сайтом что-то не так. Тили-дилим, тилим-дилим! Поздравляем ваш сайт взломан доморощенными хакерами. Теперь кто-то перепродает ваших юзеров, и издевается над вашими постами. Первое, что надо сделать это зайти в админку хоста и поменять пароль входа и пароли баз данных. Конечно, скорей всего дырка в ВП, но лучше не рисковать. Бывает так, что если вы устанавливали какие-то ресурсы для заработка. Сапа это, или Линкфилд, то есть вероятность, что какой-нибудь админ слил часть данных. Конечно, вы можете возразить, что ресурсы серьезные и такое на них не возможно, но авторитетные люди говорят, что 80% взломов осуществляется по «наводке». То есть преступникам хотя бы надо узнать ваш порт, логин. Используя данные бота Сапы, все это можно вычислить. Подбор пароля теперь является лишь небольшой проблемой. Теперь вернемся к WordPress. Система популярная, поэтому и часто взламывается. Взлом в основном идет через плагины. Вы устанавливаете не проверенные плагины и получаете на свой сайт жука, который и передает все, что нужно своему владельцу. Старайтесь не качать плагины от всюду. Пользуйтесь проверенными ресурсам, но и это не оградит вас от проблемы. Если все уже «сломано», сайты не фурычат, то сделайте бекап. Понять какие файлы у вас изменены можно через админку хостера. Как правило взлом происходит ночью. Вы в это время, ничего с сайтом не делаете, в лучшем случае заливаете посты. Поэтому посмотрите даты изменения системных файлом вордпресс. Индексы и другие. Вы сразу увидите массовую замену и изменение этих сайтов, которая приходится на дату, когда вы серьезных обновлений не делали. Если у вас есть свежий бекап, да еще где-нибудь на почте, то выбор прост. Сносите все нафиг и устанвливайте ВП заново. Потом восстанавливайте базы данных. Сайт будет выглядеть так, как и раньше. Самое главное названия страниц сохранятся. Вот если у вас есть только хостерский бекап или вы его сделали уже после взлома, то тут немного сложнее. Но все равно поправимо. Постарайтесь перезолить измененные файлы. Вычищайте заразу по дате изменения, меняя файлы из вашей «белой» версии на домашнем компе. И еще если такой версии нет, то переустанавливайте WordPress и заливайте базу. Есть и другие способы, несколько более сложные, но требующие специальных знаний. Да, и при взломе не забудьте обратиться в техподдержку хостера, там вам дадут полезные советы, может даже помогут вычистить сайт.

    Защита от взлома сайта на WordPress | Вопросы-ответы на Wiki

    <IfModule mod_rewrite.c>
    RewriteEngine On
    # Блокировка XSS
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Блокируем выставление переменной PHP GLOBALS через URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Блокируем возможность изменять переменную _REQUEST через URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Блокировка MySQL инъекций, RFI, base64, и др.(.*)(wget|shell_exec|passthru|system|exec|popen|proc_open)(.*)$
    RewriteRule .* - [F]
    </IfModule>

    Мой WordPress сайт сканируют на наличие уязвимостей – что делать?!