ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Чужие Статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Сетевой сканер Nmap. Руководство пользователя
  #1  
Старый 08.02.2005, 16:36
Аватар для foreva
foreva
Участник форума
Регистрация: 05.02.2005
Сообщений: 121
Провел на форуме:
0

Репутация: 10
Отправить сообщение для foreva с помощью ICQ
По умолчанию Сетевой сканер Nmap. Руководство пользователя

НАЗВАНИЕ

Nmap - the Network Mapper. Утилита для сканирования и исследования безопасности сети.
Версия 2.54 beta 4.

ИСПОЛЬЗОВАНИЕ

nmap [Метод(ы) сканирования] [Опции] <Хост или сеть #1,[#N]>

ОПИСАНИЕ

Программа Nmap предназначена для сканирования сетей с любым количеством объектов,
определения состояния объектов сканируемой сети а также портов и соответствующих
им служб. Для этого Nmap использует много различных методов сканирования, таких,
как UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp),
Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN и NULL-сканирование. Более
подробное их описание приведено в разделе "Опции выбора методов сканирования".
Nmap также поддерживает большой набор дополнительных возможностей, а именно:
определение операционной системы (далее - ОС) удаленного хоста с использованием
отпечатков стека TCP/IP, "невидимое" сканирование, динамическое вычисление времени
задержки и повтор передачи пакетов, параллельное сканирование, определение
неактивных хостов методом параллельного ping-опроса, сканирование с использованием
ложных хостов, определение наличия пакетных фильтров, прямое (без использования
portmapper) RPC-сканирование, сканирование с использованием IP-фрагментации а
также произвольное указание IP-адресов и номеров портов сканируемых сетей.
Результатом работы Nmap является список отсканированных портов удаленной машины с
указанием номера и состояния порта, типа используемого протокола а также названия
службы, закрепленной за этим портом. Порт характеризуется тремя возможными
состояниями: "открыт", "фильтруемый" и "нефильтруемый". Состояние "открыт"
означает, что удаленная машина прослушивает данный порт. Состояние "фильтруемый"
означает, что файрволл, пакетный фильтр или другое устройство блокирует доступ к
этому порту и Nmap не смог определить его состояние. "Нефильтруемый" означает, что
по результатам сканирования Nmap воспринял данный порт как закрытый, при этом
средства защиты не помешали Nmap определить его состояние. Это состояние Nmap
определяет в любом случае (даже если большинство сканируемых портов хоста
фильтруются).
В зависимости от указанных опций, Nmap также может определить следующие
характеристики сканируемого хоста: метод генерации TCP ISN, имя пользователя
(username) владельца процесса, зарезервировавшего сканируемый порт, символьные
имена, соответствующие сканируемым IP-адресам и т.д.

ОПЦИИ

Большинство опций могут комбинироваться друг с другом. Одни опции предназначены для
выбора определенного метода сканирования, другие указывают на использование
дополнительных возможностей или служат для настройки различных параметров
сканирования. Nmap предупреждает пользователя о недопустимом сочетании указанных
им опций. Те, кто хотят немедленно начать работу с программой, могут пропустить
этот раздел и перейти к изучению примеров вызова Nmap в конце данного руководства.
Вы можете также запустить программу Nmap с ключом '-h' для получения краткой
справки по всем опциям.
Опции выбора метода сканирования

