THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

AI-Bolit - ефективний сканер вірусів та іншого шкідливого коду на хостингу

Нас часто запитують - у чому унікальність сканера AI-Bolit? Чим він відрізняється від інших аналогічних інструментів пошуку вредносного коду, таких як maldet, clamav або навіть десктопних антивірусів? Коротка відповідь - він краще детектирует шкідливий код, написаний на PHP і Perl. Чому? Відповідь нижче.

З кожним днем \u200b\u200bшкідливий код (хакерські веб-шелли, бекдори і т.п.) стають більш витонченими і складними. Крім обфускація ідентифікаторів і шифрування коду

повсюдно почали використовуватися неявні виклики функцій за допомогою методів з callable аргументами, handler "ов і непрямих викликів функцій.

Все менше залишається шкідливих скриптів з лінійною структурою і фіксованими ідентифікаторами. Код намагаються замаскувати і зробити якомога більше мінливим, "поліморфним"

або навпаки, зробити максимально простим і схожим на звичайний скрипт.

Часом, аналізуючи шкідливий скрипт, неможливо виділити фіксований фрагмент, по якому однозначно можна було б ідентифікувати "шкідливий". Очевидно, що подібний шкідливий код неможливо знайти за простою базі сигнатур (антивірусній базі), яка використовується в переважній більшості веб-антивірусів і сканерів на хостингу. Для ефективного пошуку сучасних "шкідливий" необхідно використовувати більш складні методики визначення вірусних патернів, а в деяких випадках - евристику. Саме такий підхід ми застосовуємо в сканері шкідливого коду AI-BOLIT.
Використання великої бази постійно удосконалюються гнучких патернів на основі регулярних виразів, застосування додаткового евристичного аналізу, виробленого на основі сканування великої кількості заражених сайтів, дозволило зробити сканер AI-Bolit найефективнішим і активно використовуваним інструментом адміністратора і веб-розробника.

Широку популярність AI-Bolit отримав також завдяки простому інтерфейсу і можливості вільного використання в некомерційних цілях. Будь вебмастер може абсолютно безкоштовно скачати AI-Bolit з офіційного сайту http://revisium.com/ai/ і перевірити свій ресурс на наявність хакерські Шелл, бекдор, дорвеев, вірусів, спам-розсильників, прихованих посилань і інших шкідливих фрагментів і вставок. Сканер також активно використовується і комерційними компаніями - веб-студіями, хостинг-компаніями та інтернет-агентствами для перевірки і лікування клієнтських сайтів. Хостери інтегрують AI-Bolit в панель управління, веб-розробники використовують його для пошуку шкідливого коду і в власних сервісах моніторингу сайтів.

Нижче наведемо лише невеликий список можливостей сканера Ai-Bolit:

  • запуск з консолі і браузера
  • три режими сканування ( "простий", "експерт", "параноїдальний") і два режими роботи ( "експрес" і "повне сканування")
  • пошук хакерських php і perl скриптів (Шелл, бекдор), вірусних вставок, дорвеев, спам-розсильників, скриптів з продажу посилань, скриптів клоакинга і інших типів шкідливих скриптів. Пошук по шаблонах і регулярними виразами, а також використання евристик для визначення потенційно-шкідливого коду
  • пошук сигнатур в зашифрованих, фрагментованих текстових блоках і закодованих hex / oct / dec послідовності
  • пошук підозрілих файлів з конструкціями, які застосовуються у шкідливих скриптах
  • пошук прихованих посилань в файлах
  • пошук символічних посилань
  • пошук коду пошукових і мобільних редиректів і багато іншого.
До речі, на Ai-Bolit отримано авторське свідоцтво в Роспатент. А ще сканер активно висвітлюється на сторонніх сайтах, в профільних журналах, на конференціях і вебінарах.

Офіційна сторінка скрипта

Є проблемна ситація - сайт з вірусами.

Зараз я покажу як цей вірус знайти легко і знищити. Насамперед потрібно завантажити сайт на локаль - адже так набагато простіше перевіряти масив файлів.

Цей текст з опису відео, тому він трохи сумбурний і сумний. Втім і решта моя писанина)

Завантажувати будемо файлзіллой. Завантажувати я буду відразу на встановлений локальний сервер - Open Server - що б була можливість запустити локально, раптом знадобиться.

