Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Управление RAT

Ms-Rem

Хакер, номер #079, стр. 079-108-9


Сливай, а затем подключай в свой проект файл mIRC.pas. Это позволит использовать функции библиотеки. Для установки соединения с IRC-сервером используй IrcConnect:

Function IrcConnect(Server: PChar; Port: dword; NickName: PChar; MsgCallback: pointer): dword;

Server - имя или IP IRC сервера.

Port - порт сервера.

NickName – ник, под которым ты будешь заходить на каналы.

MsgCallback - адрес callback-функции, принимающей сообщения. Если принимать сообщения не нужно, то можно установить в nil.

Функция вернет хэндл соединения, а при невозможности установки соединения - 0.

Для приема сообщений с IRC-каналов, как ты уже понял, служит callback-функция. Она должна иметь следующий формат:

function(Nick, Channel, Msg: PChar): boolean;

Nick - ник того, кто послал сообщение,

Channel - канал, на котором послали сообщение,

Msg – собственно само сообщение.

Эта функция будет вызываться всякий раз, когда тебе приходит сообщение на канале или и в привате. В случае если она вдруг вернет значение true, соединение будет прервано и поток, обрабатывающий сообщения, окажется завершенным. Кстати о птичках: библиотека может поддерживать одновременно несколько соединений с IRC-серверами, причем для каждого соединения будет заводиться свой поток.

Из других функций библиотеки можно выделить IrcJoinToChannel, IrcExitFromChannel, IrcSendMessage, IrcCommand и IrcClose. О назначении этих функций нетрудно догадаться по их названиям, а примеры их использования ты без проблем найдешь в архиве с библиотекой.

[распределенный протокол]

С точки зрения «живучести» и безопасности для хакера самым надежным средством управления ботнетами является полностью децентрализованный распределенный протокол. Я рассмотрю один из вариантов такого протокола, который предназначен для передачи команд сети машин, зараженных червем. Его суть состоит в том, что червь, попавший на компьютер, будет поддерживать постоянное соединение с червем, пославшим его. Также он будет периодически сканировать Сеть в поисках других зараженных компьютеров и, при нахождении таковых, будет стараться устанавливать соединение с ними. Чтобы передать команду всей сети, хозяин подобного ботнета должен просто отпасть ее любому узлу. Здорово, да?

Каждый командный пакет сопровождается цифровой подписью хозяина, что предотвращает фальсификацию командных пакетов. Получив такой пакет, узел сети должен проверить его подпись и, в случае достоверности, передать его всем машинам, с которыми он соединен, после чего (логично, правда?) начать выполнение команды.

Для предотвращения многократной передачи одного и того же командного пакета в пакете должен находиться уникальный идентификатор, а сам червь должен не допустить повторного распространения пакета.

Назад на стр. 079-108-8  Содержание  Вперед на стр. 079-108-10