Close

Як виявити та видалити вірус на сайті? Алгоритм і методика роботи.

Українські сайти масово атакують зловмисники, експлуатуючи діри безпеки та вразливості різного штибу в CMS, заливаючи на них трояни, експлойти, бекдори. Одним словом “віруси”… Ця проблема має масовий характер. Увесь український фріланс забитий завданнями “Видалити вірус”, “Знайти вірус”, “Лікування вірусів на сайті” і т.д. Класичні антивірусні сканери не допомагають – вони не бачать вірусів, тому що шкідливий код вправно кодується в base64 або іншими методами обфускації. Хостинг-провайдери як правило нічого не роблять задля поліпшення безпеки, а лише перекладають вину на самих власників. Ну а власники сайтів й користувачі не завжди помічають зловмисну дію скриптів й не знають що з цим робити, адже як правило такі віруси працюють за відповідним алгоритмом і спрацьовують при певному сценарії для певної категорії відвідувачів. За останній місяць ми успішно виявили десятки веб-вірусів та полікували сайти на різних CMS, а тому хочемо поділитися загальними рекомендаціями і алгоритмом роботи.

Зміст статті

Типи веб-вірусів: приклади та методи дії

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

Найпоширеніші типи вірусів:

  • 🔴 Вірус-редирект (malware redirect) — шкідливий скрипт, який змушує браузер користувача автоматично перенаправлятися з легітимного сайту на сторонній ресурс. Це може бути фішинговий сайт, дорвей або реклама. Цей тип вірусу зазвичай інтегрується у вихідний код файлів сайту або в MySQL базу даних через вразливості й програмується за сценарієм. Наприклад, вірус може виконуватися лише за умови, що користувач переходить на сайт не по прямому посиланню, а з результатів видачі пошукової системи, або з конкретного браузера (User-Agent), пристрою (mobile/Desktop), країни (IP address). Користувачам також може присвоюватися персональні cookie, на основі яких у подальшому цей вірус буде їх відсіювати від решти та виконуватися тільки для них. Алгоритмів спрацювання може бути безліч, вірус використовує функції веб-сервера та PHP, за рахунок чого може використовувати різноманітні функції (eval, include, preg_replace) і шифруватись (base64_decode, encoded), тому недосвідченим користувачам досить важко його виявити. Власне, це і робиться задля того, щоби власник сайту нічого не підозрював. На сьогодні існує величезна кількість модифікацій та різновидів віруса-редиректора.
  • 🔴 Вірус-попап (malware popup/iframe) — шкідливий скрипт, який створює небажані спливаючі вікна (popups), які можуть на фоні сайту показувати сторонні баннери, фрейми та інші види шкідливого вмісту.
  • 🔴 Вірус-спамбот (web spambot) — шкідливий скрипт, який здійснює несанкціоновану публікацію спамного контенту з метою “Black-Hat SEO” або електронну email-розсилку.
  • 🔴 Вірус-майнер (web miner) — шкідливий скрипт, який починає використовувати ресурси сервера на якому розміщений веб-сайт, або навіть комп’ютера користувача, який переходить на нього, задля майнінгу криптовалюти, що призводить до значного уповільнення роботи і сайту, і пристрою.
  • 🔴 Вірус-завантажувач (malware downloader) — шкідливий скрипт, який призначений для завантаження та встановлення шкідливого програмного забезпечення на комп’ютері жертви, яка відкрила заражений сайт.
  • 🔴 Вірус-ботнет (botnet) — шкідливий скрипт, який інфікує веб-сервери, перетворюючи їх на частину мережі зомбі-комп’ютерів (ботнету), якими зловмисники можуть дистанційно керувати для здійснення різних шкідливих дій, наприклад DDoS-атак або розсилки спаму.
  • 🔴 Вірус-бекдор (backdoor) — шкідливий скрипт, який
  • 🔴 Вірус-шелл (shell) — шкідливий php-скрипт, який зловмисники впроваджують на сайт для отримання несанкціонованого доступу до сервера. Цей скрипт дозволяє виконувати команди на сервері через веб-інтерфейс файлового менеджера, надаючи зловмиснику повний або частковий доступ до файлової системи.
  • 🔴 Вірус-шпигун (spyware) — шкідливий скрипт, який непомітно виконується на сайті, збираючи різноманітну статистику і аналітику про відвідувачів і користувачів сайту, перехоплювати їх дані, наприклад їх IP-адреси, кукі, введені паролі та багато іншого.

Phishing WhatsApp example
Приклад вірусу-завантажувача, який пропонує відвідувачам сайту завантажити шкідливий файл.
Приклад веб-оболонки віруса-шелла WSO на зараженому сайті.

Як віруси проникають на сайт: механізми та методи зараження

  • Публічні витоки даних. Часто-густо конфіденційні дані, такі як логіни та паролі до сайтів, передаються випадковим людям незахищеними каналами комунікації (через електронну пошту, месенджери), або публікуються у відкритому доступі в інтернеті (форуми, соцмережі, дошки оголошень, дошки задач Trello, Telegram-канали і т.д.), що зумовлює подальший витік інформації у публічну площину.
  • Стандартні логіни і слабкі паролі. Використання стандартних облікових записів (напр., “admin”) і слабких паролів (напр., “qwerty”) значно полегшує злом сайту. Хакери можуть застосовувати методи автоматичного підбору даних авторизації.
  • Фішинг і соцінженерія. Зловмисники можуть обманним шляхом отримати дані для входу, видаючи себе за довірених осіб, використовуючи підроблені веб-сайти (фішинг) або застосовуючи різноманітні техніки перехоплення даних (наприклад, Man-in-the-Middle Attack, MITM).
  • Неправильна конфігурація. Неправильне технічне налаштування, неналежні права доступу, помилки в конфігурації створюють додаткові ризики й вразливості, які будуть використані зловмисниками.
  • Відсутність системи безпеки. Наприклад, відсутня фільтрація вхідних запитів, дані які поступають на сайт – не перевіряються. Форми і веб-елементи незахищені капчею. Заголовки безпеки не налаштовані, що дає зловмисникам можливість провести SQL/PHP/XSS-ін’єкції та інші атаки.
  • Бекдори. Власники сайтів часто звертаються до неперевірених спеціалістів чи компаній, які залишають шкідливий код у вихідному коді сайту з метою подальшої експлуатації.
  • Застарілі або невідомі компоненти. Плагіни, теми, модулі, програмне забезпечення, яке довгий час не оновлюється на сайті має властивість застарівати, внаслідок чого з часом з’являються вразливості, які приводять до зламу та зараження. Деякі компоненти можуть свідомо містити вірус, тому рекомендується завантажувати їх лише з перевірених офіційних джерел від авторитетних розробників.
  • Помилки конфігурації. Неправильно налаштований сайт або сервер може привести до численних прогалин у безпеці, які будуть використані зловмисниками. Регулярне адміністрування – важлива запорука безпеки будь-якого сайту.
  • Незахищений хостинг. Зазвичай, типові віртуальні shared-хостинги мають слабку архітектуру і не забезпечують повну ізоляцію клієнтів, тому віруси можуть мігрувати між сайтами, які розташовані на одному сервері (хоча й на різних акаунтах). На жаль, це стається через відсутність додаткових заходів безпеки на боці хостера. Навіть, якщо вірус видалити, то через деякий час він може з’явитися повторно. Єдине, що можна зробити у такому випадку – це перенести сайт на захищений хостинг, наприклад самотужки розгорнути приватний VPS на HETZNER.

Симптоми зараження веб-сайту вірусом

  • Поява підозрілих перенаправлень (редиректів) на сторонні ресурси сумнівної тематики.
  • Поява сторонніх облікових записів на сайті, незвичні спроби входу в адмін-панель.
  • Проблеми з входом в адмін-панель сайту, часте розлогінення.
  • Підозрілі зміни в контенті сайту, наприклад зміна зображень або тексту.
  • Поява гіперпосилань на неперевірені сайти.
  • Поява у пошуковій видачі підозрілих сторінок веб-сайту з незрозумілим спамним контентом (наприклад китайськими чи японськими літерами).
  • Поява стороннього веб-коду в різних частинах сайту.
  • Підміна контенту на деяких веб-сторінках.
  • Підозріла активність на сервері, поява нових файлів і каталогів.
  • Попередження з боку пошукових систем або хостинг-провайдера про вірус на сайті.