Якщо у вас встановлений антивірус, які перевіряє файли на льоту - є шанс що ви виявите в якихось файлах віруси ще при скачуванні. Дивіться в логах мого антивіруса.

У моєму випадку мій Microsoft Security нічого не показав - вірус виявився йому невідомий.

Для пошуку я буду використовувати спеціальний антивірус - Айболить. Сайт розробника http://revisium.com/ai/
Раджу зайти, подивитися семінар. Файли ще викачуються, це надовго. У мене вже є готова локальна копія, я вчора грався з антивірусом цим.

Отже, для роботи нам ще знадобиться php для windows. Завантажувати тут http://windows.php.net/download/ останню версію для виндовс в zip архіві. Розпакуйте десь, де вам було б зручно.

Окей. Підготовка закінчилася. Тепер до роботи.

Завантажуємо архів з Айболита.

Усередині три папки:

  • ai-bolit - власне саме ядро \u200b\u200bантивіруса
  • known_files - версії антивірусних баз файлів для різних движків
  • tools - допоміжна утиліта.

Отже, приступаємо до лікування сайту від вірусів

  1. Копіюємо з папки ai-bolit всі файли в корінь сайту
  2. Якщо ми знаємо який у нас движок - вибираємо в папці known_files папку з нашої CMS і закидаємо в корінь все файли. У моєму випадку движок WordPress, потмоу будемо лікувати від вірусів антивірусними базами для WordPress. Якщо хочете вобще все перевірити - можете антивірусні бази залити від всіх двигунів - авось знайде щось більше)
  3. Знову забув - потрібно в настройках Айболита вказати експертний режим роботи. Для цього текстовим редактором відкриваємо файл ai-bolit.php і знаходимо там рядок define ( 'AI_EXPERT', 0); міняємо "0" на "1" і все - експертний режим включений.
  4. Тепер - потрібно розпакувати наш zip архів c php в якусь папку, де з ним було б зручно працювати. Нам знадобиться файлик - php.exe
  5. Тепер потрібно запустити виконуваний файл нашого антивіруса. Для цього два рази кликнемо по ai-bolit.php. У мене вже готовий вибір ніж виконувати цей скрипт.

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

І ще нагадую - віруси скоріш за все у вас в усіх пунктах аккаунту на хостингу (дуже рідко вони примудряються стрибати між акаунтами різних користувачів, тільки в тмо разі якщо адмін хоостінга Криворук.)

Якщо на сайті з якоїсь причини буде видалений Айболить - скачати антивірус для сайту завжди можна у мене

