Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Nmap: FIN-исследование и идентификация операционных систем устройств в сети

Оригинал: Advanced Nmap: FIN Scan & OS Detection
Автор: Rajesh Deodhar
Дата публикации: 1 Января 2011 г.
Перевод: А.Панин
Дата перевода: 23 Сентября 2012 г.

Nmap - это фантастический инструмент, я просто не могу удержаться, чтобы не похвалить его каждый раз, когда использую. В предыдущих статьях серии (см. 1, 2, 3) были подробно описаны многие важные типы исследований устройств и сетей, осуществляемые при помощи Nmap. Давайте продолжим рассматривать особенности Nmap, обсудив некоторые другие параметры командной строки.

Тип исследования TCP SYN, который мы обсуждали ранее, оставляет много следов в системном журнале исследуемого устройства, позволяя обнаружить адрес узла с запущеной программой Nmap. Некоторые узлы с системами защиты от проникновения (IDS) и межсетевыми экранами следят за SYN-сегментами, отправленными на определенные порты. Как же обойти эту проблему при тестировании на возможность проникновения в систему?

FIN-исследование

FIN-исследование предназначено для работы в таких ситуациях. Стандартным применением FIN-пакета является завершение соединения - обычно после того, как обмен данными завершен. Вместо SYN-пакета, Nmap начинает FIN-исследование, используя FIN-пакет.

Поскольку ранее соединение с исследуемым узлом не было установлено, исследуемый узел отвечает RST-пакетом для сброса соединения. Поступая таким образом, исследуемый узел сообщает о своем существовании. FIN-исследование инициируется с помощью команды, подобной этой: nmap -sF 192.168.100.100.

Идентификация операционной системы устройства

С таким обилием различных операционных систем и их версий, любопытно, как программе Nmap удается определить операционную систему исследуемого устройства за очень короткий промежуток времени. Давайте изучим процесс идентификации операционной системы досконально. В таблице представлен пример вывода данных в процессе идентификации операционной системы, при этом исследуется устройство с сетевой картой Intel под управлением ОС Windows XP SP3.

Таблица 1. Анализ вывода данных в процессе идентификации операционной системы

