Комп’ютерна документація від А до Я
Ідея заслати у ворожий стан людини, яка могла б збирати інформацію, здійснювати диверсії та взагалі виконувати будь-які завдання центру, далеко не нова. Але лише відносно нещодавно вона стала так масово і успішно застосовуватися для комп'ютерних диверсій. Очевидно, виробники хакерських утиліт нарешті перейнялися ідеями дядька Біллі, який давно пропагував технологію клієнт-сервер.
Отже, за порядком. Припустимо, що хтось хоче зібрати деяку інформацію або зробити будь-яку дію на чужій машині. Є два способи це зробити. Можна заздалегідь проінструктувати програму, що робити. Типу: . Але це старе, нединамічно, неінтерактивно і пішло – загалом, не приколює. Краще сказати програмі так: . Таким чином, програма стає і в чужому комп'ютері. Маючи їх, можна виконати багато чого. Не розписуватиму всі команди, реалізовані в конкретній версії двох найбільш популярних (на мій погляд) троянів - НетБаса (NetBus) або БекОріфіса (Back Orifice). Їх побачить будь-хто, запустивши програму управління відповідного трояна. Для прикладу наведу лише кілька найприкольніших/корисних команд НетБаса.
. Відкрити/закрити підставку для чашки кави, один раз або з інтервалом
. Поміняти місцями клавіші миші
. Виконати команду/запустити програму/перейти на певну URL-адресу
. Керувати координатами курсору миші
. Показати діалог із вибором та повідомити вибір
. Зашатдаунить вінди/відлогінить користувача
. Надсилати/приймати натискання клавіш (текст)
. Отримати знімок екрану
. Переглянути вміст жорстких дисків, завантажити/заслати/видалити файл
. Записати поточний звук та надіслати
Повернімося до технології. Отже, центральне місце у роботі цих програм займає зв'язок міжсервером (засланим на чужий комп'ютер) та клієнтом (керуючим інструментом).
- Запитаєш ти. А ось тоді тобі потрібно будь-якої миті часу подивитися список поточних з'єднань, і якщо хтось на твоїй машині вже півгодини треплеться з порту 12345 - значить, у тебе ночує НетБас. Перевірити поточні з'єднання легко: для цього запусти netstat.exe у командному рядку. І ця прога тобі все покаже: хто, коли, з ким, скільки, скільки заплатив і що він їв на сніданок.
Ну і найпростіший і найнадійніший спосіб – дослідити свій registry. Для цього достатньо запустити regedit.exe. У розділі HKEY_CURRENT_USER є підрозділ PATCH. І якщо ти сам не грав із сервером НетБаса, значить, ним у тебе пограв хтось інший або ти сам, про те не підозрюючи, його встановив ;-).
Набагато більш професійно та продумано спрацьовано БекОрифіс. Наведу два приклади.
Другий – відкритий інтерфейс. Бекоріфіс передбачає використання плагінів (plug-in). Щоб додати функцію, яка не була включена до стандартного набору, достатньо написати плагін у вигляді ДЛЛ і в ньому її реалізувати. Специфікації додаються. Не так уже й складно для програміста середньої руки. Зате якесь поле для фантазії та експериментів над чужими машинами!
Але вистачить теорії – перейдемо до практики. Подивимося, як можна побалуватися з НетБасом і навіть хакнути його засобами, користуючись ламерським програмним виконанням. Для даної лабораторної роботи нам знадобиться НетБас до версії 1.70 та програма telnet.exe (входить до стандартного набору Windows).
2. Запускаємо telnet.exe
Опція noadd говорить серверу НетБаса не прописувати себе в автозавантаження віндів, а спрацювати одноразово. (Сподіваюся, ти не хочеш сам себе заразити трояном?)
Тепер треба зв'язатися з агентом, що засів у тебе на комп'ютері.Якщо пам'ятаєш, він чекає на порті 12345. У програмі телнет вибираєш меню connect пункт Remote System. У полі hostname набираєш localhost (тобто коннектишся до власного комп'ютера), а в полі port - 12345 і давиш на пімпу connect.
Якщо троян на місці, він швидко відгукнеться, повідомивши свою версію. Наприклад, .
Він готовий працювати. Можеш набрати GetInfo та натиснути введення - НетБас видасть тобі інформацію про комп'ютер.
Я ще не згадав про можливість задати серверу НетБаса пароль, щоб ніхто, крім тих, хто його встановив, не могли цим сервером скористатися. У цьому випадку НетБас тебе привітає трохи інакше. На кінці з'явиться літера: .
Для встановлення пароля достатньо набрати.
Щоб переконатися, що пароль заданий, можна зробити Disconnect в мережі і знову спробувати законнектитися. Тепер сервер відмовлятиметься виконувати твої команди, резонно вимагаючи пароль. Пароль передається так: