![](../001.gif)
NetBus — троянец-игрушка!
Спецвыпуск хакер, номер #001, стр. 001-074-1
Doc (serguei@earthling.net, ICQ:10811323
Идея заслать во вражеский стан «своего» человека, который мог бы собирать информацию, совершать диверсии и вообще выполнять любые задания центра, далеко не нова. Но лишь в относительно недавнее время она стала так массово и успешно применяться для компьютерных диверсий. По-видимому, изготовители хакерских утилит наконец прониклись идеями дяди Билли, который уже давно пропагандировал технологию клиент-сервер.
Итак, по порядку. Предположим, что кто-то хочет собрать некоторую информацию или совершить какое-либо действие на чужой машине. Есть 2 способа это сделать. Можно заранее проинструктировать программу, что делать. Типа: «По прибытии отыщешь мне каталог Windows, в нем соберешь все файлы с расширением PWL и отправишь мне по почте». Но это старо, нединамично, неинтерактивно и пошло — в общем, не прикалывает. Лучше сказать программе так: «По прибытии выходишь со мной на связь и выполняешь мои указания». Таким образом программа становится «глазами» и «руками» в чужом компьютере. Имея их, можно выполнить многое. Не буду расписывать все команды, реализованные в конкретной версии двух наиболее популярных (на мой взгляд) троянов — НетБаса (NetBus) или БэкОрифиса (Back Orifice). Их увидит любой, запустив программу управления соответствующего трояна. Для примера приведу лишь несколько самых прикольных/полезных команд НетБаса.
• Открыть/закрыть подставку для чашки кофе, один раз или с интервалом
• Поменять местами клавиши мыши
• Выполнить команду/запустить программу/перейти на определенный URL
• Управлять координатами курсора мыши
• Показать диалог с выбором и сообщить выбор
• Зашатдаунить винды/отлогинить пользователя
• Посылать/принимать нажатия клавиш (текст)
• Получить снимок экрана
• Просмотреть содержимое жестких дисков, скачать/заслать/удалить файл
• Записать текущий звук и прислать
• Открыть/закрыть/сфокусировать окно
Вернемся к технологии. Итак, центральное место в работе этих программ занимает связь между сервером (засланным на чужой компьютер) и клиентом (управляющим инструментом).
Для начала поймем, как происходит связь 2-х компьютеров через Интернет. В случае НетБаса используется протокол TCP. Это похоже на разговор по телефону. Представь себе, что в компьютере есть более 30 тысяч телефонов (портов) и с каждого можно позвонить на каждый данный компьютер или на удаленный. После соединения можно передавать/принимать информацию. Правда, по некоторым телефонам не дозвониться, так как они уже заняты системными службами.
Сервер НетБаса действует следующим образом. Попав на компьютер и запустившись, он устраивается у условленного телефона и ждет звонка. Когда ему звонят, он снимает трубку и представляется: «Здравствуйте! НетБас версии 1.62 слушает. Чем я могу Вам помочь?» До версии 1.70 номер порта был фиксированный — 12345. Таким образом проверить наличие на машине сервера было крайне просто: надо просто законнектиться на этот порт и посмотреть, будет ли ответ. (В нормальном случае либо никто не ответит, либо просто пошлют.). Начиная с версии 1.70, номер порта можно задать самому. Когда номер порта неизвестен, можно лишь последовательно прозванивать все незарезервированные порты (после 1024). Руками это делать — умаешься, тут потребуется программа с возможностью сканирования диапазона портов (Port Scanner).