Як ми сайт від вірусу лікували

Як ми сайт від вірусу лікували
Один мій знайомий поскаржився, що його сайт періодично подглючівает. Варто відзначити, що сайт працював під управлінням CMS Joomla. Я став досліджувати сервер, і мою увагу зачепила ось такий рядок коду в одному з php-файлів:

Усередині цього base64-коду переховувався редирект на сайт сумнівного змісту. Стало очевидно, що сайт піддався зараженню, і треба було його лікувати. Побіжний підрахунок показав, що заражені практично всі php-файли сайту - входжень такого рядка було близько 16 тисяч. Під катом кілька кроків, які я зробив для усунення цієї проблеми.

Після нетривалих пошуків був знайдений вкрай підозрілий файл post.php в каталозі / images, ось весь його вміст:

Багато з вас відразу зрозуміють, що робить цей файл - це найпростіший shell, через який можна робити практично все, що завгодно з сайтом - змінювати файлову систему, переглядати вміст бази даних і т.п. Саме за допомогою цього шелла і були внесені згадані вище включення шкідливого коду.
Знаходження цього файлу в каталозі images навело на думку, що файл був залитий за допомогою якогось компонента з функцією завантаження файлів на сервер (upload).
Звернув увагу на дату створення файлу. Піднявши логи Apache за цей період часу, я побачив там наступне:

Після цього став очевидний сценарій розвитку подій: хтось просто зайшов в адмінку, завантажив в каталог images свій shell-код, після чого став їм безперешкодно користуватися. Розпитавши власника сайту, мої побоювання підтвердилися - на той момент на адмінку сайту стояв стандартний пароль, який було неважко підібрати зловмисникам.

Я видалив файл post.php, а інші файли вилікував за допомогою такого скрипта:

Можливо, скрипт можна написати і більш лаконічно, але я вирішив діяти надійніше.

Мораль цієї байки така: оновлюйте свої CMS-движки і не використовуйте простих паролів!

Шаміль, суть в тому, що вірус після себе може залишити множинні «відбитки» на кшталт base64_decode ... Скрипт цей шукає такі відбитки і видаляє їх з цих файлів. Заражених файлів були тисячі, тому руками чистити був не варіант.

tam: ... вірус після себе може залишити множинні «відбитки» на кшталт base64_decode ... Скрипт цей шукає такі відбитки і видаляє їх з цих файлів ...

Я вас зрозумів. Чи не могли б Ви мені допомогти, підказати як цим скриптом працювати. І якщо можна більш детально, я в цьому навчається новачок. Буду вельми вдячний якщо допоможете позбутися слідів

Запускаєте цей скрипт на сервері і вуаля. Потрібно тільки поміняти значення «DQplcn ... KfQ ==» на своє.

Схожі статті