Категория: Windows: Сканеры, сниферы
Автор: Rajesh Deodhar
Дата публикации: 1 Августа 2010 г.
Перевод: А.Панин
Дата перевода: 27 сентября 2012 г.
Использование Nmap является отправной точкой при анализе любой сети. Это потрясающий инструмент - компактный и мощный. В данной статье рассматривается ряд функций и параметров программы Nmap.
Страница руководства Nmap описывает данную программу как инструмент исследования и аудита безопасности сети, а также сканер портов. Nmap (Network Mapper) - это универсальная программа с открытым исходным кодом, без которой просто не могут обойтись системные администраторы. Некоторые возможности программы:
- Может определять название и версию операционной системы (в случае невозможности определения, пользователю предлагается выслать данные разработчикам для включения в новые версии Nmap).
- Предлагает различные варианты исследования сети.
Предупреждение: во время использования Nmap не забывайте о следующем!
По строгим правилам индийского законодательства в сфере информационных технологий (Indian Cyber Law 2000, включая последние поправки), даже сканирование портов некоторых серверов может повлечь ответственность в виде тюремного заключения. Не исследуйте системы и сети, к которым вы не имеете отношения без письменного согласия владельца.
Вы можете исследовать ресурс с адресом scanme.nmap.org с целью тестирования программы. При этом разрешено использование исключительно программы Nmap и запрещено тестирование эксплоитов и проведение атак отказа в обслуживании (DDOS - атак). Не забывайте следовать правилам, изложенным на странице руководства Nmap. В случае нарушения правил использования данного сервиса, от владельцев сайта последует обращение в государственные структуры.
Используйте Nmap очень аккуратно, и только для исследования и аудита безопасности ваших сетей. Как будет описано в данной статье, это очень мощный инструмент, который может нарушить работу или нанести ущерб исследуемой системе или сети.
Полностью разберитесь в том, что вы будете делать перед тем, как приступить к работе, даже при исследовании по сценарию. Неосведомленность не освобождает от ответственности.
Также помните, что если у вас есть сайт, на сервере хостинг-провайдера или на арендованном вами сервере, вам принадлежит только контент сайта, но не сервер и сеть. В идеальном случае, вам необходимо получить разрешение от хостинг-провайдера или владельца сервера даже для тестирования собственного сайта.
Стандартный формат командной строки Nmap выглядит следующим образом:
nmap [тип(ы) исследования] [параметры] <описание целей исследования>
У Nmap обширный список параметров командной строки, разделяемый на описание целей исследования, список узлов, параметры портов, идентификацию служб, технику исследования, сценарии исследования и параметры вывода данных. Некоторые параметры работают только при запуске Nmap пользователем root (суперпользователем). Рассмотрим ряд стандартных команд Nmap:Эти стандартные команды полезны для исследования любой сети и преследуют такие цели, как: проверка на наличие открытых портов; определение нежелательных служб (таких как SSH, VNC, FTP и других), выполняющихся на важных узлах; получение списка активных IP-адресов в сети, и.т.д.
Тем не менее, эти простые и понятные операции могут не удовлетворять всем требованиям. Иногда, например, специфические типы исследования требуются для тестирования систем определения и предотвращения несанкционированного доступа. Также может стоять задача затруднить идентификацию сканера целевой системой.
Хотя Nmap и предоставляет ряд способов сокрытия вашего IP-адреса (вы также можете скрыть свой MAC адрес при помощи спуфинга), нужно быть осторожным при использовании данных команд. Они требуют глубоких знаний протоколов TCP/IP и могут нарушить работу или нанести ущерб исследуемой системе или сети в случае некорректного использования. Давайте рассмотрим несколько техник для затруднения идентификации сканера целевой системой.
Техника "Idlescan"nmap -v -sI 192.168.10.100 192.168.10.105
В данном случае исследуется система с IP адресом 192.168.10.105 с имитацией того, что источником пакетов является другой узел; в логах исследуемой системы будет зафиксирован адрес 192.168.10.100. Данный узел называется зомби-узлом (zombie host).
В контексте сетей, зомби-узлами называются узлы, контролируемые другими узлами в сети. Не все узлы могут быть использованы как зомби, так как для этого необходимо выполнить ряд условий. (Найти зомби-узел в сети можно при помощи таких пакетов, как hping.) Параметр -v позволяет выводить более подробные сообщения в процессе работы программы.
Техника узлов-ловушек "Decoy host"nmap -sS -P0 -D 192.168.10.201,192.168.10.202,192.168.10.203 192.168.10.50
Данная команда особенно полезна во время тестирования IDS/IPS (системы обнаружения и предотвращения вторжений). При помощи параметра -sS производится SYN-исследование устройства. В процессе происходит подмена содержимого пакетов для того, чтобы устройство считало источниками пакетов узлы, заданные параметром -D. Параметры -s1 и -D не могут быть использованы одновременно по понятным причинам.
Теперь небольшое предупреждение: будьте осторожны, чтобы не допустить непреднамеренной атаки отказа в обслуживании при использовании параметра -D. Для понимания того, как это может произойти, необходимо знать принцип действия трехэтапного рукопожатия TCP (TCP handshake). TCP - протокол, обеспечивающий постоянное соединение с гарантированной доставкой пакетов, использует трехэтапное рукопожатие:
- Клиент инициирует соединение, отправляя серверу сегмент SYN
- Сервер отвечает сегментами SYN-ACK
- Клиент отвечает сегментом ACK, после чего соединение считается установленным и может производиться обмен данными
Если параметр -D используется и присутствует работающее устройство по адресу узла-ловушки, то сегменты SYN-ACK достигают устройства с IP-адресом узла-ловушки, а не устройства с запущенной программой Nmap. Поскольку устройство с адресом узла-ловушки не инициировало соединение, оно закрывает его, отправляя сегмент RST. Здесь нет никаких проблем.
Тем не менее, проблема появляется, если устройство с адресом узла-ловушки не активно в сети - сегмент RST не отправляется исследуемому устройству, котораое держит соединение открытым. Так как Nmap продолжает генерировать запросы с адресом узла-ловушки, как источника пакетов, количество открытых соединений в стадии "соединение инициировано" растет. Это увеличивает потребление ресурсов исследуемым устройством и может привести к отказу в обслуживании, в том числе и соединений с другими узлами.
Другие параметры командной строкиРазработчики Nmap продумали ряд возможностей программы во время ее проектирования. Одним из примеров служит параметр -ttl. Чтобы понять, как его использовать, давайте снова подробно рассмотрим протокол IP. Заголовки пакетов содержат поле, называемое TTL (Time To Live - время жизни). Значение TTL устанавливается устройством, отправившим пакет. Каждое устройство, принимающее или передающее пакет по маршруту его назначения, уменьшает значение TTL на некоторую величину.
Если значение TTL уменьшается до нуля до того, как пакет достиг узла назначения, он отбрасывается, а ошибка ICMP отправляется источнику пакета. Данный механизм призван предотвратить затраты ресурсов сети на постоянную пересылку между узлами пакетов, которые не могут быть доставлены по адресу назначения.
Несмотря на то, что параметр TTL изначально задумывался как величина времени, на что указывает название, на самом деле, его значение уменьшается на один, а не на некое количество секунд при каждой пересылке пакета между узлами. Таким образом, значение поля TTL отражает максимальное количество передач пакета между узлами, при котором пакет не будет отброшен.
Стандартное значение TTL во многих операционных системах системах равно 128. Однако, параметр -ttl позволяет вам задать нужное значение TTL для пакетов Nmap, что является очень полезной особенностью. Это позволяет, к примеру, быть уверенным, что пакет не попадет из вашей локальной сети в Интернет. Здорово, не правда ли?
Некоторые другие важные параметры командной строки Nmap, требующие понимания протоколов TCP/IP:
- Фрагментация пакетов (параметры -f и -ff )
- Использование техники "FTP bounce" для исследования посредством FTP - серверов (-b )
- Изменяемое время задержки исследования (-scan_delay особенно полезно если на сервере используются системы IDS/IPS, блокирующие запросы Nmap)
- Временные политики (-T )
- Исследование по сценарию
Список активных узлов в сетиСтандартная последовательность действий при тестировании сети начинается с составления списка активных узлов. Список может использоваться как исходные данные для других программ, в которых не предусмотрено возможности поиска активных узлов, но требуется один или несколько IP-адресов. Короткая последовательность команд для этих целей:
nmap -sP -n -oG hostlist 192.168.10.0/24
cut -d " " -f2 hostlist > iplist
Первая команда выполняет пинг-исследование (-sP ) и генерирует список активных узлов в заданной сети или диапазоне адресов. Этот список будет сохранен в файле hostlist в формате, совместимом с утилитой grep (-oG ). Вторая команда читает данные из файла, делит каждую строку на несколько полей, используя пробел в качестве разделителя, и записывает содержимое второго поля (IP-адрес) в файл iplist. который и является списком активных IP-адресов в заданном диапазоне.
Графическая оболочка ZenmapУ Nmap обширный список параметров командной строки, которые трудно запомнить и использовать даже опытным системным администраторам. Zenmap, графическая оболочка для программы Nmap, значительно ее упрощает. Она предлагает даже готовые профили исследования, из которых можно выбрать подходящий. Команды, генерируемые графической оболочкой, могут быть выполнены также и из командной строки в случае необходимости. Графическая оболочка имеет к тому же очень важную дополнительную функцию - графическое отображение обнаруженных узлов и количество пересылок пакетов, необходимое для достижения каждого из них! Примерный вид графического отображения представлен ниже.
Надеемся, что важные понятия протоколов TCP/IP, мощь Nmap и другие идеи заинтересовали вас! В таком случае читайте следующую статью.
Эта статья еще не оценивалась
Ниже вы найдете 20 базовых примеров использования команды Nmap .
Вы узнаете, как использовать Nmap из командной строки в Linux для поиска активных хостов в сети и сканирования открытых портов.
Вы увидите, как удаленно определить операционную систему с помощью отпечатков стека TCP/IP и как узнать версию программного обеспечения запущенного на удаленном сервере.
Я так-же покажу как с помощью Nmap осуществить скрытое сканирование. как определить фаервол и как подменить MAC адрес .
1. Сканирование Одного Хоста или IP АдресаСканировать Отдельный IP Адрес :
Сканировать сервер по Имени Хоста :
Увеличить Уровень Детализации результатов сканирования :
2. Сканирование Множества IP Адресов 4. Сканирование Списка Хостов из Файла 5. Исключение IP/Хостов/Сетей из Сканирования 6. Сканирование Определенных Портовnmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб). wiki
Установка под Ubuntu
nmap имеет богатый набор опций для сканирования как отдельного хоста так и диапазона хостов на предмет сбора разной информации. Ниже приведен список наиболее использованных мной сочетаний ключей.
Для работы большинства возможностей nmap требуется права root.
Разработчики nmap предлагают хост scanme.nmap.org для тестового сканирования.
-O – определение версии операционной системы
Пропинговать диапазон адресов
-sP - ping-сканирование
Проверка одного порта или диапазона
-sT - TCP-сканирование
При сканировании можно скрыть свой IP адрес
Сканирование списка хостов из файла
Для определения открытых портов на локальной машине нужно выполнить
Для принудительного закрытия определенного порта можно воспользоваться fuser
Определение разницы между двумя сканами
Подсчет Linux/Windows машин в сети (источник )
Для linux-систем можно отключить ответы на ping-запросы (ICMP echo), для этого нужно добавить в /etc/sysctl.conf следующие строки
и приминить изменения
Дополнительное чтиво
Nmap — это бесплатная, с открытым исходным кодом утилита исследования сети и проведения аудита безопасности. Она широко используется в сообществе пользователей Linux, поскольку является простой в применении, но в то же время очень мощной. Принцип работы Nmap, говоря простым языком, заключается в отправке пакетов данных на заданную цель (по IP) и в интерпретировании возвращаемых пакетов для определения, какие порты открыты/закрыты, какие службы запущены на сканируемой системе, установлены и включены ли файерволы или фильтры и, наконец, какая операционная система запущена. Эти возможности позволяют собрать много ценной информации. Давайте рассмотрим некоторые из этих возможностей. Кроме типичных для подобных статей примеров команд, будут даны рекомендации о том, как использовать собранные во время сканирования данные.
Установка Nmap в Debian Установка Nmap в Ubuntu Использование сканера безопасности NmapТеперь программу можно запускать набрав в терминале “nmap”. Список опций можно посмотреть по команде
Но я рекомендую посмотреть эти же опции по этой ссылке. поскольку там они на русском языке.
Чтобы показать некоторые возможности nmap, подготовлены несколько примеров. Главная цель — чтобы вы уловили суть и возможности программы. После этого вы сможете модифицировать команды под свои собственные нужды.
Обратите внимание, что программе nmap требуются привилегии суперпользователя для некоторых её функций. В Kali Linux этого не нужно, но на всех других системах запускайте команду с sudo. В примерах я буду использовать sudo, в Kali команды выглядят также, но отбрасывайте sudo.
Собираем информацию об открытых на сервере портах, запущенных службах и версиях программного обеспеченияЭто простая команда может использоваться для проверки доступен ли сайт (в данном случае я использовал сайт webware.biz). Обращаем внимание на открытые порты.
Эта опция даст команду nmap попробовать предположить, какая операционная система запущена на целевой системе. Если все порты фильтруются, эта команда будет лучшим вариантом, но результаты нельзя расценивать как гарантировано надёжные. Обратите внимание на проценты — они говорят о вероятности угадывания.
Эта команда позволяет пользователю проверить службы, запущенные на цели. Обратите внимание, что появился столбик VERSION — в нём указана версия программного обеспечения.
Ищем веб-сервера, роутеры, веб-камеры, SSH, FTP и прочееО том, как задавать цели для Nmap, сказано в книге на которую в конце дана ссылка. В следующих примерах я использую строку 193.106.148-153.1-255. Она означает просканировать подсети с 193.106.148.* по 193.106.153.*, причём в каждой из этих подсетей будут просканированы адреса с *.*.*1 по *.*.*255, т.е. это 193.106.148.1-255, 193.106.149.1-255, 193.106.150.1-255 и т.д.
Поиск роутеров, веб-серверов, веб-камерУ роутеров, веб-серверов, веб-камер обычно открыты порты 80, 8080 и 1080. Просканировать эти порты и вывести только те адреса, на которых что-то открыто, можно этой командой.
В моём случае вывод получился сумбурным, но это хорошо, что данных много — есть с чем поработать.
Обычно FTP «висит» на 21 порту, поэтому используем предыдущую команду, только меняем сканируемый порт.
Хороший результат, есть на что посомтреть.
Порт по умолчанию для SSH — 22, там и ищем.
Есть контакт:
Помните, что на дефолтных портах оставляют либо от недостатка опыта (начинающие системные администраторы), либо от безысходности (например, хостеры — если они поменяют порт FTP со стандартного на другой, то служба технической поддержки будет завалена жалобами клиентов о том, что «FTP совсем не работает»). Все остальные системные администраторы «подвешивают» SSH и прочие сервисы на высокие порты. Если сделать так, то в логах ошибок наступает тишь и благодать, разница очень заметна по сравнению со стандартными портами, на которые вечно шлют разную фигню и пытаются брутфорсить. А вменяемые люди вообще не используют FTP, а используют сервисы с шифрованием, хотя бы тот же SFTP (вариантов FTP с шифрованием масса). Но хостеры не могут себе этого позволить по уже озвученной причине — есть опасность потерять клиентов от того, что им слишком сложно разобраться.
Т.е. если вы тестируете на проникновение конкретный компьютер/сервер, то проверяйте все порты — с первого до последнего (65535). Если диапазон тестируемой сети небольшой, то можно задать тестирование всех портов с фильтрацией по словам ftp ( | grep 'ftp'), ssh ( | grep 'ssh') и т. д. Например так:
Нужно быть готовым к большим затратам времени.
Zenmap — Графический интерфейс (GUI) для NmapУ команды nmap огромное количество опций. Если вы запутались в этих опциях и хотите чего-то более дружеского и привычного, то обратите своё внимание на Zenmap. Это графический интерфейс для Nmap.
По большому счёту, нужно только ввести адрес цели. Уже установлен профиль сканирования по умолчанию, который вы всегда можете поменять на другой. Вам не нужно помнить и вводить ключи, как это необходимо для приложения командной строки. Всё просто, вывод раскрашен разными цветами, что облегчает восприятие. Есть несколько вкладок, в которых визуализирована и обобщена полученная информация.
Что делать с полученной в Nmap информациейСобственно, а что нам дают все эти открытые порты, все эти службы, все эти компьютеры с FTP и прочим?
Если вы умеете пользоваться только Nmap, то полученная в ней информация вряд ли пригодится. Это только начало пути. Варианты использования полученной информации:
Типичными лёгкими целями являются VPS, которые настроили начинающие системные администраторы. Если вас интересует сканирование адресов в конкретном городе или по конкретному провайдеру, то можно воспользоваться этим сервисом.
Дополнительный материал по Nmap и о том, делать с полученными результатами сканированияNmap (Network Mapper) - свободная утилита с открытым исходным кодом, предназначенная для сканирования сетей и аудита сетевой безопасности. Nmap использует множество различных методов сканирования (UDP, TCP, TCP SYN, FTP, ICMP и т.д.), а также поддерживает большой набор дополнительных возможностей.
Ниже описаны некоторые полезные возможности этой замечательной утилиты.
Для выполнения большинства операций nmap требуются полномочия пользователя root. При запуске nmap от имени обычного пользователя значительная часть функций будет не доступна.
1. Получение информации об удаленном хосте и определение операционной системыNmap используются в следующем виде:
Еще опции:
Используя альтернативные опции, команда выглядит следующим образом:
2. Определение списка серверов с открытым портомNmap используются в следующем виде:
Номер порта указывается после опции "-p". В данном примере, выполняется поиск машин, для которых возможен вход по ssh (если, конечно, не изменен порт по умолчанию для ssh).
3. Поиск активных IP адресов в сети 4. Опросить (пропинговать) диапазон адресов 5. Поиск неиспользуемых IP адресов в подсети 6. Поиск вируса Conficker в подсетиЧтобы скорректировать список IP адресов, заменить "192.168.0.1-256" на свой вариант.
7. Поиск в сети мошеннических точек доступа (AP)Nmap используются в следующем виде:
8. Декорирорование истинного IP адреса при сканировании сетиNmap используются в следующем виде:
В данном примере выполняется поиск открытых портов на машине 192.168.0.10, в качестве адреса, откуда ведется сканирование указывается адрес 192.168.0.2. Таким образом, в логах машины 192.168.0.10 будет отображен не истинный IP адрес, с которой ведется сканирование, а указанный - 192.168.0.2.
9. Список обратных DNS записей для подсетиВ этом примере, nmap выполняет поиск обратных DNS записей для подсети. Результатом поиска будет список IP адресов с соответствующими PTR записями для подсети. Чтобы выполнить запрос через конкретный DNS сервер, необходимо добавить "-dns-servers x.x.x.x" после опции "-sL".
Просмотров: 37762
Несколько примеров использования nmap.TCP-Сканирование.
Методом TCP connect nmap будет сканировать диапазон портов (1-65535) компьютера с IP-адресом, опция -sV служит для получения версий запущенных сервисов:
$ nmap -sV ххх.ххх.ххх.ххх -p 1-65535
Так же стоит обратить внимания что у нас в поле SERVICE и STATE.
В поле SERVICE - всегда отображается значение из файла /etc/services, соответствующее номеру порта. Это отнюдь не означает, что по данному порту будет запущен тот сервис, который указан в поле SERVICE. Можно запустить Web-сервер по 22 порту, а сервер SSH - по 80, но nmap все будет писать, что 22 порт - это ssh, a 80 - это HTTP.
В поле STATE - В одном случае порт ssh открыт (open), другом - отфильтрован (filtered). Значение Filtered значит, что порт отклоняет (reject) или отбрасывает (drop) трафик. Это не говорит о том, запущен ли на этом порту сервис или нет.
UDP-сканирование.
UDP-порты надо обязательно сканировать. При поиске уязвимостей UDP-сервисы обычно упускают из виду, но многие UDP-сервисы (echo, chargen, DNS - работает как по TCP, так и по UDP, а также RPC (Remote Procedure Call)) работают по протоколу UDP. Некоторые из них известны своим огромным списком эксплоитов, позволяющим получить права root'a. UDP-сканирование делается с помощью опции -sU сканера nmap:
$ nmap -sU xxx.xxx.xxx.xxx -p 1-65535
Время сканирования UDP-портов довольно большое примерно 1 секунда на порт.Отчего так долго. Система ограничила отправку ICMP-ответов: не более 1 в секунду. При UDP-сканировании нужно использовать опцию -Т. Она позволяет указать агрессивность сканирования. Есть 6 скоростей сканирования: Paranoid, Sneaky, Polite, Normal, Aggressive и Insane ( -T Polite). Первая скорость самая медленная, последняя - самая быстрая.
Описания методов типов сканирования.
-sT - сканирование TCP портов в обычном режиме. Сканирование происходит на основе функции connect() присутствующей во всех полноценных ОС. Если соединение с удалённым портом установлено, то данный порт открыт, иначе порт закрыт либо фильтруется.
-sS - использование метода TCP CYN. Это так называемое стелс сканирование. Nmap отправляет на удалённый порт SYN-пакет и ожидает ответа. В зависимости от ответа определяется состояние порта. При этом полноценное соединение не устанавливается. Благодаря этому определить факт сканирования очень сложно. Для запуска этого метода требуются рутовские привилегии на Вашей тачке.
-sF,-sX,-sN (scan FIN, scan Xmas, scan NULL) - эти совместные методы используется например если если не помогло -sS или -sT сканирование.
-sU - сканирование UDP портов. На удалённый порт отправляется UDP-пакет и ожидается ответ. Если ответ содержит ICMP-сообщение "порт недоступен" значит порт закрыт либо режется файерволом, иначе порт открыт. Для запуска опять же требуются рутовские привилегии на вашем компе.
-sО - похоже на -sU, только для IP портов.
-sR - использование RCP-сканированиея. Этот метод позволяет определить прогу обслуживающую RCP-порт и её версию. При этот если на удалённом серваке установлен файервол, Nmap его пробивает не оставляя логов.
-sP - ping-сканирование. Данный метод позволяет узнать все адреса активных хостов в сети. Nmap отправляет на указанный IP ICMP-запрос, если в сети есть активные хосты, они отправят нам ответ, тем самым указав на свою активность. Если Вы пингуете сети лучше не указывать больше никаких методов сканирования.
Описания некоторых опций.
Они служат для тонкой настройки сканирования и задания дополнительных функций. Опции не обязательны, работа сканера будет нормальной и без них. Но все они будут полезны в том или ином случае. Основные опции:
-O - так называемый режим "снятия отпечатков" TCP/IP для определения удалённой ОС (OS fingerprints). Работает это следующим образом: Nmap отправляет удалённой системе запросы и в зависимости от ответов ("отпечатков" стека) определяется ОС и её версия.
-p "диапазон" - сканирование определённого диапазона портов. Например: '-p 21, 22, 25, 80, 31337'. Это уменьшает время сканирования за счёт уменьшения диапазона портов.
-F - сканирование стандартных портов записанных в файл services (1-1024). Это так называемое быстрое сканирование.
-P0 - отмена ping-опросов перед сканированием портов хоста. Полезна в тех случаях, если Вы сканируете сети типа microsoft.com, так как в них ICMP-запрос режется файерволом.
-6 - сканирование через протокол IPv6. Работает значительно быстрее чем через IPv4.
-T "Paranoid|Sneaky|Polite|Normal|Aggressive|Insane" - настройка временных режимов. При "Paranoid" сканирование будет длиться очень долго, но тогда у Вас больше шансов остаться не обнаруженными скан-детекторами. И наоборот "Insane" используёте при сканировании быстрых либо слабо защищённых сетей.
-oN/-oM "logfile" - вывод результатов в logfile в нормальном (-oN) или машинном (-oM) виде.
-oS "logfile" - эта опция позволяет возобновить сканирование если оно было по каким-либо причинам прервано и результат записывался в файл (была включена опция -oN "logfile" или -oM "logfile"). Для продолжения работы нужно запустить Nmap с указанием только этой функции и файла в которой записывалось предыдущее сканирование ("logfile").
-D "host_1, host_2. host_n" - это очень полезная функция. Она позволяет запутать удалённую систему и сделать видимость что её сканируют с нескольких хостов ("host_1, host_2. host_n"), тем самым стараясь скрыть Ваш реальный адрес.
nmap примеры:
nmap -A -T4 192.168.100.123 - самый распространенный метод сканирования.
nmap -sS -O -p 21, 25, 80 www.site.com - сканируем www.site.com проверяем только 21, 25, 80 порты, используем определение удалённой ОС (метод OS fingerprints) и стелс сканирование.
nmap -sT -F -P0 -oN scan.txt www.site.com -сканируем www.site.com применяем обычное сканирование стандартных портов (1-1024), с отменой ping-опросов и заносим результат в файл scan.txt
nmap -sU -D 143.121.84.12 132.154.156.6 localhost www.site.com - сканируем www.site.com проводим сканирование UDP-портов, при этом маскируемся двумя хостами (третий наш).
Дополнительно можно почитать Сетевой сканер Nmap. Руководство пользователя.
От Psyhocode · 05.03.2015
Backtrack 5 or Kali Linux
Это будет первый учебник по серии, который даст основное представление что такое пентест. Есть много инструментов на Kali linux дистрибутиве, которые не будут охвачены в этих серии, но если у читателей есть какие-либо вопросы о других инструментов, напишите сообщение. Это первая часть нацелена на сбор информации и имеет название как (nmap сканирование портов). Она будет сосредоточена на поиске живых хостов в сети, а также на просмотра их версий программного обеспечения и на их работающих портах.
Давайте начнем .
Для этого упражнения мы будем использовать следующие инструменты: Nmap
На протяжении многих лет у Nmap было добавлено много разных функции, один из более поздних является уязвимость проверки модулей. Если вы не знаете, о них, перейдите на Google и исследуйте их.
Одна вещь, об этом учебнике. научиться использовать Google, чтобы выполнить свое собственное исследование, так что будут некоторые шаги, которые я расскажу вам по своему усмотрению.
Первое, что мы хотим сделать, это найти живых хостов в сети, это может быть достигнуто за счет использования Nmap. С помощью этой команды мы также можем проверять службу и версию для каждого открытого порта. Есть много других команд, которые встроенны в Nmap, которые могут быть найдены с помощью команды Nmap -h или просто набрав Nmap .
Мы в сети как 192.168.1.1
Эта команда будет проверять все 254 хостов в сети и перечислять открытые порты вместе с версией программного обеспечения, работающего на этом хосте. Я использую только 2 машины в своей сети и я сделал это, чтобы сократить учебник. Вот результаты:
Если бы мы имели большую сеть, коммутатор -p может использоваться для четкого указания какие порты искать. Так:
Одна вещь, которую я рекомендую: чтобы всегда, я имею в виду всегда сканировать сеть в режиме UDP и искать открытые порты SNMP. Старые версии SNMP уязвимы для атак, поскольку они используют строки государственного и частного для входа в систему. Если вы не знаете, какие порты SNMP или SNMP являются, Google является вашим другом.
Для выполнения такого рода сбора информации вы должны использовать команду -Su. Дабы сказать Nmap сканировать UDP-порты. Наша команда должна будет выглядеть так:
Мы указываем порты 161 и 162. так как они являются портами где SNMP работает.
Когда работает UDP сканирование запомните, что Протокол UDP не проверяет соединение так что это хорошая идея, чтобы проверить если порт на самом деле открыт для соединения с Netcat .
Пока что давайте совершим прыжок к скриптам, которые могут быть использованы для проверки на наличие уязвимостей. Чтобы получить помощь с конкретным скриптом, вы просто вводите:
Это команда покажет вам скрипт и то, что он делает.
Первые скрипты которые мы будем использовать это SMB скрипты, так как у нас SMB -порт 445 открыт.
Вы можете видеть, что я добавил -sS команду, это приводит Nmap сканировать в скрытом режиме. Так как я работаю на Linux машине у меня будут другие отчеты. Я сделал это чтобы вы поняли как все эти команды работают. Давайте перейдем к Майкрософт машине, так что вы сможете увидеть некоторые результаты.
Это еще не все! у Nmap есть еще пару прекрасных команд.
Эта команда будет проверять если включен анонимный FTP логин на целевой машине.
Эта команда позволит запускать все скрипты и много других вариантов, вот описание из меню справки: Enable OS detection, version detection, script scanning, and traceroute.
Вы также можете добавить различные типы сканирования на начинающийся линии вот так:
Есть также способы, чтобы добавить другие аргументы в скрипты, и даже создавать свои собственные.
Теперь мы собрали список машин в сети и информацию об открытых портах! Давайте перейдем к следующему действию. Мы хотим убедиться, что порты, на самом деле открыты. Причина этого заключается в том, что иногда машины дают ложные результаты, особенно у UDP портов.
Следующий инструмент который мы будем использовать один из моих любимых это Netcat. Если мы откроем терминал и введем nc. Мы увидим меню справки Netcat. Далее мы будет работать через порты и попытаться соединиться с основными командами NetCat:
Это приведет к запуску программе и подключиться к порту 445 .
Вам возможно, придется нажать кнопку ввода пару раз, чтобы получить от порта ответ. Вы не должны видеть порт закрытым на удаленным хосте. Если это так и порт закрыт, то есть много вещей, которые могут закрыть его. Будьте уверены и проверьте еще раз машину на все открытые порты.
Иногда нужно "прослушать", какие порты открыты на том или ином ресурсе. Изобретать велосипед не нужно, есть готовое решение - nmap. Для начала немного общей информации в ознакомительных целях.
Nmap (“Network Mapper”) это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует IP-пакеты оригинальными способами, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.
Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой в зависимости от заданных опций. Ключевой информацией является “таблица важных портов”. Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильт или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложение, так что они могут быть открыты в любой момент. Порты расцениваются как не фильтрованные, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется, когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых IP протоколах, а не об открытых портах.
В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение о используемой операционной системе, типы устройств и MAC адреса.
Заинтересовало? Тогда приступим к установке.
Nmap есть в портах. Оттуда и будем устанавливать.
# nmap -sV 172.16.0.15 -p 1-65535
Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 03:28 EET
Interesting ports on 172.16.0.15:
Not shown: 65531 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.1p1 (FreeBSD 20080901; protocol 2.0)