Все про троянах

Рідкісний людина, що має відношення до IT, не стикався з троянами. За ідеєю, вже давно пора б перестати вестися на трюки, на кшталт HotPics.jpg. exe, аж ні, запускаємо "патчі для Експлорера" і "плагіни для вінампа", не кажучи вже про "крякери інтернету". Набридло. Читай мануал і будь у всеозброєнні.

Знаєш, яку помилку зробив Карл Лінней, коли намагався розділити рослини на кілька класів? Він об'єднував їх не за будовою, а за зовнішнім виглядом: тут квіти з п'ятьма тичинками, тут - з чотирма і т.д. Хм, щось я в біологію вдарився :). Ну, да ладно. Сучасна ж наука ділить живий світ на групи, виходячи з внутрішньої будови істот. Але якщо міркувати подібним чином про цифрових формах життя, виникають деякі проблеми, так як з точки зору користувача, тобто за зовнішнім виглядом, всі ці форми однакові і мають вигляд виконуваних файлів. А класифікуючи електронні суті за внутрішньою будовою, отримаємо наведену вище систему антівірусніков, яка не відрізняється наочністю і досить незручна. Тому ми будемо продовжувати ділити фауну Мережі всього на три групи - віруси, хробаки та троянці. Але перш ніж приступати до докладного розгляду останніх, розберемося у відмінностях цих форм життя один від одного.

Вірус, черв'як або троян?

Отже, віруси. Основна ознака - віруси заражають файли. І забудь про шкідливі віруси - більшість з них написано озлобленими одинаками; рідкісна VX-група релізи віруси на кшталт CIH, тобто з "деструктивною корисним навантаженням", як вони це називають. Адже віруси для справжнього вірмейкеров - це мистецтво, музика. Навіщо ж псувати мелодію криками невинних жертв? Повторюся, я говорю про справжніх вірмейкеров, яких сьогодні не так багато, а не про тих індивідуумів, що копіюють чужі роботи з єдиною метою - покрасуватися в вірусної десятці Касперського. І повір мені, ніхто зі справжніх вірмейкеров не випускає свої творіння далі свого гвинта у вигляді, відмінному від початкових кодів.

Черви. Основна ознака - не заражають файли, а просто влаштовують собі де-небудь на гвинті приховану резиденцію і звідти розсилають себе на інші машини. Щоб створити ефективний вірус, потрібно добре розбиратися в операционке, під яку ти пишеш, розбиратися у всіх тонкощах асемблера (і не говори мені про віруси на Сі) і, до того ж, дуже бажаний певний склад розуму. А знаєш, на чому написано більшість сьогоднішніх черв'яків? Visual Basic і VBScript. Тепер розумієш, чому їх так багато? Правда, серед черв'яків іноді трапляються дуже цікаві екземпляри, але це, скоріше, виняток, ніж правило. Так що якщо сила вірусів - в якості коду, то черв'яків - в кількості інфікованих машин. На малюнку це показано дуже наочно.

Нарешті добралися і до троянів. Все-таки справжніх вірмейкеров - ідейних і благородних - небагато, тому і віруси, і черви найчастіше несуть в собі певний деструктивний елемент. Навіть ті віруси, чия корисне навантаження вичерпується виведенням написи на екран, можуть попсувати користувачеві чимало нервів, що вже говорити про більш небезпечних віруси. Так ось основна ознака трояна полягає в тому, що це всього лише інструмент, а спосіб його застосування - справа друга. Одна людина може написати троян виключно в освітніх цілях, вивчаючи мережеві протоколи, а інший використовувати цей троян з метою, м'яко кажучи, не зовсім законних :). Ось з цими-то дволикими сутностями ми і будемо розбиратися решту часу (вірніше, місце). І перше, що необхідно запам'ятати - є два типи троянів: Мейлер і бекдори.

Для початку треба влаштуватися в системі, не викликавши підозр у жертви. Погодься, дивно, коли патч для Аутлук НЕ патчіть Аутлук? Цьому має бути логічне пояснення. Тут методів маса: від примітивних "msmustdie.dll not found" і "already patched", до вишуканого методу, коли виводиться віконце установки "патча", а після її завершення відкривається readme зі списком пофіксенних помилок :). А в цей час троян копіює себе куди-небудь в% windir% system і спокійно приступає до обробки системи. Для початку йому необхідно прописатися в автозавантаженні. Знову ж, способів купа. Відверто тупі трояни вписуються в папку "автозавантаження" або в autoexec.bat. Ті, що попродвінутей - в win.ini і system.ini. Ну, а переважна більшість прописується в реєстрі в наступних місцях:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunservices
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunservicesOnce

Слово BackDoor означає "потайний хід". Такий троян складається з двох частин: клієнтської і серверної. Клієнт зазвичай має гарний GUI з купою кнопок і інші навороти, бо все своє життя проводить на комп'ютері господаря, а отже, не дбає про свій розмір. Власне троян знаходиться в серверній частині. До тих пір, поки не прийшла пора збирати і надсилати дані, алгоритми бекдор і мейлеров збігаються: обдурити користувача, влаштуватися в% windir% system і прописатися в автозавантаженні. Але потім починаються серйозні відмінності. Зловмисник, підіслав трояна, виходить в Мережу, запускає клієнтську частину і дивиться, чи є відгук від сервера, тобто чи знаходиться жертва також в Мережі. Якщо відгук отримано, сервер і клієнт встановлюють зв'язок, а далі все залежить від конкретного трояна: ті, що скромніше, відкриють доступ до ворожого гвинта або ще щось в цьому дусі, а ті, що покруче, просто віддадуть владу над всім комп'ютером в руки зловмисника: той зможе управляти комп'ютером жертви, як якщо б сам сидів за ним.

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

Вірус, розплодився на твоєму комп'ютері - це проблема, вірус, який знищив твою інформацію - це біда, але усвідомлення того, що хтось дивиться твої картинки, читає твої листи, і сидить в інтернеті за твій рахунок, злить набагато більше. У всякому разі, мене. Як же не втрутитися? Перш за все, почитай статтю "Правила поведінки в Мережі" в цьому номері нашого журналу. Там більш ніж докладно все описано. Шукаючи в Мережі цікаві трояни для цієї статті, я насилу знайшов незаражені різними подарунками, типу вірей та інших троянів. Знаєш, як весело виглядає клієнт бекдора А, насправді є ще і сервером трояна B? До речі, ось ще інформація для роздумів: пишеться троян, в його коді робиться спеціальний "чорний хід", і троян викладається в Мережу, на який-небудь хацкерской сайт - "Новий крутий троян! Скачай швидше!" Народ кидається пробувати: захоплюють чужі системи, безкоштовно сидять в інеті і т.д. А тим часом людина, яка написала трояна, насолоджується владою над усіма затрояненнимі комп'ютерами. Чимось фінансову піраміду нагадує. Але так як користувач нині ляканий пішов, часто робиться так: разом з трояном публікуються його вихідні коди, мовляв, все по-чесному. Юзер бачить файл * .cpp, заспокоюється і вплутуватися у великі неприємності, так як що стоїть викинути з исходника реалізацію того самого "чорного ходу"? Правда, товариші зі стажем в подібних справах, в таких випадках не користуються готовим файлів, а компілюють свій з наданого исходника. Але і для цього методу є контрзаходи: трапляється так, що ті п'ятнадцять рядків, що відповідають за потаємний хід, вдень з вогнем не знайти в тисячах рядків коду трояна.

Що ми маємо: у тебе є сильні підозри, що твоя машина затроянена, і тобі потрібно, як мінімум, вбити коня, а якщо пощастить, то і дістатися до господаря. Отже, алгоритм полювання на троянів!

BO2K (backdoor, розмір сервера 112 Кб, невидимий для TaskInfo в 9x)

Нає @ і сусіда (mailer, розмір сервера 13 Кб, бачимо для TaskInfo)
Цей мейлер користується в Росії особливим успіхом, я б навіть сказав, що це наш національний троян. Елементарно налаштовується, елементарно використовується. Примітний також маленький розмір сервера, так що троян можна непомітно приєднати до іншої програми. Одним словом, народний вибір: знань не потрібно ніяких, ефективність висока.

Anti-Lamer Light (mailer, розмір сервера 24 Кб, бачимо для TaskInfo)

Простенький поштовий троян, обіцяє вирубувати відомі йому антивіруси і фаєрволи. Через конфигуратор сервер можна склеїти з іншим файлом.
Це "полегшена версія" трояна Anti-Lamer Backdoor, який має кілька цікавих можливостей, але, звичайно, і в підметки не годиться BO.

GROB (backdoor / mailer, розмір сервера 49 Кб, бачимо для TaskInfo)

Повноцінний мейлер з деякими можливостями бекдора. Самозахист - мінімальна, алгоритм роботи - стандартний, сервер - великий. Єдиною перевагою перед побратимами є приємний інтерфейс клієнта :).

Схожі статті