|

УЗНАЙ ДЕМОНА!
Докучаев Дмитрий aka Forb
Спецвыпуск Xakep, номер #032, стр. 032-016-3
Для автоматизации процесса лучше всего использовать тулзу netcat от Astake. Ты наверняка уже слышал о ней (а если нет, бегом сливай сей проект по адресу http://www.atstake.com/research/tools/nc110.tgz). NetCat умеет снимать баннеры с сервисов, поэтому, интегрируя эту возможность с сетевыми потоками, мы сможем без особого труда определить версию веб-сервера.
Для достижения цели создаем файл get.txt, в котором будет находиться запрос www-заголовка (HEAD / HTTP/1.0 и два символа перевода строки), и связываем его с бинарником netcat командой
nc -vv www.server.ru 80 < ./get.txt |grep Server.
В итоге получаем исчерпывающую инфу о версии демона. Как правило, поле Server имеет вид:
Server: Apache/1.3.19 (Unix) mod_perl/1.24_01 mod_throttle/2.11 PHP/4.0.6 FrontPage/4.0.4.3 mod_ssl/2.8.3 OpenSSL/0.9.6b mod_gzip/1.3.19.1a.
Нетрудно заметить, что модуль PHP уязвим, и сервер может быть взломан с помощью соответствующего эксплойта. Теперь ты понимаешь, какую важную инфу может дать хакеру версия сервера и его модулей?
Впрочем, можно легко обойтись и без netcat, заменив его обычным telnet'ом, но для перебора целого диапазона адресов с целью дознания версий httpd - netcat незаменим.
ВСЕМ СПАСИБО, ВСЕ СВОБОДНЫ!
Вот, собственно, и вся информация о способах ручного детектирования версий демонов. Ты можешь воспользоваться различными сканерами и тем самым узнать (или не узнать) удаленный сервис. Но ручное определение засечь гораздо сложнее, чем тупой перебор всех портов со стороны сканера. Поэтому, если ты в совершенстве будешь владеть вышеизложенными методами, твоя безопасность будет стопроцентной. Поэтому набивай руку и тренируйся, и совсем скоро ты будешь узнавать любой демон по первому баннеру ;).
И это далеко не предел...
На самом деле, даже при бинарном обмене данными можно легко узнать версию демона. Если нажать Enter при обмене данными в MySQL, например, то можно легко узнать версию mysqld. Диалог будет выглядеть примерно следующим образом:
[root@shell root]# telnet ns2.rose.ru 3306
Trying 213.221.44.104...
Connected to ns2.rose.ru.
Escape character is '^]'.
(
3.23.42f6{,c2kGa
Connection closed by foreign host.
Как видим из последней строчки, версия демона sql: 3.23.42.
Нередко баннеры умышленно заменяются (этакая защита против хакеров со стороны злых админов), а в случае бинарных протоколов баннеры вообще отсутствуют.
В шапке SSHD указаны две независимые версии. Первая - версия протокола SSH, вторая - пакета OpenSSH.
Тот же named, который висит на 53-м порту, не скажет тебе ни слова при попытке подцепиться к нему.
Стоит всего-навсего послать HEAD-запрос, и Апач (а их подавляющее большинство) с радостью скажет нам свою версию.
Назад на стр. 032-016-2 Содержание
|