Строка Интерпретация
nmap -O -v -oversiondetect.txt 192.168.2.101 Синтаксис исполняемой программы. Параметр -v делает вывод более подробным
Initiating OS detection (try #1) against 192.168.2.101 Идентификация операционной системы проводится при помощи комбинации эхо-пакетов ICMP, TCP- и UDP-пакетов.
Host 192.168.2.101 is up (0.0030s latency). Состояние узла выявлено почти мгновенно (узел активен).
Interesting ports on 192.168.2.101:
Not shown: 997 closed ports
  PORT STATE SERVICE
  135/tcp open msrpc
  139/tcp open netbios-ssn
  445/tcp open microsoft-ds
Список найденных открытых портов.
MAC Address: 00:16:76:CE:8C:3C (Intel) MAC-адрес сетевой карты и ее производитель.
Device type: general purpose  
Running: Microsoft Windows XP При наличии только одного открытого и одного закрытого порта, Nmap может точно определить операционную систему. Для того, чтобы работать только с узлами, где есть такие порты, и тем самым сэкономить время, используется параметр --osscan-limit.
OS details: Microsoft Windows XP SP2 or SP3 or Windows server 2003  
Network Distance: 1 hop Исследуемый узел в этой же сети.
TCP Sequence Prediction:
Difficulty=264 (Good luck!)
Предсказание TCP-последовательности: трехэтапное рукопожатие TCP инициируется SYN-пакетом с числовым идентификатором. Если значение идентификатора может быть предсказано, возможна атака, при которой специально сформированный пакет может быть выдан за пакет от исследуемого узла. Это значение обозначает сложность предсказания начального идентификатора.
IP ID Sequence Generation: Incremental  
Read data files from: /usr/share/nmap  
OS detection performed. Please report any incorrect results at http://nmap.org/submit/. Позволяет пользователю отправить отчет о неверном определении ОС для улучшения в будущих версиях Nmap.
# NMap done at Tue Nov 30 20:13:03 2010 - 1 IP address (1 host up) scanned in 3.56 seconds Определение ОС для одного устройства заняло меньше 4 секунд!

Безопасность за счет сокрытия информации? Предположим, что вы веб-разработчик, хотели бы вы использовать httpd на нестандартном TCP-порту, например, 1793 вместо стандартного TCP-порта 80? Раньше, до того, как я узнал достаточно о исследовании с помощью Nmap, я думал, что это невероятно! Если служба выполняется на нестандартном порту, это серьезно повышает безопасность.

Добро пожаловать в мир Nmap, который определяет практически любую службу, даже работающую на нестандартном порту.

Таблица 2 показывает вывод Nmap при исследовании реальной системы, защищенной межсетевым экраном IPCop, веб интерфейс которого настроен на работу по протоколу TCP на порту 1775. По умолчанию IPCop предоставляет SSH-сервис на нестандартном порту 222 (вместо стандартного для SSH порта 22). Некоторые строки частично скрыты.

Таблица 2. Вывод данных в процессе исследования операционной системы, защищенной IPCop

Строка Интерпретация
# NMap 5.00 scan initiated Tue Nov 30 21:04:17 2010 as:
nmap -v -O -PN -p222, 1775 -sV -oIPCopOS.txt 121.xxx.xxx.xxx
Для уменьшения времени исследования, используется параметр -PN и указаны номера портов.
Initiating OS detection (try #1) against 121.xxx.xxx.xxx.static-pune.vsnl.net.in (121.xxx.xxx.xxx) Реальный работающий в сети узел
Host 121.xxx.xxx.xxx.static-pune.vsnl.net.in (121.xxx.xxx.xxx) is up (0.052s latency).  
Interesting ports on 121.xxx.xxx.xxx.static-pune.vsnl.net.in (121.xxx.xxx.xxx):

PORT STATE SERVICE VERSION
222/tcp open ssh OpenSSH 4.7 (protocol 2.0)
1775/tcp open http Apache httpd
- Порт SSH с номером 222 обнаружен вместе с версией ПО.
- Порт HTTP с номером 1775 обнаружен вместе с версией ПО.
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port  
Device type: firewall  
Running: IPCop Linux 2.4.X  
OS details: IPCop firewall 1.4.10 - 1.4.18 (Linux 2.4.31 - 2.4.34) Несмотря на то, что один открытый и один закрытый порт не удалось обнаружить, Nmap определил операционную систему и версию ядра.
TCP Sequence Prediction: Difficulty=206 (Good luck!)  
IP ID Sequence Generation: All zeros  
Read data files from: /usr/share/nmap  
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .  
# NMap done at Tue Nov 30 21:04:30 2010 - 1 IP address (1 host up) scanned in 13.61 seconds  

Во время исследования реальных сетей, может потребоваться по разному указывать цели исследования, например, вы хотите исследовать диапазон IP-адресов от 192.168.100.0 до 192.168.100.127. Вводить каждый адрес нецелесообразно, поэтому можно ввести диапазон адресов двумя разными методами: 192.168.100.0/25 или 192.168.100.0-127. Выбирайте метод, который вам больше подходит.

Небольшое предупреждение: будьте осторожны во время использования бесклассовой нотации (CIDR-нотации). Начиная исследование статических IP-адресов с длиной префикса /16, будьте готовы к тому, что это приведет к исследованию всего диапазона адресов класса B. Чтобы узнать, какие адреса в заданном диапазоне будут рассматриваться, добавьте параметр -sL и выполните команду. При этом программа выведет только диапазон адресов и завершится. После проверки можете удалить параметр -sL из командной строки.

Испробуйте данные типы исследования устройств и сетей в работе самостоятельно перед тем, как перейти к рассмотрению других функций программы Nmap. Следите за новыми статьями из данной серии, вас ждет множество интересных советов и реальных примеров!
Продолжение здесь!