Лікування сайту від вірусів

Буквально пару днів назад звернувся за допомогою «важкий» клієнт: при заході на сайт, Kaspersky постійно лаявся на присутність HEUR: Trojan.Script.Generic.







Лікування сайту ускладнювалося непостійністю симптомів - Kaspersky лаявся на сайт вибірково, раз через раз.
Virustotal.com при перевірці URL мовчав.

При найближчому розгляді сервер виявився чистим. Веб шелл-бекдор виявлено не було. Клієнтський ПК також був ретельно перевірений на предмет присутності вірусів типу Gumblar. В ході аудиту безпеки було з'ясовано, що точкою входу являє непропатченних версія движка Shop-Script PREMIUM.

Уразливість була закрита, виставлені розумні права на директорії, додані спеціальні .htaccess туди, де виконання php не повинно відбуватися в принципі.
Також було розгорнуто WAF (Web Application Firewall), щоб запобігти експлуатацію вразливостей, про які ми поки не знаємо (zero day).

При заході на інфікований сайт користувача перенаправляється через java script iframe на вказаний сайт, після чого на комп'ютер без відома користувача встановлювався вірус шифрувальник.

Отже, план пошуку зарази:

  • Шукаємо iframe-блок в кінці головної сторінки - нічого.
  • Шукаємо у всіх веб файлах через grep по сигнатурі «g_c0u_nter.cn» - нічого.
  • Шукаємо по сигнатурі «iframe» у всіх файлах, включаючи .php і .js - нічого.






Що ж це може бути? ...

Найімовірніше вказане ім'я домену ( «g_c0u_nter.cn») також як і «iframe» записані на сервері в обфусцірованной (закодованої) формі. Капнувши трохи глибше наше припущення підтвердилося ...

Перевіривши файли на наявність вставок «base64_decode» (base64_decode являє собою функцію PHP, яка декодує дані, попередньо закодовані способом base64; дуже часто віруси використовують цю функцію для приховування свого коду) ми знайшли те що шукали.

### приклад пошуку через командний рядок Linux
cd / var / www / your_site_dir
grep -R «base64_decode» *
###

Код, динамічно генерує перехід на g_c0u_nter.cn, був знайдений усередині core_functions / aux_pages_functions.php скрипта і виглядав ось так:

Лікування сайту від вірусів

Крім base64_decode, для приховування коду вирусописатели також люблять використовувати такі функції: gzinflate і gzuncompress.




Лікування сайту від вірусів




Лікування сайту від вірусів


Лікування сайту від вірусів

Лікування сайту від вірусів








Схожі статті