Узнай по отпечаткам Павел П. aka UkR-XblP Хакер, номер #070, стр. 070-068-1 Определение типа и версии сервисов на примере IMAP Взламывая ту или иную систему, чрезвычайно важно собрать о ней как можно больше сведений. В самом деле, необходимо знать, какие сервисы установлены на ломаемом компьютере, какие версии используются и насколько достоверна информация, которую выдают баннеры сервисов. Ведь можно очень долго долбить какой-нибудь, по твоему мнению, дырявый ftpd, в то время как сисадмин решил над тобой пошутить и просто поменял баннер. О том, как можно достоверно определить версию установленного сервиса, сегодня тебе расскажет UkR-XblP. Зачем это надо? В последнее время очень много внимания уделяется удаленному определению типов и версий различных сетевых сервисов, называемому термином fingerprint. С чем же это связано? На протяжении последних лет мы могли видеть бурную эволюцию обманных систем, систем в первую очередь привлечения, а потом уже изучения принципов и методов действий хакеров. Такие системы получили название honeypot (забавно, так еще называется комитет по энергетике и промышленности Конгресса США :)) и honeynet ("капкан" и "сеть капканов", соответственно). Для многих сисадминов изменение различных дефолтных настроек (в том числе текстовых баннеров) уже стало скорее правилом, чем исключением. Следовательно, не обладая достоверными сведениями о типе и версии установленного программного обеспечения, практически невозможно эксплуатировать соответствующие известные уязвимости. Поэтому важно уметь определять версию и тип сервиса не только по баннеру, но и по некоторым другим признакам, дающим наиболее достоверную информацию. Чтобы не грузить тебя скучной теорией, я решил все показать на примере протокола IMAP (Internet Message Access Protocol). Для танкистов напомню, что IMAP позволяет манипулировать удаленными почтовыми ящиками так, будто они являются локальными. В зависимости от реализации IMAP-клиента и сервера, пользователь может сохранять сообщения только на клиентской машине, только на сервере или в обоих местах. Более подробно и строго этот протокол описан в RFC 1730 и RFC 2060, которые ты без труда найдешь на нашем диске. Как это сделать? Тип и версию какого-либо сервиса на удаленной машине проще всего определить при помощи метода, получившего название banner grabbing. Метод заключается в анализе баннера, текстового приветственного сообщения, посылаемого сервером клиенту при соединении. Например, часто можно встретить такое приветствие: [testlab@www testlab]$ telnet 192.168.1.5 143 Trying 192.168.1.5... Connected to 192.168.1.5. Escape character is '^]'. * OK testmail Cyrus IMAP4 v2.0.12 server ready. Как видно из баннера, на сервере стоит Cyrus IMAP4 server версии 2.0.12. Этой информации достаточно, чтобы, собрав эксплойт для buffer overflow в Cyrus IMAP4 server, взломать систему. Однако не все реализации IMAP серверов дают такую исчерпывающую информацию. К примеру, ты запросто можешь попасть и в другую ситуацию: [testlab@www testlab]$ telnet 192.168.1.5 143 Trying 192.168.1.5... Connected to 192.168.1.5. Escape character is '^]'. |