Search
Write a publication
Pull to refresh

Wordpress как решето

Утро

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

image

Нахальство, таких мы любим. Пора поработать в свой выходной.
Захожу на сервер, начинаю расследование по взломам. Подробности под катом.

Анализ логов

Как показывает детальный анализ логов доступа, вход на сервер не происходил под каким-нибудь пользователем. Значит FTP/SSH хакерами не использовался. Анализируем логи веб-сервера, тут уже видно прямо в «лоб» — взламывали шеллом, который был в папке /wp-content/themes/1001hacker/kenel.php (а chmod зачем придумали?). Делаю кофе да побольше, смотрю общие логи. У меня настроена система — каждый сайт под отдельным пользователем стоит, а это означает что взлом был произведен не через какой-то конкретный сайт, а брался каждый сайт отдельно и производились с ним извращения. Возможно вручную, возможно скриптом.

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

Теща, ты откуда?

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

GET /


после:

POST /wp-cron.php HTTP/1.1


Вот и дырку мы нашли. Утверждать не буду, запостили в крон сброс пароля от админа, возможно иньекция. Потом Хакер уже просто успешно авторизовался. Залил «тему» 1001hacker.zip, в которой был шелл.

На чем стоит?

У всех «потерпевших» установлен Wordpress 3.1 — 3.2.1.

Подводим итог

Взлом был осуществлен путем заливки шелла, находящегося в папке тем для вордпресса, потом был изменен сам код системы. Все это следствия самой элементарной ошибки неправильной назначения прав записи файлов. Конечно холст имел другие краски у RKH, если бы не наши политики вебсервера (аве мне), и следствия для нас были бы горячее.

Крик души


Уважаемые администраторы!

Настоятельно рекомендую использовать систему исполнения скриптов сайта от имени пользователя! По возможности напоминайте о средствах безопасности, таких как:
  • огнетушители
  • ремни и подушки безопасности
  • про вождение в нетрезвом виде

… и самое главное:
  • безопасность сохранения ключевой информации(логинов и паролей)
  • этику выставления прав доступа к файлам

Это является частью нашей работы.


Уважаемые разработчики!

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

Уважаемые пользователи!

При установки скриптов на хостинг, читайте больше документации на тему «как защититься от взлома», «Chmod», никогда не надейтесь на программистов. Ежедневно делайте бекапы к себе на компьютер, даже если это делает хостер.
Берегите ключевую информацию в строжайшей секретности, купите лицензионное антивирусное ПО, регулярно обновляйте всю систему (ОС, софт, ...).

В нашем случае были права на исполнение в папке /wp-content/themes/ и самого файла wp-cron.php.

P.S.: Информация будет продублирована в моем личном блоге.
По многочисленным просьбам моей души, я отказываюсь выдавать адреса пострадавших, логи, IP хакера и прочую информацию.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.