Электронная библиотека

Хакер


Хакер

NetBus - троянец-игрушка!

Xakep, номер #00, стр. 00-030-1


by Doc (serguei@earthling.net, icq#10811323)

Попав на компьютер и запустившись, он устраивается у условленного телефона и ждет звонка. Когда ему звонят, он снимает трубку и представляется: «Здравствуйте. НетБас версии 1.62 слушает. Чем я могу Вам помочь?»

Лучше сказать программе так: «По прибытии выходишь со мной на связь и выполняешь мои указания». Таким образом программа становится «глазами» и «руками» на чужом компьютере.

Идея заслать во вражеский стан «своего» человека, который бы мог собирать информацию, совершать диверсии и вообще выполнять любые задания центра далеко не нова. Но лишь в относительно недавнее время она стала так массово и успешно применяться для компьютерных диверсий. По-видимому, изготовители хакерских утилит наконец прониклись идеями дяди Билли, который уже давно пропагандировал технологию клиент-сервер.

Итак, по порядку. Предположим, что кто-то хочет собрать некоторую информацию или совершить какое-либо действие на чужой машине. Есть 2 способа это сделать. Можно заранее проинструктировать программу, что делать. Типа: «По прибытии отыщешь мне каталог Windows, в нем соберешь все файлы с расширением PWL и отправишь мне по почте». Но это старо, нединамично, не интерактивно и пошло - в общем, не прикалывает. Лучше сказать программе так: «По прибытии выходишь со мной на связь и выполняешь мои указания». Таким образом программа становится «глазами» и «руками» на чужом компьютере. Имея их, можно выполнить многое. Не буду расписывать все команды, реализованные в конкретной версии двух наиболее популярных (на мой взгляд) троянов - НетБаса (NetBus) или БэкОрифиса (Back Orifice). Их увидит любой, запустив программу управления соответствующего трояна. Для примера приведу лишь несколько самых прикольных/полезных команд НетБаса.

* Открыть/закрыть подставку для чашки кофе, один раз или с интервалом

* Поменять местами клавиши мыши

* Выполнить команду/запустить программу/перейти на определенный URL

* Управлять координатами курсора мыши

* Показать диалог с выбором и сообщить выбор

* Зашатдаунить винды/отлогинить пользователя

* Посылать/принимать нажатия клавиш (текст)

* Получить снимок экрана

* Просмотреть содержимое жестких дисков, скачать/заслать/удалить файл

* Записать текущий звук и прислать

* Открыть/закрыть/сфокусировать окно

Вернемся к технологии. Итак, центральное место в работе этих программ занимает связь между сервером (засланным на чужой компьютер) и клиентом (управляющим инструментом).

Для начала поймем, как происходит связь 2-х компьютеров через Интернет. В случае НетБаса используется протокол TCP. Это похоже на разговор по телефону. Представь себе, что в компьютере есть более 30 тысяч телефонов (портов), и с каждого можно позвонить на каждый данный компьютер или на удаленный. После соединения можно передавать/принимать информацию. Правда, по некоторым телефонам не дозвониться, так как они уже заняты системными службами.

Сервер НетБаса действует следующим образом. Попав на компьютер и запустившись, он устраивается у условленного телефона и ждет звонка. Когда ему звонят, он снимает трубку и представляется: «Здравствуйте. НетБас версии 1.62 слушает. Чем я могу Вам помочь?» До версии 1.70 номер порта был фиксированный - 12345. Таким образом проверить наличие на машине сервера было крайне просто - надо просто законнектиться на этот порт и посмотреть, будет ли ответ. (В нормальном случае либо никто не ответит, либо просто пошлют.) Начиная с версии 1.70, номер порта можно задать самому. Когда номер порта неизвестен, можно лишь последовательно прозванивать все не зарезервированные порты (после 1024). Руками это делать - умаешься, тут потребуется программа с возможностью сканирования диапазона портов (Port Scanner).

Содержание  Вперед на стр. 00-030-2