Офіційний лист від Google адресований власнику з повідомленням про те, що на сайті виявлені технічні проблеми і показ реклами Google Ads тимчасово призупинено.
Google Search Console malware detected
Повідомлення про вірус в панелі вебмайстра Google Search Console
Попередження браузера Google Chrome про небезпеку відвідування інфікованого сайту.

Наслідки вірусів на сайті

  • Падіння відвідуваності (трафіка) і репутації сайту, зниження позицій у пошукових системах.
  • Погіршення користувацького досвіду, втрата довіри користувачів.
  • Вилучення сторінок сайту з індексу пошукових систем.
  • Попередження про небезпеку в Google Search Console.
  • Призупинення рекламних кампаній в Google Ads.
  • Призупинення заробітку на показі реклами в Google AdSense.
  • Блокування хостингу через несанкціоновані дії на сайті (розсилка спаму, атаки на інші сайти).
  • Втрата конфіденційних даних (логінів, паролів, фінансової інформації).
  • Маніпуляція даними сайту (створення, видалення, зміна).
  • Несанкціонований доступ до сайту і сервера.
  • Знищення продуктивності і ефективності сайту.

Цілі і мета вірусів: навіщо хакери інфікують ваш сайт?

  • Крадіжка облікових даних. Шкідливе програмне забезпечення викрадає дані відвідувачів і користувачів, кукі, паролі та пересилає їх зловмисникам тощо.
  • Отримання несанкціонованого доступу. Зловмисники отримують доступ до сервера і з допомогою підвищення привілеїв використовують його ресурси для своїх цілей.
  • Монетизація трафіка. Шкідливий скрипт переспрямовує користувачів на фішингові веб-сайти і сторінки з токсичною рекламою, що приносить зловмисникам заробіток на партнерці.
  • Чорне SEO. Зловмисники розміщують зворотні посилання та спам по ключовим словам на веб-сайтах, що впливає на рейтинг та просування їх дорвеїв.
  • Конкуренція. Недобросовісні конкуренти в ніші з метою усунути з пошукової видачі свого суперника зламують та інфікують сайти.
  • Помста, покарання. Буває так, коли спеціаліст хоче звести рахунки зі своєї колишньою компанією або поквитатися із клієнтом чи замовником, які недобросовісно поступили з ним, й таким чином зламує ресурс, демонструючи акт помсти, чи то пак покарання.
  • Розвага, спостереження, самоствердження хакерів. Взламуючи вразливі ресурси та заливаючи на них різні віруси, “Gray-Hat” або “Black-Hat” хакери таким чином відточують та вдосконалюють свої навички, тренуються, розважаються, самостверджуються, аналізують і тестують різноманітні методики роботи, тактики, стратегії. Вразливі користувацькі веб-сайти для них як полігон. Вони дотримуються принципу: “Все що незахищено – буде зламано”.

