Пошук бекдор на сервері, stackoff
В даному повідомленні мова піде про те, як знайти бекдор на вашому сервері. Найчастіше наявність шкідливого коду позначається на підвищеному навантаженні на сервер. Пов'язано це з тим, що різні веб-шелли самі по собі не цікаві, а служать лише провідником для отримання інформації або протрояніванія сервера. Про те, як зловмисникам вдалося отримати доступ до ваших файлів або базі даних буде описано пізніше і в іншій статті. Тут же я лише розповім про те, чим можуть загрожувати проломи в безпеці і як знайти і видалити бекдор.
У разі використання будь-яких CMS і двигунів доводиться бути готовим до того, що рано чи пізно хтось знайде уразливість в системі і проексплуатувати її отримає доступ до ваших даних. Після того як хакер знайшов спосіб, наприклад завантажувати файли на ваш сервер йому потрібно отримати доступ до функцій того-ж php або консолі. Для цього існують різні веб-шелли, які також використовують деякі web-mastera для швидкого доступу до файлів, mysql, і до решти. Як правило для виконання команд в таких скриптах використовуються різні функції php. Ось неповний список таких:
Виглядає такий web shell приблизно так:
Зовнішній вигляд web шелла WSO2
Це досить поширений веб шелл, є і більш відомі, наприклад b374k-shell. Виглядає він так:
Зовнішній вигляд web шелла b374k
Основний функціонал таких Шелл:
- відображенні інформації про сервер
- робота з файлами і папками, а також правами доступу до них
- SQL менеджер
- виконання PHP коду
- біндпорт і бек-коннект (віддалене підключення)
Решта функцій за смаком і кольором. Все це вміщується в розмір менше 50 кілобайт.
Зазвичай такі скрипти використовують обфускація і інші прийоми для утруднення читання вихідного коду. Але основою для їх функціонування все-таки служать вище описані функції.
Для пошуку бекдор існує безліч інструментів, наприклад для блогового движка WordPress є спеціальні плагіни, один з таких exploit-scanner. Я ж хочу показати спосіб пошуку через консоль, тобто звичайний пошук тексту в файлах.
Скористаємося командою grep.
Після пошуку в файлі /var/www/backlist.txt будуть знаходиться шляху до файлів, які підходять під наші вимоги. У моєму випадку вийшов такий список:
Таким простим чином ми нашили підозрілі файли які потрібно розглянути і відправити в піч.