Назад | Перейти на главную страницу

Как взломали мои сайты на Wordpress

У меня много сайтов WordPress, размещенных в среде общего хостинга Bluehost. Недавно, когда я искал один из сайтов в Google, он сказал: «Сайт может быть взломан».

Я получил оповещения от Google Webmaster о скрипте на одном из сайтов WP. Когда я проверил сайты, я нашел несколько ссылок в нижнем колонтитуле, в которых упоминается "myteenmovies.net" и еще один сайт. Информация Whois показала, что это были российские сайты.

Я также нашел несколько других файлов PHP со странными именами, wxwz.php,xypz.php и т.д ... Код PHP был зашифрован с помощью некоторых eval(gununcompress(base64_decode())) как это. Был еще один файл с комментарием «#Web Shell by orb».

Я понимаю, что хакер получил полный доступ к моему серверу (с помощью скрипта Webshell). Все сайты достаточно старые (около года), Wordpress 2.5. Разрешения 755. Кто-нибудь может угадать или посоветовать, как хакер загрузил файлы? Пароли FTP / SSH / Cpanel достаточно надежны. Любые другие способы?

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

Лучшая защита - всегда обновлять версию WordPress и темы / плагины.

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

Выполните grep в своих существующих блогах и поищите любые iframes или вызовы методов eval в вашем каталоге WP. Также проверьте БД. Как только все станет чистым, обновите версию WP и темы / плагины и держите их в актуальном состоянии.

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

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

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

Если у вас нет журналов с того дня, когда это произошло, вы, вероятно, не узнаете, как это произошло. Есть тонны эксплойтов против исторические версии wordpress, такие как 2.5. Вот несколько CVE, из-за которых они могли попасть:

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

Вы могли целыми днями смотреть на CVE и код эксплойта, но причина, по которой они туда попали (при условии, что это было через wordpress), заключалась в какой-то ошибке в коде. Эта ошибка, вероятно, была обнаружена несколько лет назад, широко опубликована и уже исправлена. Вероятно, в вашей установке wordpress нет ничего особенного, вероятно, она была использована каким-то автоматическим инструментом для поиска старых версий wordpress.

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

Если вы просто хотите узнать, как кто-то может использовать старую версию WordPress, просто выполните поиск http://exploit-db.com .

Пароли FTP / SSH / Cpanel довольно надежны

Вы повторно используете пароли? Совпадает ли ваш FTP-пароль с тем форумом, который вы, возможно, зарегистрировали 3 года назад, который хранил свои пароли в открытом виде и был взломан? Это еще один способ атаки.

Это действительно старый вопрос, но, поскольку я недавно имел дело с атаками того же типа, вот несколько очень простых вещей, которые вы можете сделать:

  1. Отредактируйте файл php.ini, чтобы запретить base64_decode функциональность. Найдите строку, в которой говорится disable_functions = и измените его на disable_functions = eval, base64_decode, gzinflate. Многие из этих скриптов используют эту функцию для распаковки файлов и их запуска на вашем сервере. Это как минимум остановит автоматическую распаковку файлов.
  2. Измените префикс таблицы wordpress. Вам нужно будет сделать это в своей базе данных MySql, а также в вашем config.php файл. Префикс по умолчанию - wp_ и это упрощает угадывание имен таблиц и полей для 90% блогов на WordPress. Это не серебряная пуля или что-то в этом роде, но это заставит их попытаться угадать, какие имена у вас в базе данных, что могло бы их замедлить достаточно, чтобы отказаться от попыток вставить что-то в вашу базу данных.
  3. Измените имя папки с загрузками. Wordpress предоставляет доступ для записи в эту папку через загрузчик мультимедиа, что делает это место очень простым для них для загрузки файлов PHP, содержащих сценарии оболочки, и, вероятно, вы их здесь не увидите. Они не будут отображаться в вашей медиатеке И они будут похоронены в месте, куда вы вряд ли перейдете при использовании программы FTP. Точно так же, как изменение префикса базы данных по умолчанию, если вы оставите эту папку по умолчанию, любой, кто хоть сколько-нибудь умел, сможет угадать путь к файлу в этой папке. Мы также зашли так далеко, что ограничили типы файлов, которые могут быть добавлены в эту папку, в .jpg, .gif и .png поскольку имя папки с загрузками можно легко узнать, проверив URL-адрес любого изображения в вашем блоге.
  4. Получите хороший плагин безопасности, например Wordfence. Я до сих пор очень доволен этим.
  5. Я бы не рекомендовал это делать неопытным пользователям, но еще один хороший способ сохранить в секрете пути к файлам - переместить папку с содержимым за пределы основной установки Wordpress (т.е. каталога приложения). Он будет работать аналогично виртуальному каталогу, где URL-адреса в вашем блоге не отражают буквальные пути к файлам. Таким образом, если они попытаются загрузить файлы в каталоги, указанные в вашем URL-адресе, они столкнутся с ошибками. Есть информация об изменении местоположения вашей папки с содержимым в кодексе. Вот

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

Также знайте, что если у них будет полный доступ к вашему серверу, вам придется изменить все свои учетные записи пользователей. Измените имя вашей учетной записи. Измените свои пароли. ВСЕ ваши пароли, включая базу данных, FTP ... все, что требует проверки, теперь скомпрометировано, и если они у них есть, все усиление защиты в мире ничего не значит.

Алекс, если вы не являетесь сотрудником службы безопасности на полную ставку, проведение криминалистической экспертизы подобных вещей - пустая трата вашего времени. Запуск WP 2.5, которому 3 года, просто спрашивая быть pwned.

Несколько простых правил:

  • Будьте очень консервативны в том, какие типы файлов вы разрешаете пользователям загружать на ваш сайт. Лучший выбор - «нет».
  • Сохраняйте актуальные, проверенные, удаленные резервные копии все.
  • Использовать / требовать хорошо пароли для всех учетных записей.
  • Своевременно обновляйте программное обеспечение,
  • И, если вы системный администратор, не предоставляйте никаких сервисов, которые вам не нужны (я обычно ограничиваю это портами 80/443 для Интернета и 22 для SSH).