httprint Если общими средствами определить ОС на удаленном хосте не получается, можно попробовать заюзать узкоспециализированные утилиты. Например, попытаться определить установленный на другой стороне HTTP-сервер и сделать предположение об операционной системе. С такой задачей справится тулза httprint. Скачать: http://www.sendspace.com/file/0xatfr [Windows] http://www.sendspace.com/file/p0l816 [Linux] http://www.sendspace.com/file/1ng0ji [FreeBSD] ike-scan Особенная утилита, которая распознает использование VPN. Большинство хостов, использующих VPN-соединение, отконфигурировано таким образом, что в ответ на специально сгенерированный пакет отзываются и тем самым выдают свое присутствие. Подобных методов определения VPN-сети ike-scan - несколько. Ты скажешь: "причем тут fingerprinting?". Но на самом деле, определив VPN-серверы, мы можем собрать массу информацию о них. А используя приемы fingerprinting'а, реализованные в ike-scan, можно определить операционные системы машин, объединенных в виртуальную частную сеть, а в случае аппаратного решения – еще и производителя оборудования. Скачать: http://www.sendspace.com/file/8v2tm0 [Windows] http://www.sendspace.com/file/injcl0 [Unix] NetworkMiner NetworkMiner является одним из лучших инструментов для анализа перехваченных данных, сохраненных в формате PCAP. Утилита пассивно анализирует дамп с трафиком, четко определяет участников обмена сетевыми данными и далее распознает операционные системы на каждом из хостов по размеру окна, времени жизни пакета, а также уникальности набора флагов. Помимо операционок, NetworkMiner определяет и структурировано выдается инфа об открытых сессиях, активных портах, снятых баннерах различных демонов и прочей инфраструктуре сети. Определение ОС основывается на TCP SYN и SYN+ACK пакетах с использованием базы данных p0f'а и Ettercap. Помимо этого утилита умеет выполнять fingerprinting на основе DHCP-пакетов, используя базу данных программы Satori. Само собой, выполняется и идентификация устройств по MAC-адресу: соответствующая база позаимствована у Nmap. Скачать: http://www.sendspace.com/file/chb7me Nmap Пожалуй, наиболее известным инструментом для активного fingerprinting'а является известнейший сканнер безопасности Nmap. Надо сразу сказать, что Nmap очень многогранный продукт, но нас в данном случае интересует, прежде всего, возможности по OS Fingerprinting'у (ключ -O). Несколько простых экспериментов показали, что новые алгоритмы и сигнатурные базы у новой версии nmap'а стали давать более правдивые результаты. Результат сканирования microsoft.com старой версией сканнера давал, не сказать, что бы очень правдивый результат. Скачать: http://www.sendspace.com/file/vuo0lf [Windows] http://www.sendspace.com/file/bggq17 [Unix] p0f В отличие от Nmap, в арсенале которого масса активных методик для реализации fingerprint'а, p0f работает пассивно. Т.е. в результате работы не генерирует какого-либо трафика, который может выдать тебя, особенно если в удаленной сети установлен более-менее толковое средство IDS (средства определения атак). Помимо этого утилита владеет несколькими другими полезными фокусами и в разной степени может дать ответ, используется ли в локалке NAT, активен ли файрвол или шейпер, а также рассчитать примерное "расстояние" до удаленного хоста и его аптайм. В результате p0f может рассказать об ОС на удаленном хосте, даже если она находится за файрволом и любимый nmap остается полностью не удел. При этом, еще раз повторяю, утилита не генерирует какого-либо трафика. Никаких lookup'ов, загадочных пакетов, ARIN запросов - ничего! Скачать: http://www.sendspace.com/file/abdlil [Windows] http://www.sendspace.com/file/mhrqgs [Unix] SAM Активное средство для fingerprinting'а, основанное на посылке широковещательных ARP-пакетов. Скачать: http://www.sendspace.com/file/stzsyy Satori Автор Satori потратил немало времени на активный OC fingerprinting, пока не осознал, насколько много информации можно получить, основываясь лишь на пассивном исследовании. В результате на свет появилась тулза, которая использует драйвер WinPCap, слушает сетевой интерфейс и определяет версии ОС на системах в локалке, основываясь на перехваченных пакетах. Satori очень четко определяет версию Windows, устройства HP (использующие HP Swith Protocol), девайсы Cisco (за счет пакетов CDP протокола). Немалый вклад в результат, полученный с помощью Satori, дает методы, основанные на исследовании DHCP. Кстати говоря, на официальном сайте [myweb.cableone.net/xnih/papers.htm] программы выложены классные статьи, в которых детально раскрываются методы для определения ОС. Теория подкрепляется практикой. Скачать: http://www.sendspace.com/file/zhbo1a [Windows] http://www.sendspace.com/file/8rn04n [Linux] SinFP Многие администраторы начали выстраивать защиту подделывая информацию об OS и тем самым легко обманывают большинство утилит для фингерпринтинга. В то время как Nmap осуществляет идентификацию хоста в целом и может легко быть обведен вокруг пальца за счет измененных параметров TCP/IP стека, SinFP использует сигнатурный анализ по конкретным портам. Прога написана на Perl'е, причем в случае необходимость ее можно использовать и в своих проектах, просто подключив модуль с одноименным названием. Его легко найти в CPAN: search.cpan.org/~gomor/Net-SinFP/. Скачать: http://www.sendspace.com/file/de6llx THC-Amap Если хочешь выяснить, какие сервисы установлены на удаленной машине, — просканируй ее порты. В большинстве случаев можно обойтись одним лишь сканнером безопасности (например Nmap'ом), однако здесь, как и везде, не обошлось без исключений. Каждый знает, что любой стандартный сервис обычно работает на определенном порте: например, FTP на 21, SSH на 22 и т.д. Тем не менее, администраторы частенько прибегает к одной очень простой, но полезной уловке. Для того чтобы скрыть потенциально уязвимые сервисы, они устанавливают их на нестандартные порты. В этом случае даже легендарный сканнер безопасности Nmap остается не удел, т.к. далеко не может определить FTP-сервер, работающий на 31337 порту, даже если он там действительно есть. Но не беда! С этой задачей на ура справляется сканнер Amap от известной хакерской группы THC. Этот сканер с большой вероятностью определит даже те сервисы, которые работают не на своих стандартных портах. Успех достигается за счет того, что программа посылает сервису специальные идентификационные пакеты, после чего анализирует ответ и ищет соответствие в специально составленной базе сигнатур. Таким образом, идентификация осуществляется не по номеру порта, а по "отпечаткам пальцев" сервисов. До неприличия простой механизм позволяет определить SSL-сервер, запущенный на 2162 порту, или веб-сервер, установленный на 90-м. Сканнер Amap легко сканирует как один конкретный порт, так и заданный диапазон. Однако для лучшей производительности рекомендую использовать его совместно с Nmap’ом. Алгоритм следующий: сначала Nmap, используя все свои возможности, определяет на удаленной машине открытые порты и записывает результат в файл, далее за работу берется Amap, которому остается проанализировать открытые порты и вывести результат. Скачать: http://www.sendspace.com/file/a392aa [Windows] http://www.sendspace.com/file/ikqg7o [Unix] Xprobe2 Xprobe2 - это утилита для активного fingerprint'а, в арсенале которой несколько знакомых по Nmap'у методов определения удаленной ОС, так и уникальные приемы, в основе которых лежат результаты научных исследований Офира Аркина. Важным отличие с момента появления новой версии - является модуль для обнаружения honeypot и систем с намеренно модифицированными параметрами стека TCP/IP. Для решения этих задач используется алгоритмы нечеткой логики, а также анализ разных сигнатур, полученные в результате проверок удаленной системы на различных уровнях сетевой модели OSI. Более того, в расчет берется поведения различных устройств для роутинга и манипуляции, с пакетами. Например, pf, входящий в состав OpenBSD известен тем, что возвращает разные значения в поле TTL, когда за ним находится другая система. Скачать: http://www.sendspace.com/file/nnkcvx [Unix]
httprint, Satori, SAM, p0f ни разу адекватно не определила удаленную ось, ставил давно, да и на сколько известно давно они уже не обновляют базу сигнатур