-sT (scan TCP) - использовать метод TCP connect(). Наиболее общий метод сканирования
TCP-портов. Функция connect(), присутствующая в любой ОС, позволяет создать
соединение с любым портом удаленной машины. Если указанный в качестве аргумента
порт открыт и прослушивается сканируемой машиной, то результат выполнения
connect() будет успешным (т.е. соединение будет установлено), в противном случае
указанный порт является закрытым, либо доступ к нему заблокирован средствами
защиты.
Для того, чтобы использовать данный метод, пользователь может не иметь никаких
привилегий на сканирующем хосте. Этот метод сканирования легко обнаруживается
целевым (т.е. сканируемым) хостом, поскольку его log-файл будет содержать
запротоколированные многочисленные попытки соединения и ошибки выполнения данной
операции. Службы, обрабатывающие подключения, немедленно заблокируют доступ
адресу, вызвавшему эти ошибки.
-sS (scan SYN) - использовать метод TCP SYN. Этот метод часто называют
"полуоткрытым" сканированием, поскольку при этом полное TCP-соединение с портом
сканируемой машины не устанавливается. Nmap посылает SYN-пакет, как бы намереваясь
открыть настоящее соединение, и ожидает ответ. Наличие флагов SYN|ACK в ответе
указывает на то, что порт удаленной машины открыт и прослушивается. Флаг RST в
ответе означает обратное. Если Nmap принял пакет SYN|ACK, то в ответ немедленно
отправляет RST-пакет для сброса еще не установленного соединения (реально эту
операцию выполняет сама ОС). Очень немного сайтов способны обнаружить такое
сканирование. Пользователь должен иметь статус root для формирования поддельного
SYN-пакета.
Для ускорения процесса опроса портов при сканировании больших сетей совместно с
опцией -sS вы можете использовать ярлык, позволяющий опросить какой-либо порт на
всех активных объектах сканируемой вами сети намного быстрее, чем при
использовании одной опции -p. Это можно сделать с помощью ярлыка -PS <порт>.
Например, если будет обнаружена новая уязвимость в sendmail, вам может
потребоваться за короткое время обнаружить, на каких машинах sendmail установлен.
Команда запуска Nmap будет выглядеть следующим образом (пример):
nmap -n -sS -p25 -PS25 24.0.0.0/8
-sF,-sX,-sN (scan FIN, scan Xmas, scan NULL) - "невидимое" FIN, Xmas Tree и
NULL-сканирование. Эти методы используются в случае, если SYN-сканирование по
каким-либо причинам оказалось неработоспособным. Так, некоторые файрволлы и
пакетные фильтры "ожидают" поддельные SYN-пакеты на защищенные ими порты, и
программы типа Synlogger или Courtney способны отследить SYN-сканирование.
Идея заключается в следующем. В FIN-сканировании в качестве запроса используется
FIN-пакет. В Xmas Tree используется пакет с набором флагов FIN|URG|PSH, а
NULL-сканирование использует пакет без флагов. Согласно рекомендации RFC 973 п.
64, ОС сканируемого хоста должна ответить на такой пакет, прибывший на закрытый
порт, пакетом RST, в то время как открытый порт должен игнорировать эти пакеты.
Разработчики Microsoft Windows, как обычно, решили полностью игнорировать все
общепринятые стандарты и пойти своим путем. Поэтому любая ОС семейства Windows не
посылает в ответ RST-пакет, и данные методы не будут работать с этими ОС. Однако
во всем есть свои плюсы, и в Nmap этот признак является основным для различения
операционных систем, обладающих таким свойством.
Если в результате FIN-сканирования вы получили список открытых портов, то это не
Windows. Если же все эти методы выдали результат, что все порты закрыты, а
SYN-сканирование обнаружило открытые порты, то вы скорей всего имеете дело с ОС
Windows. К сожалению, Windows не единственная ОС, обладающая этим недостатком. К
таким ОС относятся также Cisco, BSDI, IRIX, HP/UX и MVS. Все эти ОС не отправляют
RST-пакеты.
-sP (scan Ping) - ping-"сканирование". Иногда вам необходимо лишь узнать адреса
активных хостов в сканируемой сети. Nmap может сделать это, послав ICMP-сообщение
"запрос эха" на каждый IP-адрес, указанный вами. Хост, отправивший ответ на эхо,
является активным.
Некоторые сайты (например microsoft.com) блокируют эхо-пакеты. По этой причине
Nmap также посылает TCP ACK-пакет на 80-й порт сканируемого хоста (по умолчанию).
Если в ответ вы получили RST-пакет, хост активен. Третий метод использует
SYN-пакет и ожидает в ответ RST либо SYN|ACK. Для пользователей, не обладающих
статусом root, используется метод connect().
Для root-пользователей Nmap по умолчанию использует параллельно оба метода - ICMP
и ACK. Вы можете изменить это, используя опцию '-P', описанную ниже. Заметим, что
ping-сканирование по умолчанию выполняется в любом случае и только активные хосты
подвергаются сканированию. Используйте эту опцию только в случае, если вы хотите
выполнить только ping-опрос, не производя сканирования портов.
-sU (scan UDP) - сканировать UDP-порты. Этот метод используется для определения,
какие UDP-порты (RFC 768) на сканируемом хосте являются открытыми. На каждый порт
сканируемой машины отправляется UDP-пакет без данных. Если в ответ было получено
ICMP-сообщение "порт недоступен", это означает, что порт закрыт. В противном
случае предполагается, что сканируемый порт открыт.
Некоторые считают сканирование UDP-портов бесполезным занятием. Мы в этом случае
напоминаем о известной "дыре" в демоне rpcbind ОС Solaris. Он может быть обнаружен
на любом из недокументированных UDP-портов с номером, больше 32770. Если вы
обнаружите его, то будет уже не важно, блокируется ли 111-й порт файрволлом или
нет.
К сожалению, сканирование UDP-портов проходит очень медленно, поскольку
практически все ОС следуют рекомендации RFC 1812 (раздел 4.3.2.8) по ограничению
скорости генерирования ICMP-сообщений "порт недоступен". Например, ядро Linux
(каталог net/ipv4/icmp.h) ограничивает генерирование таких сообщений до 80 за 4
секунды с простоем 0,25 секунды, если это ограничение было превышено. У ОС Solaris
еще более жесткое ограничение (2 сообщения в секунду), и поэтому сканирование
Solaris проходит еще более медленно.
Nmap определяет параметры этого ограничения, и соответственно уменьшает количество
генерируемых запросов, предотвращая тем самым затопление сети ненужными пакетами,
которые игнорируются целевой машиной. Как обычно, Microsoft снова все
проигнорировала, и не использует в своих ОС никаких ограничений. Поэтому вы очень
быстро можете просканировать все 65535 UDP-портов хоста, работающего под
управлением ОС Windows.
-sO (scan Open protocol) - сканирование протоколов IP. Данный метод используется
для определения IP-протоколов, поддерживаемых сканируемым хостом. Метод
заключается в передаче хосту IP-пакетов без какого-либо заголовка для каждого
протокола сканируемого хоста. Если получено сообщение "Протокол недоступен", то
данный протокол хостом не используется. В противном случае Nmap предполагает, что
протокол поддерживается хостом.
Некоторые ОС (AIX, HP-UX, Digital UNIX) и файрволлы могут блокировать передачу
сообщений "Протокол недоступен". По этой причине все сканируемые протоколы будут
"открыты" (т.е. поддерживаются).
Поскольку описанная техника схожа с методом сканирования UDP-портов, ограничение
скорости генерации ICMP-сообщений также будет иметь место. Однако поле "тип
протокола" IP-заголовка состоит всего лишь из 8 бит, поэтому 256 протоколов будут
отсканированы за приемлемое время.
-sA (scan ACK) - использовать ACK-сканирование. Этот дополнительный метод
используется для определения набора правил (ruleset) файрволла. В частности, он
помогает определит, защищен ли сканируемый хост файрволлом или просто пакетным
фильтром, блокирующим входящие SYN-пакеты.
В этом методе на сканируемый порт хоста отправляется ACK-пакет (со случайными
значениями полей acknowledgement number и sequence number). Если в ответ пришел
RST-пакет, порт классифицируется как "нефильтруемый". Если ответа не последовало
(или пришло ICMP-сообщение о недоступности порта), порт классифицируется как
"фильтруемый".
Заметим, что Nmap не выдает "нефильтруемые" порты в результатах, поэтому если вы
не обнаружите ни одного открытого порта при использовании этого типа сканирования,
это будет означать, что все порты просканированы и являются нефильтруемыми.
Обращаем ваше внимание, что этот метод никогда не покажет состояние порта "открыт"
в результатах сканирования.
-sW (scan Window) - использовать метод TCP Window. Этот метод похож на
ACK-сканирование, за исключением того, что иногда с его помощью можно определять
открытые порты точно так же, как и фильтруемые/нефильтруемые. Это можно сделать,
проверив значение поля Initial Window TCP-пакета, возвращаемого хостом в ответ на
посланный ему запрос, ввиду наличия определенных особенностей обработки данного
поля у некоторых ОС.
Список уязвимых операционных систем включает в себя по крайней мере несколько
версий AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX, DG/UX, OpenVMS, Digital UNIX,
FreeBSD, HP-UX, OS/2, IRIX, MacOS, NetBSD, OpenBSD, OpenStep, QNX, Rhapsody, SunOS
4.X, Ultrix, VAX и VxWorks. Для более подробной информации смотрите архив
nmap-hackers.
-sR (scan RPC) - использовать RPC-сканирование. Этот метод используется совместно
с другими методами сканирования и позволяет определить программу, которая
обслуживает RPC-порт, и номер ее версии. Для этого все открытые TCP/UDP-порты
хоста затопляются NULL-командами оболочки SunRPC, после чего определяются
RPC-порты и закрепленные за ними программы. Таким образом, вы легко получаете
информацию, которую могли бы получить с помощью команды 'rpcinfo -p', даже если
portmapper сканируемого хоста закрыт файрволлом или TCP-wrapper'ом.
-sL (scan List) - получить список сканируемых адресов. Эта опция позволяет вам
получить список адресов хостов, которые БУДУТ просканированы Nmap, до начала
процесса сканирования. По умолчанию определяются имена хостов, однако это можно
запретить, используя опцию -n. Опция может использоваться в случае, когда вам
необходимо определить имена большого количества хостов по их адресам и т.д.
-b (bounche scan) - использовать атаку "Прорыв через FTP".
Интересной "возможностью" протокола FTP (RFC 959) является поддержка "доверенных"
(proxy) ftp-соединений. Другими словами, с доверенного хоста source.com можно
соединиться с ftp-сервером target.com и отправить файл, находящийся на нем, на
любой адрес Internet! Заметим, что данная возможность известна с 1985 года (когда
был написан этот RFC). Nmap использует эту "дыру" для сканирования портов с
"доверенного" ftp-сервера.
Итак, вы можете подключиться к ftp-серверу "над" файрволлом и затем просканировать
заблокированные им порты (например 139-й). Если ftp-сервер позволяет читать и
записывать данные в какой-либо каталог (например /incoming), вы также можете
отправить любые данные на эти порты. Аргумент, указываемый после '-b',
представляет собой URL сервера ftp, используемого в качестве "доверенного". Формат
URL следующий: имя_пользователя:пароль@се вер:порт. Адрес сервера нужно указать
обязательно, остальное можно не указывать.
Опции настройки и выбора дополнительных возможностей
Эти опции не обязательные (т.е. возможна нормальная работа Nmap и без их
указания), однако все они являются весьма полезными.
-P0 (Ping 0) - не производить ping-опрос хостов перед их непосредственным
сканированием. Эта опция позволяет просканировать сети, блокирующие обработку
ICMP-эха с помощью файрволлов. Примером такой сети является microsoft.com, и вы
всегда должны использовать опцию '-P0'или'-PT80'(см. ниже), когда сканируете такую
сеть.
-PT (Ping TCP) - использовать TCP "ping". Вместо посылки запроса ICMP-эха, Nmap
отправляет TCP ACK-пакет на сканируемый хост и ожидаем ответ. Если хост активен,
то в ответ должен придти RST-пакет. Для не-root пользователей используется функция
connect(). Эта опция позволяет вам определить состояние сканируемого хоста, даже
если обработка ICMP-эха запрещена файрволлом. Для указания номера порта
сканируемого сервера, на который будет отправляться ACK-пакет, используется опция
'-PT <номер_порта>'. По умолчанию используется 80-й порт, поскольку он практически
никогда не фильтруется.
-PS (Ping SYN) - опция, также используемая для ping-опроса. При этом вместо
ACK-пакета TCP "ping" используется SYN-пакет. Активные хосты посылают в ответ
RST-пакеты (реже - SYN|ACK).
-PI (Ping ICMP) - эта опция использует в качестве ping-запроса нормальный
ping-пакет (запрос ICMP-эха). Опция применяется для поиска активных хостов а также
адресов сетей с возможностью широковещания. Такие сети пересылают прибывший
ICMP-пакет всем своим объектам. Как правило, такие сети представляют собой "живую
мишень" для хакера.
-PB (Ping Both) - режим ping-опроса по умолчанию. Использует одновременно запросы
типа ACK и ICMP.
-O (Operating system detection) - эта опция позволяет определить операционную
систему сканируемого хоста с помощью метода отпечатков стека TCP/IP. Другими
словами, Nmap активизирует мощный алгоритм, функционирующий на основе анализа
свойств сетевого программного обеспечения установленной на нем ОС. В результате
сканирования получается формализованный "отпечаток", состоящий из стандартных
тестовых запросов и "ответов" хоста на них. Затем полученный отпечаток
сравнивается с имеющейся базой стандартных ответов известных ОС, хранящейся в
файле nmap-os-fingerprinting, и на основании этого принимается решение о типе и
версии ОС сканируемого хоста.
Этот метод требует наличия хотя бы одного закрытого и одного открытого порта на
целевом хосте. Если вы обнаружите машину, у которой это условие выполняется, но
Nmap не смог определить версию ОС - вышлите нам адрес этой машины. Если же, по
каким-либо причинам выслать адрес не представляется возможным, запустите Nmap с
опцией '-d' и вышлите полученный отпечаток.
-I (Ident scan) - использовать reverse-ident сканирование. Протокол Ident (RFC
1413) позволяет вскрыть имя пользователя (username) процесса, использующего TCP,
даже если этот процесс не инициализировал соединение. Так, например, вы можете
подключиться к порту http и затем использовать identd для поиска на сервере
пользователя root. Это может быть сделано только при установлении "полного"
TCP-соединения с портом сканируемой машины (т.е. необходимо использовать опцию
'-sT'). Nmap опрашивает identd сканируемого хоста параллельно с каждым открытым
портом. Естественно, этот метод не будет работать, если на целевом хосте не
запущен identd.
-f (use fragmentation) - эта опция используется совместно с SYN, FIN, Xmas или
NULL-сканировании и указывает на необходимость использования IP-фрагментации с
малым размером фрагментов. Идея заключается в том, чтобы разбить TCP-заголовок
пакета на несколько фрагментов (обычно два) на стороне источника. Сканируемый хост
"собирает" эти IP-фрагменты в один TCP-пакет.
Это значительно усложняет фильтрацию пакетов, работу систем обнаружения и других
подобных средств защиты, и позволяет Nmap скрыть свои действия. Будьте осторожны,
используя эту опцию! Некоторые программы "зависают" при попытке собрать такие
маленькие фрагменты. Так, например, весьма неплохой "сниффер" завис сразу же при
получении первого 36-байтного фрагмента. А следом за ним пришел 24-байтный
фрагмент.
-v (verbose output) - использовать режим "подробного отчета". Эту опцию
рекомендуется использовать в любых случаях, поскольку при этом Nmap подробно
сообщает о ходе выполнения текущей операции. Для получения лучшего эффекта можно
указать ее дважды. Ну а если вы укажете еще опцию '-d', то от скроллинга экрана у
вас может закружиться голова.
-h (show help) - печатает справку по использованию Nmap с указанием опций и
краткого их описания, не запуская саму программу.
-oN <имя_файла> (output Normal) - записывает результаты сканирования в указанный
файл в удобной для пользователя форме.
-oM <имя_файла> (output Machine) - записывает результат сканирования в указанный
файл в машинном виде для дальнейшего анализа пакетов, пришедших от сканируемого
хоста. Если вам необходимо использовать для записи интерфейс StdOut, укажите в
качестве имени файла знак '-'. В этом случае сообщения об ошибках можно
просмотреть с помощью функции StdErr.
-oS <имя_файла> (output Script kiddie) - Эту возможность мы предусмотрели для
любителей языка s| --resume <имя_файла> - если вы прервали сканирование сети нажатием комбинации
, то вы можете продолжить его, используя эту опцию, если результаты
сканирования записывались в лог-файл с помощью опций '-oM' или '-oN'.

***ПРОДОЛЖЕНИЕ НИЖЕ***
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