Тестування сканерів бекдорів серед плагінів для WordPress

English Ukrainian

В своїх статтях Включення бекдорів у веб додатки та Бекдори у веб додатках я розповідав про ситуацію з розповсюдження бекдорів у різноманітних веб додатках, мережевих пристроях та серверних програмах. Наводив приклади виявлених бекдорів та розповідав про інструменти для їх пошуку. А зараз я пропоную ознайомитися з проведеним мною тестуванням сканерів бекдорів.

В даному дослідженні перевірялися плагіни для WordPress, що вміють виявляти бекдори (а деякі плагіни й інший шкідливий код), такі як: WordPress Exploit Scanner (дві версії), Belavir, AntiVirus for WordPress та WordPress File Monitor. Кожен з цих плагінів може застосовуватися (з різною ефективністю) для виявлення бекдорів та інших слідів взлому сайта.

Учасники тестування.

Для тестування були вибрані 5 плагінів для WordPress, включаючи дві версії Exploit Scanner. Серед численних плагінів, які мають функціонал пошуку бекдорів, були вибрані плагіни, що сумісні з моєю системою. Зокрема були вибрані саме ці версії Exploit Scanner, тому що вони сумісні з наявними в мене версіями WP (бо остання версія плагіна 1.3.3 несумісна з жодною з них, тому що розробники з кожною версією плагіна залишають підтримку лише декількох останніх версій WP).

Перевірялися наступні версії плагінів:

Exploit Scanner 0.95
Exploit Scanner 1.0.4
Belavir 3.4.3
AntiVirus for WordPress 1.0
WordPress File Monitor 2.3.3

Перевірка сканерів проводилася на моєму Backdoored Web Application - еталонному тесті для сканерів бекдорів. Використовувалася версія BWA v.1.0. Перевірка програм відбувалася по двом критеріям:

1. Розміщення файла bwa.php на сайті (в папці uploads).
2. Включення коду BWA в header.php базової теми WordPress.

Також аналізувалися достоїнства та недоліки різних сканерів, які наведені поряд з результатами тестування. Особливості роботи сканерів можуть бути використані для їх обходу, тому розробникам потрібно покращувати своїх програми.

Результати тестування.

Ітогова оцінка сканерів:

Exploit Scanner 0.95 - 1,0
Exploit Scanner 1.0.4 - 1,5
Belavir - 3,0
AntiVirus for WordPress - 3,5
WordPress File Monitor - 4,0

Exploit Scanner 0.95:

1. Не виявило розміщення файла bwa.php.
2. Не виявило включення коду BWA в header.php.

Особливості роботи плагіна:

- окрім файлів, також сканує БД та виводить загальну інформацію.
- вміє шукати безпосередньо бекдори, а не лише перевіряти цілісність файлів.
- вміє виявляти різні типи загроз (які можна вибрати для пошуку і виведення у звіті).
- сканує лише при ручному запуску сканера.
- працює повільно порівняно з іншими плагінами.
- зовсім не виявило BWA.

Exploit Scanner 1.0.4:

1. Виявило розміщення файла bwa.php, але не через прихований функціонал, а через публічний (через виведення $_GET[’name’]). А якщо цю частину кода прибрати, залишивши основний функціонал бекдора, то сканер не виявляє його.
2. Виявило включення коду BWA в header.php, але так само через публічний функціонал. І при наявності лише основного функціоналу бекдора, сканер не виявляє його.

Особливості роботи плагіна:

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

Belavir:

1. Виявило розміщення файла bwa.php.
2. Виявило включення коду BWA в header.php.

Важливі аспеки роботи плагіна:

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

AntiVirus for WordPress:

1. Не виявило розміщення файла bwa.php.
2. Виявило включення коду BWA в header.php. При цьому він перевіряє лише файли шаблонів і при розміщенні коду бекдору в плагіні чи іншому php-файлі движка, то сканер не виявляє його.

Особливості роботи плагіна:

- сканує при ручному запуску сканера та автоматично (якщо включити щоденне сканування, але воно відбувається раз на добу).
- працює швидше за плагін Exploit Scanner.
- відправляє повідомлення по емайлу.
- вміє шукати безпосередньо бекдори, а не лише перевіряти цілісність файлів.
- виявляє зміни тільки в файлах WP і не аналізує окремі php-файли.

WordPress File Monitor:

1. Виявило розміщення файла bwa.php.
2. Виявило включення коду BWA в header.php.

Особливості роботи плагіна:

- сканує автоматично (кожні 30 хвилин по замовчуванню), також можна запустити сканер вручну.
- працює швидко порівняно з іншими плагінами.
- відправляє повідомлення по емайлу.
- можна задати корінь сайта, що дозволить перевіряти й інші директорії, якщо движок знаходиться не в корені (в налаштуваннях потрібно вказати папку починаючи з якої відбуватиметься сканування).
- вміє лише перевіряти цілісність файлів, а не шукати безпосередньо бекдори.
- виявляє зміни в файловій системі, про що повідомляє в адмінці. Тому якщо зловмисник розмістив бекдор на сайті і зайшов в адмінку, щоб на Dashboard оновити кеш плагіна, то після цього плагін нічого не повідомить. Але він вишле повідомлення по емайлу про перше виявлення бекдора.

Висновки.

Кожен зі сканерів представлених в даному тестуванні може використовуватися для виявлення бекдорів та інших слідів взлому сайта (а деякі плагіни можуть виявляти malware). Але розробникам даних програм потрібно їх покращувати. В результаті тестування найкращі результати показав плагін WordPress File Monitor, хоча Exploit Scanner та AntiVirus були більш технологічними.