Тестування сканерів бекдорів серед плагінів для WordPress
В своїх статтях Включення бекдорів у веб додатки та Бекдори у веб додатках я розповідав про ситуацію з розповсюдження бекдорів у різноманітних веб додатках, мережевих пристроях та серверних програмах. Наводив приклади виявлених бекдорів та розповідав про інструменти для їх пошуку. А зараз я пропоную ознайомитися з проведеним мною тестуванням сканерів бекдорів.
В даному дослідженні перевірялися плагіни для 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 були більш технологічними.