РАЗБОР
Pentest
Статья
Книга по nmap на русском: полное руководство по сетевому сканированию
[ обложка статьи ]
Режим чтения
Оглавление
- Преамбула
- Сводка опций
- Определение цели сканирования
- Обнаружение хостов
- Основы сканирования портов
- Различные приемы сканирования портов
- Определение портов и порядка сканирования
- Обнаружение служб и их версий
- Определение ОС
- Скриптовый движок Nmap(NSE – Nmap Scripting Engine)
- Опции управления временем и производительностью
- Обход Брандмауэров/IDS
- Вывод результатов
- Различные опции
- Взаимодействие во время выполнения
- Примеры
Преамбула
nmap — Утилита для исследования сети и сканер портов
Nmap (“Network Mapper”) это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует сырые IP пакеты оригинальными способами, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.
Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой в зависимости от заданных опций. Ключевой информацией является “таблица важных портов”. Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильт или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложение, так что они могут быть открыты в любой момент. Порты расцениваются как не фильтрованные, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется, когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых IP протоколах, а не об открытых портах.
В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение о используемой операционной системе, типы устройств и MAC адреса.
Типичное сканирование с использованием Nmap показано в Примере 1. Единственные аргументы, использованные в этом примере это -A, для определения версии ОС, сканирования с использованием скриптов и трассировки; -T4 для более быстрого выполнения; затем два целевых хоста.
Пример 1. Типичный пример сканирования с помощью Nmap:
Код:
# nmap -A -T4 scanme.nmap.org playground
Starting Nmap ( https://nmap.org/ )
Interesting ports on scanme.nmap.org (64.13.134.52):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Interesting ports on playground.nmap.org (192.168.0.40):
(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
389/tcp open ldap?
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP
Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds
Использование:
nmap [Тип(ы) сканирования] [Опции] {заданные_цели}
ОПРЕДЕЛЕНИЕ ЦЕЛИ СКАНИРОВАНИЯ:
ОБНАРУЖЕНИЕ ХОСТОВ:
РАЗЛИЧНЫЕ ПРИЕМЫ СКАНИРОВАНИЯ:
ОПРЕДЕЛЕНИЕ ПОРТОВ И ПОРЯДКА СКАНИРОВАНИЯ:
ОПРЕДЕЛЕНИЕ СЛУЖБ И ИХ ВЕРСИЙ:
СКАНИРОВАНИЕ С ИПОЛЬЗОВАНИЕМ СКРИПТОВ:
ОПРЕДЕЛЕНИЕ ОС:
ОПЦИИ УПРАВЛЕНИЯ ВРЕМЕНЕМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ:
ОБХОД БРАНДМАУЭРОВ/IDS:
ВЫВОД РЕЗУЛЬТАТОВ:
РАЗЛИЧНЫЕ ОПЦИИ:
ИНТЕРАКТИВНЫЕ КОМАНДЫ:
ПРИМЕРЫ:
Определение цели сканирования
В командной строке Nmap все, что не является опцией (или аргументом опции), рассматривается как цель сканирования. В простейшем случае для сканирования используется IP адрес или сетевое имя целевой машины.
Иногда необходимо просканировать целую сеть. Для этого Nmap поддерживает CIDR адресацию. Вы можете добавить /<кол-во бит> к IP адресу или сетевому имени и Nmap просканирует каждый IP адрес, для которого первые <кол-во бит> такие же как и у заданного хоста. Например, 192.168.10.0/24 просканирует 256 хостов между 192.168.10.0 (бинарное: 11000000 10101000 00001010 00000000) и 192.168.10.255 (бинарное: 11000000 10101000 00001010 11111111) включительно. 192.168.10.40/24 сделает абсолютно то же самое. Зная, что IP адрес scanme.nmap.org 64.13.134.52, при записи типа scanme.nmap.org/16 будет произведено сканирование 65,536 IP адресов между 64.13.0.0 и 64.13.255.255. Наименьшее допустимое значение /0, при котором будет просканирован весь Интернет. Наибольшее значение /32, при котором будет просканирован только заданный хост или IP адрес, т.к. все адресные биты заблокированы.
CIDR нотация коротка, однако не всегда достаточно гибка. Например, вы хотите просканировать 192.168.0.0/16, но пропустить все IP-ки оканчивающиеся на .0 или .255, т.к. обычно это широковещательные адреса. Nmap может осуществить такое сканирование путем задания диапазонов в октетах. Вместо определния обычного IP адреса, вы можете определить для каждого октета либо разделенный запятыми список чисел, либо диапазон. Например, 192.168.0-255.1-254 пропустит все адреса в диапазоне оканчивающиеся на .0 и .255. Диапазоны не обязательно задавать только в последних октетах: при записи 0-255.0-255.13.37 будет произведено сканирование всех адресов в Интернете оканчивающихся на 13.37. Такой тип сканирования может быть полезен для обозрения просторов Интернета и различных исследований.
IPv6 адреса могут быть определны только в форме, полностью соответствующей правильной форме записи IPv6 адресов. CIDR и использование диапазонов в октетах не применимо к IPv6 адресам, т.к. они редко используются.
Вы можете передавать в командной строке Nmap различные варианты определения целей, не обязательно одного типа. Команда nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 сделает то, что вы ожидаете.
Цели сканирования обычно задаются в командной строке, и существуют различные опции контроля выбора целей:
Код:
-iL <имя_файла> (Ввод из списка)
Код:
-iR <кол-во хостов> (Выбирает произвольные цели)
Код:
–exclude <хост1>[,<хост2>[,…]] (Исключить хосты/сети)
Код:
–excludefile <имя_файла> (Исключить список из файла)
К следующей части книги Как обнаружить хосты с помощью nmap
AI-выжимка
сгенерировано ИИ
Тезисы статьи скоро
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
Содержание
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Перейти к курсу →
Поиск в обсуждении
Карта ветки
Продолжить чтение
Следующий разбор
Инструменты пентестера: TOP-10 с реальными примерами в каждой фазе атаки
Ещё по теме
- Статья
- Статья
Комментарии
5