Які перші дії при виявленні вірусу? Чек-ліст.

  1. Зафіксувати будь-які несанкціоновані зміни на сайті: зробити скріншоти і відеофіксацію будь-яких симптомів, шкідливихд дій, помилок, пошкоджень, редиректів, логів і т.д.
  2. За можливості тимчасово обмежити публічний доступ до сайту.
  3. Зробити комплексну резервну копію сайту: файлів і бази даних.
  4. Створити новий обліковий запис Адміністратора та вилучити інші, зв’язавши їх зміст з новим.
  5. Очистити кеш та cookie сайту. Видалити папки зберігання кешу і тимчасові файли в робочій директорії.
  6. Якщо сайт на WordPress, перевірити файли конфігурації, зокрема wp-config.php, зокрема: оновити Salt Keys, заборонити редагування файлів з адмін-панелі: define( 'DISALLOW_FILE_EDIT', true );
  7. Деактивувати усі плагіни (якщо у вас WordPress, можна просто перейменувати всю папку plugins). Перевірити вихідний код всіх компонентів. Порівняти оригінальні файли зі зміненими.
  8. Вилучити або деактивувати усі теми, крім стандартної теми по замовчуванню.
  9. Перевстановити всі компоненти: CMS-систему, (для WordPress – перевірити каталоги wp-admin, wp-includes), тему (template), плагіни.
  10. Відмовитись від використання застарілих або ламаних (nulled) компонентів.
  11. Змінити усі паролі: хостинг, адмінка, база даних, доступ до сервера по SSH/FTP/SMTP/MySQL.
  12. Вилучити неактивні або підозрілі серверні компоненти. Оновити всі службові компоненти, зокрема версію PHP (не використовувати PHP нижче 7.4).
  13. Перевірити та закрити на сервері: зайві сесії, з’єднання, процеси, завдання (cron), відкриті порти (tcp/udp).
  14. Вилучити зайві символьні лінки на сервері (symbol links): find . -type l -exec unlink {} \;
  15. Виставити коректні права доступу на усі файли і папки веб-сайту (папки – 755 або 750, файли – 644 або 640). Уникайте прав доступу – 777, які дають право кожному виконувати, завантажувати, перезаписувати файли. Прикрад автоматичного виправлення прав доступу для CMS WordPress:
    1. find /path/to/your/WordPress/install/ -type d -exec chmod 750 {} \;
    2. find /path/to/your/WordPress/install/ -type f -exec chmod 640 {} \;
    3. chmod 400 /path/to/your/WordPress/install/wp-config.php
  16. Перевести домен на CDN Cloudflare.
  17. Пернести сайт на захищений VPS-хостинг.
  18. Встановити фаєрвол на рівні сервера (CSF/UFW, IPtables, Fail2ban, Snort) і веб-додатка (для WordPress – Wordfence Security, Sucuri Security, GOTMLS, AntiVirus).

👉 Читайте також:

Інструкція як швидко знайти вірус на сайті

1. Перевірити вихідний код на розповсюджені паттерни malware, які є індикаторами шкідливих скриптів (Indicators of Compromise, IoC):

  • document.write
  • document.location
  • document.createElement
  • base64_decode
  • eval
  • add_action
  • <script
  • <iframe
  • <?php include
  • $encoded
  • preg_replace
  • gzdecode
  • fromCharCode
  • dns_get_record
  • ini_set
  • file_get_contents
  • lzw_decompress
  • gzuncompress
  • gzinflate
  • ob_start
  • str_rot13
  • auth_pass
  • shell_exec
  • passthru
  • _0x
  • <script>var o=String;eval(o.fromCharCode

Більше паттернів дивись тут.

2. Скористатися командами пошуку консолі Linux:

  • find /path-of-www -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r — ця команда виведе список останніх змінених файлів сайту.
  • find /path-of-www -type f -iname "*" -mtime -7 — пошук файлів, які були змінені за останні 7 днів.
  • find /path-of-www -cmin -60 — ця команда знайде всі файли в кореневому каталозі і його підкаталогах, чиї атрибути змінювалися протягом останніх 60 хвилин. Це може включати зміну власника файлу, прав доступу або інших метаданих.
  • find /path-of-www -mmin -60 — ця команда знайде всі файли в кореневому каталозі і його підкаталогах, вміст яких змінювався протягом останніх 60 хвилин. Це корисно для відстеження нещодавно змінених файлів.
  • find /path-of-www -amin -60 — ця команда знайде всі файли в кореневому каталозі і його підкаталогах, до яких здійснювався доступ (читання) протягом останніх 60 хвилин. Це корисно для відстеження нещодавніх доступів до файлів.
  • find ./path-of-www -name "*.php" | xargs grep "eval" --color -w — шукає всі файли всі файли php у заданому каталозі і перевіряє, чи містять вони рядок eval, підсвічуючи знайдені рядки у результатах.
  • find . -type f -exec grep -Ho '<.php.*eval[(]base64_decode[(].*=.[)][)]\;' {} \; — виконує пошук у всіх файлах у поточному каталозі та його підкаталогах, щоб знайти рядки шкідливого коду.
  • cat /www/jquery-2.1.1.min.js | grep "document.write" — знайти зазначений рядок коду у заданому файлі і вивести на екран.
  • egrep -rns --color @eval — рекурсивний пошук вмісту з шаблоном @eval у всіх файлах, починаючи з поточного каталогу і його підкаталогів.
  • grep -r "document.write" /path-of-www — пошук зазначеного коду у всіх файлах папки з виводом вмісту файлу.
  • grep -rl "document.write" /path-of-www — пошук зазначеного коду у всіх файлах папки, тільки з виводом місця розташування файлу, без вмісту файлу.
  • grep -iRs “iframe” * — пошук файлів, які містять фрейми.
  • grep -iRs “eval” * — пошук файлів, які містять функцію eval.
  • grep -iRs “file_get_contents” * — пошук файлів, які містять функцію file_get_contents.
  • grep -iRs “base64_decode” * — пошук файлів, які містять функцію шифрування коду в base64.
  • grep -iRs “var div_colors” * — пошук файлів, які містять функцію зміни кольорів.
  • grep -iRs “var _0x” * — пошук файлів, які містять зазначену функцію.
  • grep -iRs “CoreLibrariesHandler” * — пошук файлів, які містять зазначену функцію.
  • grep -iRs “pingnow” * — пошук файлів, які містять зазначений шкідливий код.
  • grep -iRs “serchbot” * — пошук файлів, які містять зазначений шкідливий код.
  • grep -iRs “km0ae9gr6m” * — пошук файлів, які містять зазначений маркер шкідливого коду.
  • grep -iRs “c3284d” * — пошук файлів, які містять зазначений маркер шкідливого коду.
  • find /path -type f -iname ‘*.jpg’ | xargs grep -i php — пошук файлів зображень, які можуть містити шкідливий код, бекдор.
  • find . -type f -name ‘*.php’ | grep -i ‘<iframe’ — пошук файлів php, які можуть містити шкідливий фрейм.
  • find . -type f -ls | grep 'Jul 28 16:11' — пошук файлів за вказаною датою і часом останньої модифікації.
  • find . -type f -name "filename.php" -exec rm -f {} \; — пошук конкретного файлу в каталогах сайту.

На замітку: Bash-скрипт для вилучення вірусів типу eval(base64_decode) з усіх php-файлів сайту:

#!/bin/bash

# Оголошення змінної virus
virus='eval(base64_decode("Quxxxxx_example="));'

# Екранування спеціальних символів для sed
safe_virus=$(printf '%s' "$virus" | sed 's/[.[\*^$/]/\\&/g')

# Пошук і заміна у PHP-файлах
find . -type f -name '*.php' -exec sed --in-place -e "s/$safe_virus//g" '{}' \;

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

3. Звернути увагу на поширені типи і назви файлів:

  • index.php, index.html
  • header.php, footer.php, install.php, update.php, wp-blog-header.php
  • .htaccess
  • wp-config.php, wp-load.php, wp-include.php, wp-settings.php, functions.php, 
  • xmlrpc.php
  • /wp-admin/, /wp-content/, /wp-includes/, /uploads/, /themes/
  • 404.php, 503.php
  • jQuery (jquery-migrate.min.js, jquery-2.1.1.min.js)
  • JavaScript (wp-emoji-release.min.js)
  • PHP (.php, .phtml, .ph*)
  • HTML (теги <iframe>, <script>, <noscript>, <head> і ін.)
  • XML
  • css.php, style.php, style.css.php
  • upd.php, info.php, profile.php, access.php, counts.php, file.php, load.php, nda.php
  • wso.php, wso2.php, r57.php, adminer.php, webadmin.php, cmd.php, php-reverse-shell.php, shell.php, phpinfo.php
  • wtf.php, wphap.php, php5.php, data.php, 1.php, p.php, satan.php
  • bak.php, image.php, test.php, code.php, dir.php, diff.php
  • .zip, .rar, .phar
  • flash, swf, java
  • .bat, .exe, .sh
  • .ico

4. Проаналізувати системні логи – події та журнали сайту/сервера:

  • access.log — логи доступу до сайті, можуть містити URL-адреси.
  • errors.log — логи помилок.
  • journalctl — журнал системних повідомлень на сервері.
  • cronjob — завдання серверного планувальника.

Читайте також: Аудит Linux-сервера очима хакера

Можна скористатися командою Linux для пошуку POST або GET запитів: cat access.log | grep POST --color

Виявлення підозрілих GET-запитів з токсичних IP-адрес до службових сторінок сайту у системних логах.

5. Протестувати завантаження сайту з різних:

6. Проаналізувати завантаження сайту з та без JavaScript. В цьому допоможуть такі розширення і аддони як: View Rendered Source, NoJS Side-by-Side, Web Developer тощо.

Виявлення проблем зі сторінкою в Google Inspection Tool
Тестування доступності сайта з допомогою Screaming Frog Spider

7. Якщо сайт на WordPress – перевірити вихідний код усіх файлів ядра, теми і плагіни. Допомогти прискорити цей процес можуть плагіни-сканери WordPress: Wordfence, GOTMLS, AntiVirus.

8. Перевірити результати пошукової видачі веб-сайту, наприклад з допомогою оператора site:example.com:

Japanese Hack
Приклад виявлення у пошуковій видачі Google заражених веб-сторінок вірусом Japanese/Chinese hack.

9. Провести аналіз HTTP-з’єднань з веб-сайтом.

Це можна зробити через панель розробника у браузері або з допомогою проксі Burp Suite:

  • проаналізувати усі з’єднання з зовнішніми ресурсами.
  • проаналізувати усі з’єднання з внутрішніми ресурсами.
  • звернути детально увагу на HTTP-заголовки і коди відповідей сервера.
  • проаналізувати GET/POST запити.
Виявлення шкідливого коду в файлі jQuery, який здійснює несанкціоноване з’єднання з шкідливим сайтом cdn34.com
Шкідливий код в jQuery
Виявлення закодованого шкідливого коду-редиректу з методом document.write у файлі бібліотеки jQuery

10. Аналіз DNS також може допомогти виявити проблеми.

Зловмисники можуть здійснювати атаки на рівні DNS-зони: DNS Spoofing, DNS Cache Poisoning, ARP Spoofing та багато інших. Важливо перевірити, щоб не було помилок у конфігурації. З цим впораються такы онлайн-сервіси як: DNS Checker, Cache Check OpenDNS та інші, а також утиліти командного рядка – dig, nslookup, host.

👉 Читайте також: Як провести мережеву розвідку і OSINT аналіз IP-адреси?

11. Здійснити пошук по MySQL базі даних:

  • пошук по слову через веб-інтерфейс PhpMyAdmin;
  • пошук по слову через перегляд дампу бази даних (наприклад, в текстових редакторах SciTE, SublimeText, Notepad++, Visual Studio);
  • позачергово перевірити вміст таблиць wp_options, wp_posts;
  • з допомогою команд UPDATE, SET та REPLACE провести заміну шкідливого коду.
Пошук шкідливого коду з функцією add_action через пошук по заданому слову в PhpMyAdmin
Виявлення шкідливого коду в таблиці бази даних через веб-інтерфейс PhpMyAdmin

Після того як вірус буде вилучено з сайту, рекомендуємо подати сайт на переіндексацію в Google. Якщо у вас було попередження від Google Ads чи Adsense, необхідно вручну підтвердити, що проблему вже вирішено. Будьте готові, що це може зайняти деякий час (від 1 дня до 1 тиждня або навіть місяця) – необхідно, щоб оновився глобальний кеш і вступила в дію переіндексація.

👉 Читайте також керівництва:

Інструменти для виявлення і аналізу вірусів

  • 🔍 Online PHP and Java Script Decoder — онлайн-сервіс для декодування шкідливого JavaScript коду;
  • 🔍 DenCode: Unicode Escaper (Decoder/Encoder) — онлайн-сервіс для декодування unicode;
  • 🔍 Base64 Decode and Encode — онлайн-сервіс для декодування та кодування даних в base64;
  • 🔍 Cybergordon — сервіс для перевірки онлайн-репутації веб-ресурсів;
  • 🔍 URLSCAN — сервіс для аналізу веб-ресурсів;
  • 🔍 Quttera — онлайн-сканер для поверхневого сканування веб-сайтів на наявність malware;
  • 🔍 Hybrid Analysis — онлайн-пісочниця для тестування і аналізу HTTP-з’єднання з ресурсами;
  • 🔍 Joe SandBox — ще одна онлайн-пісочниця;
  • 🔍 ANY RUN — онлайн-пісочниця для тестування HTTP-з’єднання з різних операційних систем;
  • 🔍 VirusTotal — онлайн-сервіс для аналізу шкідливих файлів і веб-ресурсів;
  • 🔍 Publicwww — система для пошуку сайтів по вказаному коду. З її допомогою можна знайти інші заражені сайти;
  • 🔍 Linux Malware Detect (LMD) — утиліта консолі Linux для виявлення та видалення шкідливого коду;
  • 🔍 PHP Malware Scanner — утиліта консолі Linux для виявлення шкідливого коду в файлах php;
  • 🔍PHP Malware Finder — аналізатор PHP-коду для виявлення шкідливих фрагментів та загроз;
  • 🔍 Retire.js — інструмент статичного аналізу коду JavaScript;
  • 🔍 ClamAV — антивірусне програмне забезпечення для Unix-подібних операційних систем;
  • 🔍 Yara — інструмент для ідентифікації та аналізу шкідливого програмного забезпечення (yara rules, pressidium yara rules, awesome yara rules);
  • 🔍 Immunify360 — комерційний антивірусний продукти для безпеки веб-додатків, сайтів, серверів.
  • 🔍 Bcompare — програмне забезпечення для порівняння версій: вмісту файлів, папок, тексту.
  • 🔍 Webpagetest — онлайн-сервіс для тестування з’єднання та завантаження веб-сайту;
  • 🔍 EICAR AnatiMalware Tesrfile — спеціальний файл для перевірки роботи антивірусних систем.
Приклад декодування шкідливого коду з base64.
Приклад шифрування шкідливого PHP-скрипту в Base64. Код містить умову, за якої на зараженому сайті буде виведено iframe з вмістом стороннього сайту.
Publicwww search sites
Пошук інфікованих сайтів в кіберпошуковій системі Publicwww за вказаним паттерном шкідливого коду

👉 Читайте також:

Найпоширеніші веб-віруси: перелік та характеристики

  • 🔴 Ballada Injector — небезпечний скрипт-редирект, який через вразливі плагіни проникає на WordPress-сайти і навіть може забезпечувати їх віддалене керування. Вірус вразив більше 1 мільйона сайтів і досі активно розповсюджується.
  • 🔴 Japanese/Chinese Hack — скрипт, який змінює контент сайту, вставляючи текст на японській або китайській мовах з метою “Black-Hat SEO”.
  • 🔴 Pharma Hack — скрипт який відображає спам у сніппетах сайту у пошуковій видачі. Сайт може працювати нормально, і ви не помічаєте нічого незвичайного, але якщо ввести назву свого сайту в пошуковику Google, то побачите в сніппетах текст з назвами різних фармацевтичних препаратів. Зловмисники використовують цей хак для “Black-Hat SEO” та монетизації кліків.
  • 🔴 WordPress SoakSoak Favicon Backdoor — скрипт, який замасковує шкідливий код (бекдор) у файлі favicon.ico, що відповідає за піктограму сайту. Ця дозволяє хакерам через бекдор отримати несанкціонований доступ до сайту.
  • 🔴 MosQUito — шкідливий скрипт, який робить підміну всіх мініфікованих файлів jQuery, а далі стежить за трафіком, випадково обирає деяких відвідувачів і редиректить їх на сумнівні сайти, які знаходяться під контролем зловмисників. Як правило, ці сайти наповнені рекламою, яка приносить їм прибуток.
  • 🔴 TimThumb Exploit — шкідливий скрипт, який вражає сайти на WordPress, інфікуючи службовий файл timthumb.php, що відповідає за зміну розміру зображення.
  • 🔴 Mal/IFrame — являє собою невеличкий або прихований iframe на веб-сторінці, який намагається підвантажити шкідливий вміст із віддаленого веб-сайту.
  • 🔴 WSO Shell — являє собою зловмисний php-скрипт, який створює графічну оболонку у вигляді файлового менеджера з просунутими функціями керування сервером.

Кінцеві рекомендації щодо захисту сайтів від вірусів

  • Встановити фаєрвол на сайт, наприклад WAF Wordfence для WordPress (блокуватиме підозрілі HTTP-запити, захистить від атак на рівні CMS, заборонить несанкціоноване виконання php-коду).
  • Підключити CDN Cloudflare для моніторингу і фільтрації трафіку, блокування токсичних IP-адрес і User-Agent, захисту від атак.
  • Встановити плагін безпеки Sucuri для WordPress, який заблокує виконання php-скриптів і сповіщатиме на email про усі входи на сайт, зміни в файлах і т.д.
  • Налаштувати двофакторну авторизацію для входу в систему, зокрема до адмін-панелі. Обмежити доступ до адмінки через додаткову преавторизацію htpasswd.
  • Підключити систему захисту Сaptcha. Усі форми, кнопки дії, поля для відправки даних на сайті мають бути захищені від ботів.
  • Встановити правильні права доступу до усіх файлів і папок сайту.
  • Оптимізувати файл конфігурації веб-сервера .htaccess, обмежити доступ до всіх службових каталогів сайту.
  • Отимізувати файл конфігурації WordPress wp-config.php, перенести його на рівень вище основної кореневої директорії.
  • Обмежити публічний доступ до xmlrpc.php та REST API (wp json) для WordPress.
  • Оновити усі системні компоненти, зокрема версію PHP. Старі версії містять вразливості.
  • Не використовувати протокол FTP – він є застарілим й вразливим, при з’єднанні з ним дані не шифруються. Замість нього використовуйте захищений sFTP або SSH.
  • Оновити плагіни і теми WordPress. Старі версії можуть містити бекдори і вразливості.
  • Не встановати неофіційні кастомні теми, які не мають регулярного оновлення і техпідтримки.
  • Оновити всі JS-фреймворки і jQuery бібліотеки на сайті. Старі версії містять вразливості, які призводять до XSS/SQLi.
  • Провести оптимізацію усіх файлів конфігурації WordPress: wp-config.php, functions.php. Перенести wp-config на один рівень вище. Таким чином зловмисник не зможе добратися до нього, використовуючи вразливості прав доступу. А сайт продовжить працювати, це на wordpress ніяк не повпливає.
  • Відключити можливість редагувати код з адмін-панелі WordPress. При підвищенні привілеїв зловмисник може скористатисчя цим і залити шкідливий код. Використовуйте SSH або sFTP доступ для редагування файлів.
  • Намагатись використовувати якомога менше різних сторонніх інтеграцій, аплікацій, вкраплень, плагінів на сайті, які потребують залучення додаткових розробників. Іноді краще пожертвувати функціоналом, аніж безпекою.
  • Не зберігати паролі в браузерах. Користуватись менеджерами паролів, наприклад Keepassxc. Створювати складні паролі, використовувати різні паролі для різних сервісів.
  • Регулярно оновлювати усі компоненти сайту: ядро CMS, теми, плагіни. Використовувати лише перевірені компоненти з надійних, офіційних джерел.
  • Перевіряти роботу сайту після будь-яких оновлень і технічних втручань.
  • Використовувати складні імена (не admin) і паролі (не andy56) для облікових записів, так щоб їх складно було підібрати.
  • Дотримуватись операційної безпеки на своєму робочому комп’ютері. Не переходити по фішинговим посиланнями. Не використовувати застарілий софт, операційні системи і браузери.
  • Проводити регулярне системне адміністрування та ІТ-обслуговування, а також аудит безпеки і пентест.
  • Періодично перевіряти як ваш сайт виглядає у пошукових системах.
  • Завжди перевіряти контрольні суми будь-яких скачуваних пакетів, додатків, застосунків, щоби переконатися у їх оригінальності.

👉 Читайте також:

Додаткові джерела та посилання

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію
Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!