В борьбе с яйцеголовыми

Master-lame-master

Xakep, номер #059, стр. 059-066-2

Таблица: протокол обмена данными между eggdrop

Fl00d (Eggdrop v1.6.12 (C) 1997 Robey Pointer (C) 2002 Eggheads)

Please enter your nickname.

_masterbot_

passreq <78bf3f70a90c@Fl00d>

_n6dw9h3fy97_

*hello!

_version 1061200 32 eggdrop v1.6.12 <Fl00d>_

_*hello!_

_version 1061200 32 eggdrop v1.6.12 <masterbot>_

tb Fl00d

_tb masterbot_

Итак, линковка прошла успешно. Чтобы удаленный бот не отрубил хакера по таймауту, необходимо было респонзить все запросы "pi" ответом "po". Строки, начинающиеся с "botnet msg", также выполнялись (эту команду взломщик испытал на себе, в результате чего был снова зафлужен приватами ;)).

Join на partyline

Рулить ботнетом хакеру очень понравилось. Но ему хотелось большего - поиметь шелл на системе, в которой крутился удаленный бот. Для этого он набрал запрос "botnet do who" и получил список пользователей на всех eggdrop. На самом деле, ботмастер оказался болтливым и протрепался хакеру о собственной модификации скрипта botnet.tcl ;). После этого взломщику была открыта прямая дорога на все partyline ботов.

Итак, хакер выполняет команды "botnet do adduser evil" и "botnet do chattr evil +nm", тем самым устанавливая полные права на боте для пользователя evil. Далее он говорит в приват эггдропу строку "PASS passw0rdevil" и коннектится на удаленный порт. Только вот заходит хакер не под ботом, а уже под юзером evil. После нехитрых манипуляций взломщик получает полный доступ над eggdrop.

Затем он смотрит, кто зарегистрирован на боте как главный хозяин. Это выясняется при помощи команды "set owner". По ответу видно, что владельцами являются ники "err0r" и "mutant". Хакер разговаривал с одним из них в IRC и поэтому не сомневался в реальности его существования. Засуидившись на него (команда "su err0r"), он получает от ворот поворот. Дело в том, что для переключения прав на абсолютного хозяина недостаточно одного суида. Необходим еще пароль. К тому же не удастся удалить хэндл владельца или промодифить его флаги. Такой расклад хакера не удовлетворял - очень уж хотелось порулить всей этой системой.

Контроль над системой

Но не все так плохо. Людям ведь свойственно ошибаться. Выполнив запрос "match mutant", хакер в ответ получил пустоту. Следовательно, он мог завести нового пользователя с этим хэндлом, который автоматически станет хозяином. Это, пожалуй, единственная модификация, которую может совершить обычный пользователь.

Теперь у хакера появились реальные шансы захватить права на системе. После суида на нового хозяина ему было позволено юзать команду "tcl". Его интересовал всего один параметр - exec. Иными словами, через eggdrop можно было выполнять обычные системные операции. Т.е. взломщик поимел как бы обычный шелл, но только посредством partyline бота.

Посмотрев на версию ядра, наш герой улыбнулся - сломать операционку можно было с полпинка. Взять права рута позволял обычный ptrace-эксплоит для семейства ядер 2.2. Единственная проблема заключалась в том, что эггдроп не позволял плодить дополнительные процессы, а ptrace запускал новый bash.

Назад на стр. 059-066-1  Содержание  Вперед на стр. 059-066-3
ttfb: 3.0360221862793 ms