УЗНАЙ ДЕМОНА!

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #032, стр. 032-016-1

(forb@real.xakep.ru)

УДАЛЕННОЕ ОПРЕДЕЛЕНИЕ ВЕРСИИ СЕРВИСОВ

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

Обычно сервис определяется без проблем. Существует такое понятие, как баннер или заголовок демона. Его наличие актуально для всех текстовых протоколов. Раздерем пример: цепляемся телнетом на 25-й порт какой-нибудь тачки и в ответ получаем приглашение от сервиса, как правило, содержащее версию сендмыла. Но эта статья была бы неактуальна, если все было бы так просто. Нередко баннеры умышленно заменяются (этакая защита против хакеров со стороны злых админов), а в бинарных протоколах баннеры вообще отсутствуют. Поэтому слушай сюда: сейчас мы будем определять версию различных сервисов всеми возможными способами.

FTPD - ОПРЕДЕЛЯЕМ И ЛОМАЕМ

Итак, движемся по возрастанию. Стукнемся в самый маленький, но важный 21-й порт. Согласно неписаному закону, за этим портом скрывается демон FTP. Определение его производителя и версии для нас является необходимой задачей.

Возьмем произвольный хост и прицепимся к нему телнетом. В итоге получим что-то вроде:

[root@shell root]# telnet fw.ru 21

Trying 212.92.96.34...

Connected to fw.ru.

Escape character is '^]'.

220 servers.cea.ru FTP server (Version wu-2.6.2(1) вт 21 май 2002 15:51:03 MSD) ready.

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

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

Не отчаивайся, у нас есть свои методики для определения дырявых демонов =). К примеру, диалог Wu-Ftpd несколько отличается от ProFTPD. При попытке залогиниться под anonymous'ом wu-ftpd выдает инфу о правильности e-mail адреса, тем самым выдавая себя.

Вообще, полезно знать фразы, которые характерны лишь для определенного сервиса. Виндовый Serv-U всегда ставит восклицательный знак после слова Goodbye, а ProFTPD вместо Guest login ok (такая запись характерна для подавляющего большинства FTPD'шников) пишет Anonymous login ok, тем самым выдавая себя с потрохами. Немного терпения и наблюдательности, и ты всегда сможешь определить версию FTPD за несколько секунд.

SSHD КАК НА ЛАДОНИ

Следующим по счету идет сервис SSHD. Он обосновался на 22-м порту со своего рождения ;). Согласно стандарту RFC, обмен между сервером и клиентом ssh начинается обоюдным обменом версий. Сперва демон показывает заветный баннер, а клиент отдает ему свой version. Вроде бы все просто, и комментарии тут ни к чему. Но большинство людей не могут (или не умеют) определить версию SSHD по его баннеру. Что тут сказать, не умеешь - научим, не хочешь - заставим ;).

Содержание  Вперед на стр. 032-016-2
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75