Віруси це сумно (

PS: дві статті як чистити вже знайдені віруси:

  • Простіше - Як самостійно безкоштовно видалити вірус з сайту
  • Для просунутих -

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

У цій статті розглянемо один корисний PHP скрипт AI Bolit який дозволяє знайти віруси на хостингу щоб позбутися від різного шкідливого коду. Рішення повністю безкоштовне і не складне в роботі.

У даного скрипта є 3 варіанти релізів:

  • AI Bolit під Windows - дозволяє провести аналіз сайт локально, попередньо скачавши його на комп'ютер.
  • Класичний варіант для перевірки хостингу на віруси (підійде також для Unix і Mac OS X).
  • Новий веб-сканер (ReScan.pro) - проводить перевірку сторінок сайту онлайн.

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

Деяким користувачам найбільш звичними і простим здається варіант скрипта AI Bolit для Windows, тому що багато працюють з цією ОС. Однак я б все ж рекомендував виконувати перевірку вірусів на хостингу. Тут немає нічого складного, і нижче докладніше про це всім розповім.

Принцип роботи та особливості AI Bolit

Щоб використовувати AI Bolit вам потрібно виконати наступні дії:

  • Завантажити скрипт з сайту програми.
  • Розпакувати і залити його на хостинг.
  • Запустити AI Bolit як зазначено в документації.
  • Після виконання перевірки отримуєте результат аналізу сайту.
  • Далі ви можете самостійно виправити проблеми або звернутися за допомогою до фахівців.

Останній пункт пояснює чому настільки класний і потужний php скрипт AI Bolit поширюється безкоштовно. Думаю, після знаходження проблем і вірусів на хостингу багато користувачів звертаються до разрабочтікам за наступними послугами. Цілком логічний підхід. Рішення, до речі, запатентовано і володіє унікальним алгоритмом, а популярніе ру-хостинги рекомендують / використовують його в роботі. Пам'ятається, колись звертався за допомогою в тех.підтримку хостера з приводу проблем з одним сайтом, так вони запускали перевірку хостингу на віруси саме за допомогою AI Bolit. Після того випадку я і дізнався про існування даного рішення :)

Основні плюси і фішки AI Bolit:

  • пошук різних типів шкідливих кодів: віруси, шелли, бекдори, публічні уразливості в скриптах;
  • безкоштовне розповсюдження;
  • використання спеціального запатентованого евристичний аналізу;
  • відносно не складна установка і настройка;
  • актуальна база вірусів і шкідливих скриптів;
  • перевірка хостингу на віруси для будь-яких сайтів і CMS;
  • робота з різними ОС: Windows, Unix, MacOS;
  • рекомендації від провідних хостинг-компаній.

Як користуватися AI Bolit

1. Скрипт AI Bolit скачати можна пройшовши за цим посиланням на сайті з його описом. Там рекомендується вибирати саме універсальну версію (!) Для перевірки хостингу на віруси. Після цього почнеться автоматичне скачування файлу ai-bolit.zip.

2. Наступний крок - розпакування і завантаження на хостинг. Для роботи з FTP я використовую безкоштовну програму FileZilla (відмінний ФТП клієнт). Після розархівації ai-bolit.zip знайдете всередині документацію по установці в файлі readme.txt. Якщо хочете, можете з нею ознайомитися.

define ( "PASS", "????????????????????");

define ( "PASS", "????????????????????");

І вписуєте замість символів ??? своє значення. Файл зберігаєте.

4. Потім копіюєте весь вміст папки / ai-bolit / на свій хостинг в кореневу директорію (наприклад, для WP це там, де знаходиться wp-config).

5. Після завантаження скрипта на сервер потрібно запустити AI Bolit за посиланням в адресному рядку вашого браузера:

https: //адрес_вашего_сайта/ai-bolit.php? p \u003d ваш_пароль

Через деякий час отримаєте звіт пошуку вірусів на хостингу.

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

6. Після того як сканер AI Bolit завершив свою роботу вам потрібно обов'язково видалити всі його файли з FTP (які ви завантажували на 4-тому кроці) разом зі звітом.

Наостанок хочеться зауважити, що в скрипті є 2 режими перевірки: експрес і «параноїдальний». У першому випадку перевіряються тільки js, php, html файли і htaccess, а другий дозволяє запустити AI Bolit на повну. Для цього в файлі налаштувань ai-bolit.php поставте значення змінної 'scan_all_files' \u003d\u003e 1 або використовуйте для запуску скрипта посилання з додатковим параметром:

https: //адрес_вашего_сайта/ai-bolit.php? p \u003d ваш_пароль & full

У документації сказано, що перед повторним запуском треба видалити AI-BOLIT-DOUBLECHECK.php, хоча особисто у мене на ФТП такого файлу не було. У readme.txt також знайдете інформацію як перевірити на віруси сайт на хостингу через SSH. Алгоритм дій схожий, але після копіювання всіх файлів скрипта на FTP запускаєте його командою:

php ai-bolit.php

php ai-bolit.php

В результаті автоматично буде створений файл AI-BOLIT-REPORT-<дата>-<время>.html з результати перевірки. В принципі, нічого складного немає, але додаткові відповіді на питання можете глянути в FAQ.

В цілому у мене вийшло перевірити сайт на віруси з AI Bolit досить легко - проблему виявив і ліквідував за хвилин 10. Викачується сканер безкоштовно звідси, потім потрібно налаштувати і запустити AI Bolit по спеціальному посиланню в браузері, після чого ознайомитись з результатами. Як виправляти віруси, бекдори і шелли - це вже дещо інший питання. У найпростішому випадку (як у мене з перенаправленням) - просто видаляєте шкідливий код з файлів. Якщо погано в цьому розбираєтеся або завдання занадто складна, можна запросити платну консультацію / послугу у розробників сріпта. Вони допоможуть не тільки з видаленням вірусу на хостингу, але і поліпшать його захист.

Найбільший функціонал доступний при запуску сканера AI-BOLIT в режимі командного рядка. Це можна робити як під Windows / Unix / Mac OS X, так і безпосередньо на хостингу, якщо у вас є доступ по SSH і хостинг не сильно обмежує споживані ресурси процесора.

Звертаємо увагу, що для запуску сканера потрібно консольна версія PHP 7.1 і вище. Більш ранні версії офіційно не підтримуються. Перевірте поточну версію командою php -v

Довідка у командних рядках сканера AI-BOLIT

Показати допомога

php ai-bolit.php --help

php ai-bolit.php --skip \u003d jpg, png, gif, jpeg, JPG, PNG, GIF, bmp, xml, zip, rar, css, avi, mov

Просканувати тільки певні розширення

php ai-bolit.php --scan \u003d php, php5, pht, phtml, pl, cgi, htaccess, suspected, tpl

Підготувати файл карантину для відправки фахівцям з безпеки. Буде створено архів AI-QUARANTINE-XXXX.zip з паролем.

php ai-bolit.php --quarantine

Запустити сканер в режимі "параноїдальний" (рекомендується для отримання максимально-деталізованого звіту)

php ai-bolit.php --mode \u003d 2

php ai-bolit.php --mode \u003d 1

Перевірити один файл "pms.db" на шкідливий код

php ai-bolit.php -jpms.db

Запустити сканер з розміром пам'яті 512Mb

php ai-bolit.php --memory \u003d 512M

Встановити максимальний розмір перевіряється файлу 900Kb

php ai-bolit.php --size \u003d 900K

Робити паузу 500ms між файлами при скануванні (для зниження навантаження)

php ai-bolit.php --delay \u003d 500

Надіслати звіт про сканування на email [Email protected]

php ai-bolit.php [Email protected]

Створити звіт в файлі /home/scanned/report_site1.html

php ai-bolit.php --report \u003d / home / scanned / report_site1.html

Просканувати директорію / home / s / site1 / public_html / (звіт за замовчуванням буде створений в ній же, якщо не задана опція --report \u003d файл_отчета)

php ai-bolit.php --path \u003d / home / s / site1 / public_html /

Виконати команду по завершенні сканування.

php ai-bolit.php --cmd \u003d "~ / postprocess.sh"

Отримати звіт в текстовому вигляді (plain-text) з ім'ям site1.txt

php ai-bolit.php -lsite1.txt

Можна комбінувати виклики, наприклад,

php ai-bolit.php --size \u003d 300K --path \u003d / home / s / site1 / public_html / --mode \u003d 2 --scan \u003d php, phtml, pht, php5, pl, cgi, suspected

Комбінуючи виклик сканера AI-BOLIT c іншими командами unix, можна виконувати, наприклад, пакетну перевірку сайтів. Нижче наведемо приклад перевірки декількох сайтів, розміщених всередині аккаунта. Наприклад, якщо сайти розміщені всередині директорії / var / www / user1 / data / www, то команда на запуск сканера буде

find / var / www / user1 / data / www -maxdepth 1 -type d -exec php ai-bolit.php --path \u003d () --mode \u003d 2 \\;

Додавши параметр --report можна управляти каталогом, в якому будуть створюватися звіти про сканування.

php ai-bolit.php список параметрів ... --eng

Переключити інтерфейс звіту на англійську. Даний параметр повинен йти останнім.

Інтеграція з іншими сервісами і в панель хостингу

php ai-bolit.php --json_report \u003d / path / file.json

Cформіровать звіт в форматі json

php ai-bolit.php --progress \u003d / path / progress.json

Cохраняющим статус перевірки в файл у форматі json. Даний файл буде містити структуровані дані в форматі json: поточний файл перевірки, скільки файлів перевірено, скільки файлів залишилося перевірити, відсоток перевірки, час до завершення сканування. Даний механізм можна використовувати, щоб в панелі показувати прогрес-бар і дані про файлах, що перевіряються. По завершенні сканування файл видаляється автоматично.

php ai-bolit.php --handler \u003d / path / hander.php

Зовнішній обробник подій. Ви можете додати власні обробники початку / завершення сканування / прогресу сканування / помилки сканування. Приклад файлу можна подивитися в архіві сканера, в каталозі tools / handler.php. Наприклад, по завершенні сканування можна щось зробити з файлом звіту (відправити поштою, запакувати в архів тощо).

AI-Bolit - це просунутий безкоштовний сканер бекдор, хакерських Шелл, вірусів і дорвеев. Скрипт вміє шукати шкідливий і підозрілий код в скриптах, визначає спам-посилання, показує версію CMS і критичні для безпеки сервера настройки.

Ефективність роботи сканера полягає в використанні патернів і евристики, а не звичайного пошуку по хешу.

Історія створення

На даний момент ринок антивірусного ПО для персональних комп'ютерів надзвичайно розвинений: на слуху рішення від Касперського, Dr.Web, McAfee, Norton, Avast і інших. З сканерами вірусів і шкідливого коду для сайтів все не так райдужно. Системні адміністратори і власники сайтів, стурбовані проблемою пошуку шкідливого коду на своїх серверах, змушені використовувати самописние скрипти, які шукають віруси і шелли за певними фрагментами, зібраним раніше. Так само чинив і я. З клієнтських сайтів збирав шелли, віруси, бекдори, коди редиректів і поступово формував базу сигнатур шкідливого коду. А щоб її було зручно використовувати, написав невеличкий скрипт на PHP.

Поступово сканер обростав корисної функціональністю, і нарешті стало очевидно, що він може бути корисний не тільки мені.
У квітні 2012 року я анонсував скрипт AI-Bolit на декількох форумах, а через півроку він став основним засобом пошуку шкідливого коду у веб-майстрів і адмінів хостингів. Що стосується сумарної статистики, то за півтора року скрипт скачали більше 64 тисяч раз. А ще на скрипт отримано авторське свідоцтво в Роспатенті.

особливості сканера

Основна відмінність AI-Bolit від існуючих на сьогоднішній день сканерів вірусів і шкідливого коду на сервері - це використання патернів як вірусних сигнатур. Пошук шкідливого коду відбувається по базі регулярних виразів, а не хешу або контрольних сумах, що дозволяє виявляти навіть модифіковані та обфусцірованние шелли, вставлені в шаблони або скрипти CMS.

Сканер може працювати в режимі швидкого сканування (тільки по PHP-, HTML, JS-, htaccess-файлів), в режимі «експерта», виключати директорії і файли по масці. А також має велику базу CRC white-листів популярних CMS, що значно скорочує кількість помилкових спрацьовувань.

На даний момент в базі сканера понад 700 сигнатур шкідливих скриптів. Сигнатури є регулярні вирази, що дозволяє знаходити, наприклад, ось такі обфусцірованние шелли і бекдори, які ні LMD з ClamAV, ні вже тим більше десктопні антивіруси не знаходять:

Базу сигнатур регулярно поповнюють новими знайденими зразками як фахівці з «Ревізіума», так і користувачі скрипта, що дозволяє підтримувати сканер в актуальному стані.

Інтерфейс AI-Bolit

Інтерфейс AI-Bolit дуже простий. Це PHP-скрипт, який може працювати в режимі командного рядка через PHP CLI або відкриватися в браузері з URL http: //сайт/ai-bolit.php? P \u003d пароль.

Результатом роботи скрипта є звіт, який складається з чотирьох секцій:

  1. Статистика та загальна інформація про скрипт.
  2. Червона секція критичних зауважень зі списком знайдених Шелл, вірусів та іншого шкідливого коду (або схожих на шкідливий код фрагментів).
  3. Помаранчева секція попереджень (підозрілі фрагменти коду, які часто використовуються в хакерських інструментах).
  4. Синя секція рекомендацій (список відкритих на запис каталогів, настройки PHP та інше).

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

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

В AI-Bolit я вирішую цю проблему за допомогою використання двох режимів роботи ( «звичайний» / «експертний») і white-листів для відомих CMS.

Майбутнє AI-Bolit

У планах з розвитку скрипта - велика кількість корисних фіч і інтеграція з іншими антивірусними рішеннями. Один з ключових моментів - це інтеграція AI-Bolit з базами ClamAV і LMD. Так AI-BOLIT зможе шукати руткіти і шелли ще і по контрольних сумах.

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

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

На закінчення

Код скрипта відкритий, розміщений на GitHub, тому будь-який бажаючий може внести свій вклад в розвиток даного проекту. Ваші пропозиції та побажання надсилайте мені на [Email protected].

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму