Разоблачение хакера
Master-lame-master
Xakep, номер #061, стр. 061-052-3
Таким образом, все логи слались на мыло админу. Это был почтовый ящик на другой машине, недоступной хакеру. Администратор быстро нашел нужный лог в почтовой базе и стал изучать текстовые записи. Там он узнал много интересного, например, что взломщик использовал логин adm в качестве входа.
Ломать - не строить
Администратор набрал “su - adm” и получил рутовый шелл. Это его очень удивило, т.к. в системе полностью отсутствовали сторонние суидные файлы. Сначала он подумал, что хакер заюзал какую-нибудь багу в суидном бинарнике и посредством нее вызывал /bin/bash. Но, опять же, контрольная сумма во всех бинарниках была сохранена (это подтверждал отчет tripwire). Заглянув в Homedir пользователя, системщик нашел файл .history. История показывала, что взломщик вызывал какой-то странный модуль linux.so, а затем команду exit.
И тут-то админ проверил наличие файла /var/adm/.profile и убедился в его скрытности. Он быстро вернул шелл /dev/null юзеру adm и занялся восстановлением системы. В его голове бегали мысли о заражении операционки руткитом: переустанавливать половину бинарников, а то и всю систему админу совсем не хотелось. Но после просмотра /usr/lib/modules/linux.so, администратор увидел наличие еще одного бинарного файла /usr/bin/ava (исполнительного файла от Adore). Теперь стало ясно, каким руткитом была заражена система. Тщательная проверка стартовых скриптов показала, что при запуске происходит инициализация модулей system.o и cleanup.o (главных модулей Адоры). Их администратор поспешно удалил и отправил систему в ребут.
Нас ребут, а мы крепчаем
После перезагрузки админ сгенерировал свежий отчет tripwire, который выдал ему весь список новых бинарных файлов. Среди них была чистилка логов vanish.
Администратор хотел вычислить IP-адрес взломщика, но это было невозможно, т.к. брутфорс пароля и логин на машину производился с левых бельгийских хостов. И тут в голове системщика возникла гениальная мысль: он знал, что злоумышленник атаковал систему по хосту ruhost.ru. На хост заходило очень мало людей, поэтому IP хакера вычислялся через web.
Админ быстро пролистал access_log для сайта ruhost.ru и нашел там несколько айпишников на текущий день. Два из них были бельгийскими, а третий - наш, советский ;). Промежуток времени между логинами был невелик (сперва хакер забыл включить поддержку прокси-сервера, и зря). Сисадмин пробил адрес по базе и понял, что он принадлежит крупному московскому провайдеру.
Откройте, милиция!
Обратившись на адрес abuse@provider.ru, администратор отправил письмо с подробными логами взлома. Админ угадал практически все шаги хакера, восстановив подробный сценарий взлома сервера. Примерно через сутки пришел ответ от службы безопасности. В нем говорилось, что хакер был отключен от провайдерской локалки. Также у админа спросили, имеет ли он дальнейшие претензии к злоумышленнику. Подумав, системщик решил остановиться и не судиться с хакером. Он сам был отчасти виноват в происшедшем – не уделил должного внимания фаерволу.
Проведем финальную черту. Как видишь, администраторы не дураки, и малейшая оплошность хакера может выдать его с потрохами. Этой оплошностью стало посещение с реального IP-адреса сайта www.ruhost.ru. К тому же взломщик не заметил присутствие IDS и забыл проанализировать файл syslog.conf. Очевидно, в любом взломе есть свои недочеты, вопрос в другом: заметит ли их админ? В моем случае админ оказался активнее хакера.