Усередині цього base64-коду переховувався редирект на сайт сумнівного змісту. Стало очевидно, що сайт піддався зараженню, і треба було його лікувати. Побіжний підрахунок показав, що заражені практично всі php-файли сайту - входжень такого рядка було близько 16 тисяч. Під катом кілька кроків, які я зробив для усунення цієї проблеми.
Після нетривалих пошуків був знайдений вкрай підозрілий файл post.php в каталозі / images, ось весь його вміст:
Багато з вас відразу зрозуміють, що робить цей файл - це найпростіший shell, через який можна робити практично все, що завгодно з сайтом - змінювати файлову систему, переглядати вміст бази даних і т.п. Саме за допомогою цього шелла і були внесені згадані вище включення шкідливого коду.
Знаходження цього файлу в каталозі images навело на думку, що файл був залитий за допомогою якогось компонента з функцією завантаження файлів на сервер (upload).
Звернув увагу на дату створення файлу. Піднявши логи Apache за цей період часу, я побачив там наступне:
Після цього став очевидний сценарій розвитку подій: хтось просто зайшов в адмінку, завантажив в каталог images свій shell-код, після чого став їм безперешкодно користуватися. Розпитавши власника сайту, мої побоювання підтвердилися - на той момент на адмінку сайту стояв стандартний пароль, який було неважко підібрати зловмисникам.
Я видалив файл post.php, а інші файли вилікував за допомогою такого скрипта:
Можливо, скрипт можна написати і більш лаконічно, але я вирішив діяти надійніше.
Мораль цієї байки така: оновлюйте свої CMS-движки і не використовуйте простих паролів!
Шаміль, суть в тому, що вірус після себе може залишити множинні «відбитки» на кшталт base64_decode ... Скрипт цей шукає такі відбитки і видаляє їх з цих файлів. Заражених файлів були тисячі, тому руками чистити був не варіант.
tam: ... вірус після себе може залишити множинні «відбитки» на кшталт base64_decode ... Скрипт цей шукає такі відбитки і видаляє їх з цих файлів ...
Я вас зрозумів. Чи не могли б Ви мені допомогти, підказати як цим скриптом працювати. І якщо можна більш детально, я в цьому навчається новачок. Буду вельми вдячний якщо допоможете позбутися слідів
Запускаєте цей скрипт на сервері і вуаля. Потрібно тільки поміняти значення «DQplcn ... KfQ ==» на своє.