Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТПАСБ / Лекции / pdf / lec6-4h

.pdf
Скачиваний:
77
Добавлен:
24.02.2016
Размер:
823.82 Кб
Скачать

Носов В.В. "Технології аудиту інформаційних систем"

Лекція 6. Методи і засоби сканування вузлів мережі

Навчальні питання

1.Концепція протоколів стека TCP/IP

2.Виявлення відкритих мережних портів

3.Ідентифікація запущених TCP- и UDP-служб

4.Визначення операційної системи

Час: 4 акад. г.

Література

1.Беспроводные линии связи и сети.: Пер. с англ. – М.: Издательский дом

"Вильямс", 2003. с.100 – 117

2.Мак-Клар Стюарт, Скрембрей Джоел, Курц Джордж. Секреты хакеров. Безопасность сетей – готовые решения. :Пер. с англ. – М.: Издательский дом

"Вильямс", 2002. с. 53 – 86.

Вступ

С помощью ICMPили TCP-зондирования мы установили, какие компьютеры исследуемой сети подключены к Internet. Кроме того, вся требуемая информация

собрана также и с использованием запросов ICMP. Теперь можно перейти к этапу сканирования портов этих компьютеров, но сначала рассмотрим концепцию протоколов

стека TCP/IP.

1. Концепція протоколів стека TCP/IP

На рис. 1 показано, как протоколы TCP/IP сконфигурированы для осуществления связи. Общее средство связи может состоять из множества сетей, каждая из них часто называется подсетью. Для соединения компьютера с подсетью используется некий протокол доступа к сети, например логика Ethernet. Он позволяет хосту посылать данные через сеть другому хосту или, если хост принадлежит другой сети, маршрутизатору. Для этого во всех конечных системах и маршрутизаторах реализуется протокол IP. Он действует как ретранслятор, перемещая блок данных от одного хоста к другому через один или несколько маршрутизаторов. Протокол TCP, наоборот, реализуется только в конечных системах и отслеживает блок данных с целью обеспечения надежной доставки данных соответствующему приложению.

Рис. 1. Концепция TCP/IP

1

Носов В.В. "Технології аудиту інформаційних систем"

Для организации успешного сообщения каждый объект системы должен иметь уникальный адрес. Фактически требуется два уровня адресации. Каждый хост подсети должен иметь уникальный глобальный подсетевой адрес для доставки данных нужному хосту. Каждый процесс хоста должен также иметь адрес, уникальный для этого хоста, что позволяет протоколу сквозной передачи (TCP) доставлять данные соответствующему процессу. Адреса, используемые в последнем случае, называются портами.

Стеком протоколов TCP/IP называют набор сетевых протоколов, используемых в Интернет.

Вэтом стеке различают несколько уровней, и протоколы высокого уровня всегда базируются на протоколах более низких уровней.

Всамом низу находятся физический уровень и канальный уровень. Пример протокола — Ethernet, описывающий передачу данных по коаксиальному кабелю или витой паре. Протоколы этих уровней обычно реализуются на уровне железа, например в сетевой карте компьютера.

Выше идёт сетевой уровень, где находится протокол IP, описывающий структуру сети и доставку пакетов.

Ещё выше — транспортный уровень, где находится протокол TCP, использующийся для передачи данных. Эти протоколы обычно реализуются на уровне Операционной Системы.

На самом верху находится множество протоколов прикладного уровня, выполняющих конкретные прикладные задачи. Обычно они программируются в отдельных приложениях.

IP протокол

IP — протокол, лежащий в основе Интернета, его название так и расшифровывается: Internet Protocol. Согласно протоколу, каждый узел в сети имеет свой IP адрес, состоящий из 4-х байт и обычно

записываемый как n.n.n.n

Каждый узел напрямую «видит» только узлы в своей подсети, с «похожими» адресами (подробнее см. Маска подсети). А другим узлам он передает пакеты через промежуточные узлы — Маршрутизаторы.

Посмотреть, как выглядит маршрут пакета от вашего компьютера к другим узлам, можно с помощью команды traceroute.

TCP протокол

TCP протокол базируется на IP для доставки пакетов, но добавляет две важные вещи:

-установление соединения — это позволяет ему, в отличие от IP, гарантировать доставку пакетов

-порты — для обмена пакетами между приложениями, а не просто узлами.

Протокол TCP предназначен для обмена данными — это «надежный» протокол, потому что:

-Обеспечивает надежную доставку данных, так как предусматривает установления логического соединения;

-Нумерует пакеты и подтверждает их прием квитанцией, а в случае потери организовывает повторную передачу;

-Делит передаваемый поток байтов на части — сегменты - и передает их нижнему уровню, на приемной стороне снова собирает их в непрерывный поток байтов.

TCP-соединение

Соединение начинается с handshake (рукопожатия):

1.Узел A посылает узлу B специальный пакет SYN — приглашение к соединению

2.B отвечает пакетом SYN-ACK — согласием об установлении соединения

3.A посылает пакет ACK — подтверждение, что согласие получено

2

Носов В.В. "Технології аудиту інформаційних систем"

Рис. 2. При установке TCP-соединения происходит обмен тремя сообщениями: (1) клиент отправляет серверу пакет SYN, (2) получает от сервера пакет SYN/ACK и (3) отправляет серверу пакет АСК После этого TCP соединение считается установленным, и приложения, работающие в этих узлах,

могут посылать друг другу пакеты с данными.

«Соединение» означает, что узлы помнят друг о друге, нумеруют все пакеты, идущие в обе стороны, посылают подтверждения о получении каждого пакета и перепосылают потерявшиеся по дороге пакеты.

Для узла A это соединение называется исходящим, а для узла B — входящим.

Отметим, что эти термины не имеют никакого отношения к входящему или исходящему трафику. Они показывают только инициатора соединения, то есть направление самого первого пакета (SYN). Любое установленное TCP соединение симметрично, и пакеты с данными по нему всегда идут в обе стороны.

Порт Сетевой порт — условное число

от 1 до 65535, указывающее, какому приложению предназначается пакет.

Согласно протоколу IP, в каждом пакете присутствуют IP адрес узлаисточника и IP адрес узла-

назначения. В TCP пакетах дополнительно указываются порт источника и порт назначения.

Узел назначения, получив пакет, смотрит на порт назначения и передает пакет соответствующему у себя приложению.

Использование портов позволяет независимо использовать TCP протокол сразу многим приложениям на одном и том же компьютере.

Клиентом называют приложение, которое пользуется каким-то сервисом, предоставляемым другим приложением —

Сервером, обычно на удаленном компьютере. Практически всегда клиент начинает исходящие соединения, а сервер ожидает входящих соединений (от клиентов), хотя бывают и исключения.

Сервер при запуске сообщает Операционной Системе, что хотел бы «занять» определенный порт (или несколько портов). После этого все пакеты, приходящие на компьютер к этому порту, ОС будет передавать этому серверу. Говорят, что сервер «слушает» этот порт.

Клиент, начиная соединение, запрашивает у своей ОС незанятый порт во временное пользование, и указывает его в посланных пакетах как порт источника. Затем на этот порт он получит ответные пакеты от сервера.

Таким образом, сервер:

- слушает на определённом порту, заранее известном клиенту;

3

Носов В.В. "Технології аудиту інформаційних систем"

-занимает этот порт всё время, пока не завершит работу;

-об IP адресе и номере порта клиента узнаёт из приглашения, посланного клиентом.

Клиент:

-заранее знает IP адрес и порт сервера;

-выбирает у себя произвольный порт, который освобождает после окончания соединения;

-посылает приглашение к соединению.

UDP

UDP — это ещё один протокол транспортного уровня. Он тоже базируется на IP и тоже использует порты, но в отличие от TCP он не устанавливает соединений и не требует подтверждения получения каждого пакета.

Поэтому пакеты могут теряться или приходить в неправильном порядке. Зато этот протокол быстрее и использует меньше ресурсов.

На UDP обычно базируют прикладные протоколы, которым скорость доставки данных важнее надежности, например для передачи потокового видео, общения голосом или онлайновых игр.

Прикладные протоколы

Большинство прикладных протоколов базируется на TCP.

У многих протоколов прикладного уровня для серверов определены стандартные порты, используемые по умолчанию. Самые известные прикладные протоколы и их стандартные порты:

-HTTP — основой протокол всемирной паутины (TCP порт 80);

-SMTP — протокол пересылки почты (TCP порт 25);

-FTP — протокол передачи файлов (TCP порт 21);

-DNS — протокол сопоставления доменных имен IP адресам (UDP порт 53).

Благодаря использованию стандартных портов мы можем набирать в браузере адреса Web-серверов и не указывать порт — наши браузеры сами добавляют стандартный номер порта. Например, адрес http://www.example.com/ на самом деле полностью выглядит так: http://www.example.com:80.

Разумеется, стандартный — не значит обязательный. Практически во всех прикладных протоколах можно указать серверу слушать произвольный номер порта. Правда, тогда этот номер уже указывать обязательно, например http://www.example.com:8080.

2. Виявлення відкритих мережних портів

Сканирование портов (port scanning) — это процесс пробного подключения к портам TCP и UDP исследуемого компьютера с целью определения, какие службы на нем запущены и обслуживаются ли ими соответствующие порты. Обслуживаемые порты могут находиться в состоянии ожидания запроса (listening mode). Определение таких

портов — этап, имеющий определяющее значение для последующего выяснения типа

используемой операционной системы, а также работающих на компьютере прикладных программ.

Активные службы, находящиеся в состоянии ожидания, могут предоставить взломщику возможность получить несанкционированный доступ. Это обычно происходит в том случае, когда система безопасности компьютера не настроена должным образом или в программном обеспечении имеются хорошо известные изъяны в системе защиты.

За последние несколько лет средства и методы сканирования портов были значительно усовершенствованы. Рассмотрим лишь самые популярные из них, с

помощью которых можно получить важную информацию. Теперь мы уже не будем пытаться определить, подключен ли тот или иной компьютер к Internet, как это делалось

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

При сканировании портов решается несколько задач, связанных с изучением системы защиты соответствующего узла. Среди этих задач можно выделить следующие.

1. Идентификация TCP- и UDP-служб, запущенных на исследуемом узле.

4

Носов В.В. "Технології аудиту інформаційних систем"

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

3.Идентификация приложений или версий определенных служб.

Типы сканирования

Прежде чем перейти к описанию конкретных средств, используемых для сканирования портов, необходимо уделить немного времени обзору методов сканирования, известных в настоящее время. Одним из пионеров реализации различных

методов сканирования является ранее упоминавшийся Фёдор (Fyodor). Многочисленные

приемы сканирования были реализованы им в утилите nmap.

TCP-сканирование подключением (TCP connect scan). При таком типе сканирования осуществляется попытка подключения по протоколу TCP к

интересующему порту с прохождением полной процедуры согласования параметров (handshake), состоящей в обмене сообщениями SYN, SYN/ACK и АСК. Попытки такого сканирования очень легко выявляются. На рис. 2 показана диаграмма обмена сообщениями в процессе согласования параметров.

Применение: #nmap -sT target-ip

TCP-сканирование с помощью сообщений SYN (TCP SYN scan). Этот метод называется также сканированием с незавершенным открытием сеанса (half-open scanning), так как при его использовании полное TCP-соединение не устанавливается. Вместо этого на исследуемый порт отправляется сообщение SYN. Если в ответ поступает сообщение SYN/ACK, это означает, что данный порт находится в состоянии LISTENING. Если же ответ приходит в виде сообщения RST/ACK, то, как правило, это говорит о том, что исследуемый порт отключен. Получив ответ, компьютер, выполняющий сканирование, отправляет исследуемому узлу сообщение RST/ACK, поэтому полное соединение не устанавливается. Этот метод обеспечивает более высокую скрытность по сравнению с полным подключением. Многие системы не регистрируют такие попытки, поэтому они довольно часто могут оставаться незамеченными.

Применение: #nmap -sS target-ip

TCP-сканирование с помощью сообщений FIN (TCP FIN scan). В этом случае исследуемой системе отправляется пакет FIN. Согласно документу RFC 793

(http://www.ieff.org/rfc/rfc0793.txt), в ответ узел должен отправить пакет RST

для всех закрытых портов. Данный метод срабатывает только для стека протоколов

TCP/IP, реализованного в системе UNIX.

Применение: #nmap -sF target-ip

TCP-сканирование по методу "рождественской елки" (TCP Xmax Tree scan).

При использовании данного метода на исследуемый порт отправляются пакеты FIN, URG и PUSH. Согласно документу RFC 793, исследуемый узел в ответ должен отправить

сообщения RST для всех закрытых портов.

При использовании данного метода на целевые порты отправляются ТСР-пакеты с установленным флагами FIN/URG/PUSH. Флаги URG/PUSH указывают на то, что данный пакет должен быть отправлен срочно, не вставая в очередь пакетов на отправку. В соответствии с RFC 793 исследуемый узел в ответ должен отправить пакет с

установленным флагом RST для всех закрытых портов. Также данный тип пакетов может применяться для определения портов, которые фильтруются межсетевым экраном.

Применение: #nmap -sX target-ip

TCP нуль-сканирование (TCP Null scan). Этот метод состоит в отправке пакетов с

отключенными флагами. Согласно RFC 793, исследуемый узел должен ответить

отправкой сообщения RST для всех закрытых портов.

Применение: #nmap -sN target-ip

ТСР-сканирование пакетами с установленным флагом ACK (TCP ACK scan).

Обычный стек TCP/IP должен ответить пакетом с установленным пакетом RST для всех

5

Носов В.В. "Технології аудиту інформаційних систем"

закрытых портов. Данный тип сканирования очень полезен при определении и обходе брандмауэров, поскольку позволяет выявить критерии, в соответствии с которыми

производится фильтрация.

Применение: #hping target-ip -S -p 80 –f.

TCP-сканирование размера окна (TCP Windows scan). В TCP/IP существует такое понятие, как размер окна (соответственно в ТСР сегменте есть поле для него), которое определяет количество пакетов, которое может получить целевая система за один раз. Такой метод позволяет выявить открытые, а также фильтруемые/нефильтруемые порты некоторых систем (например, АIХ и FreeBSD), в зависимости от полученного размера

окна протокола TCP.

Применение: #hping target-ip -S -p 25 –w.

TCP-сканирование портов RPC (TCP RPC scan). RPC (Remote Procedures Calls) -

это специальная сетевая служба, использующаяся для удаленного вызова процедур; данный метод сканирования применяется только к UNIX. В UNIX этой службе выделяется некоторый диапазон портов (как правило, 31000 - 32000), связанных с

определенными сервисам, входящими в службу вызова удаленных процедур.

Применение: #nmap -sS -R target-ip, Здесь параметр -R указывает на то, что

необходимо сканировать порты служб RPC; как правило, должен использоваться с

каким-либо еще типом сканирования в паре, в примере с –sS.

UDP-сканирование (UDP scan). Данный метод заключается в отправке на исследуемый узел пакетов по протоколу UDP. Если в ответ поступает сообщение о том, что порт ICMP недоступен (ICMP port unreachable), это означает, что соответствующий порт закрыт. Однако если такого сообщения нет, можно предположить,

что данный порт открыт. В связи с тем, что протокол UDP не гарантирует доставки,

точность данного метода очень сильно зависит от множества факторов, влияющих на использование системных и сетевых ресурсов. Кроме того, UDP-сканирование — очень медленный процесс, что особенно сказывается при попытках сканирования устройств, в которых реализован мощный алгоритм фильтрации пакетов. Поэтому, планируя использовать UDP-сканирование, приготовьтесь к тому, что результаты могут оказаться ненадежными.

Применение: #nmap -sU target-ip

Некоторые реализации IP-протокола обладают одним неприятным свойством:

пакеты RST отправляются обратно для всех сканируемых портов независимо от того,

находятся ли соответствующие порты в режиме ожидания запросов. Учитывайте этот факт при использовании описанных методов. Однако в то же время сканирование подключением и сканирование с использованием сообщений SYN могут применяться для всех узлов.

3. Ідентифікація запущених TCP- и UDP-служб

Использование хорошей утилиты сканирования портов — важнейший этап сбора

информации об исследуемой сети. Хотя для этих целей существует много различных программ, ориентированных как на платформу UNIX, так и на платформу Windows NT,

ограничимся рассмотрением лишь самых популярных и проверенных временем

сканеров.

Утилиты сканирования для UNIX strobe

Утилита strobe — это общепризнанный и популярный TCP-сканер портов, написанный Джулианом Ассанжем (Julian Assange) (ftp://ftp.FreeBSD.org/pub/- FreeBSD/ports/distf iles/strobe-1.06.tgz). Она стала известной уже довольно давно и, вне всякого сомнения, считается одной из самых быстрых и надежных утилит этого класса. К основным возможностям утилиты strobe относится оптимизация

6

Носов В.В. "Технології аудиту інформаційних систем"

системных и сетевых ресурсов, а также сканирование исследуемой системы с максимальной эффективностью. Помимо высокой эффективности, утилита strobe версии 1.04 и выше может собирать идентификационные маркеры (если, конечно, они

имеются), связанные с каждым проверяемым портом. Эта информация может оказаться полезной при определении операционной системы, а также запущенных на компьютере

служб.

В данных, выводимых утилитой strobe, имеется информация о каждом прослушанном порте TCP.

[tsunami] strobe 192.168.1.10

strobe 1.03 © 1995 Julian Assange (proff@suburbia.net).

192.168.1.10

echo

7/tcp Echo [95,JBP]

192.168.1.10

discard

9/tcp Discard

[94,JBP]

192.168.1.10

sunrpc

111/tcp rpcbind SUN RFC

192.168.1.10

daytime

13/tcp Daytime

[93,JBP]

192.168.1.10

chargen

19/tcp ttytst source

192.168.1.10

ftp

21/tcp File Transfer [Control] [96,JBP]

192.168.1.10

exec

512/tcp remote process execution;

192.168.1.10

login

513/tcp remote login a la telnet;

192.168.1.10

cmd

514/tcp shell like exec, but automatic

192.168.l.l0

ssh

22/tcp Secure Shell

192.168.1.10

telnet

23/tcp Telnet

[112,JBP]

192.168.1.10

sratp

25/tcp Simple Mail Transfer [102,JBP]

192.168.1.10

nfs

2049/tcp networked file system

192.168.1.10

lockd

4045/tcp

 

192.168.1.10

unknown

32772/tcp unassigned

192.168.1.10

unknown

32773/tcp unassigned

192.168.1.10

unknown

32778/tcp unassigned

192.168.1.10

unknown

32799/tcp unassigned

192.168.1.10

unknown

32804/tcp unassigned

Хотя в большинстве случаев утилита strobe предоставляет точные данные, все

же важно помнить о некоторых ее ограничениях.

Во-первых, данная утилита выполняет TCP-сканирование, не поддерживая сканирование по протоколу UDP. Поэтому в некоторых случаях можно получить лишь половину требуемой информации.

Во-вторых, при соединении с каждым портом утилита strobe выполняет лишь TCP-сканирование подключением. Хотя именно этим и объясняется высокая надежность получаемых результатов, в то же время использование утилиты strobe очень легко выявить на исследуемой системе. Поэтому необходимо рассмотреть и другие утилиты

сканирования, лишенные указанных недостатков. udp_scan

Для UDP-сканирования, которого не выполняет strobe, можно воспользоваться утилитой udp_scan, которая изначально входила в пакет SATAN (Security Administrator Tool for Analyzing Networks), написанный Дэном Фармером (Dan Farmer) и Вайетсом Венема (Wietse Venema) в 1995 году. Хотя сам пакет SATAN несколько устарел,

входящие в его состав утилиты по-прежнему можно использовать. Кроме того, по адресу http://wwdsilx.wwdsi.com можно получить новую версию пакета SATAN, которая теперь называется SAINT. Несмотря на наличие множества других утилит UDPсканирования, можно прийти к выводу, что udp_scan — одна из самых надежных утилит, позволяющая получать достоверные результаты. Правда, необходимо сказать также о том, что, несмотря на высокую надежность утилиты udp_scan, у нее имеется и один существенный недостаток. Эта утилита не может противостоять контратаке какоголибо из пакетов IDS, который осведомлен о методах, используемых в пакете SATAN для сканирования портов. Таким образом, если сканирование необходимо выполнить более

скрытно, поищите какое-нибудь другое средство. Обычно с помощью утилиты udp_scan

7

Носов В.В. "Технології аудиту інформаційних систем"

проверяются порты с номерами, меньшими 1024, а также некоторые определенные порты с большими номерами.

[tsunami] udp_scan 192.168.1.1 1-1024

42:UNKNOWN:

53:UNKNOWN:

123:UNKNOWN:

135:UNKNOWN:

netcat

Еще одной прекрасной утилитой является netcat (или nc), написанная Хоббитом (Hobbit, hobbit@avian.org). Эта утилита может выполнять так много различных задач,

что была названа "швейцарским армейским ножом". Помимо остальных возможностей

утилита nc позволяет применять основные методы TCP- и UDP-сканирования. Степенью детализации выводимых данных можно управлять с помощью параметров -v и -vv,

которые включают, соответственно, режимы подробного и очень подробного

отображения результатов. Параметр -z применяется для включения режима нулевого ввода-вывода (zero mode I/O), используемого для сканирования портов, а параметр -w

позволяет задать для каждого соединения интервал ожидания. По умолчанию утилита nc выполняет TCP-сканирование, а для UDP-сканирования необходимо использовать параметр -u (как показано во втором примере).

[tsunami] nc -v -z -w2 192.168.1.1 1-140

139

(?) open

[192.168.1.1]

[192.168.1.1]

135 (?) open

[192.168.1.1]

110 (pop-3) open

[192.168.1.1]

106 (?) open

[192.168.1.1]

81

(?) open

[192.168.1.1]

80

(http) open

[192.168.1.1]

79

(finger) open

[192.168.1.1]

53

(domain) open

[192.168.1.1]

42

(?) open

[192.168.1.1]

25

(smtp) open

[192.168.1.1]

21 (ftp) open

 

 

 

 

[tsunami] nc -u -v -z -w2 192.168.1.1 1-140

135

(ntportmap) open

[192.168.1.1]

[192.168.1.1]

123

(ntp) open

[192.168.1.1]

53

(domain) open

[192.168.1.1]

42

(name) open

nmap

Рассмотрев простейшие средства сканирования портов, давайте перейдем к обсуж-

дению возможностей безусловного лидера этой категории — утилиты nmap. Данная утилита, разработанная Федором (Fyodor) (http://www.insecure.org/nmap), обладает не только базовыми возможностями TCP- и UDP-сканирования, но и поддерживает

все остальные упоминавшиеся выше методы. Очень редко можно найти утилиту, которая предоставляла бы столь богатый набор возможностей в одном пакете. Итак,

запустим утилиту и посмотрим, какие возможности она предоставляет.

# nmap -h

Nmap 4.76 ( http://nmap.org )

Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION:

Can pass hostnames, IP addresses, networks, etc.

Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL <inputfilename>: Input from list of hosts/networks

-iR <num hosts>: Choose random targets

--exclude <host1[,host2][,host3],...>: Exclude hosts/networks --excludefile <exclude_file>: Exclude list from file

8

Носов В.В. "Технології аудиту інформаційних систем"

HOST DISCOVERY:

-sL: List Scan - simply list targets to scan

-sP: Ping Scan - go no further than determining if host is online -PN: Treat all hosts as online -- skip host discovery

-PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO [protocol list]: IP Protocol Ping

-n/-R: Never do DNS resolution/Always resolve [default: sometimes] --dns-servers <serv1[,serv2],...>: Specify custom DNS servers --system-dns: Use OS's DNS resolver

SCAN TECHNIQUES:

-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans -sU: UDP Scan

-sN/sF/sX: TCP Null, FIN, and Xmas scans --scanflags <flags>: Customize TCP scan flags -sI <zombie host[:probeport]>: Idle scan -sO: IP protocol scan

-b <FTP relay host>: FTP bounce scan --traceroute: Trace hop path to each host

--reason: Display the reason a port is in a particular state PORT SPECIFICATION AND SCAN ORDER:

-p <port ranges>: Only scan specified ports

Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 -F: Fast mode - Scan fewer ports than the default scan -r: Scan ports consecutively - don't randomize --top-ports <number>: Scan <number> most common ports --port-ratio <ratio>: Scan ports more common than <ratio>

SERVICE/VERSION DETECTION:

-sV: Probe open ports to determine service/version info --version-intensity <level>: Set from 0 (light) to 9 (try all probes) --version-light: Limit to most likely probes (intensity 2) --version-all: Try every single probe (intensity 9)

--version-trace: Show detailed version scan activity (for debugging) SCRIPT SCAN:

-sC: equivalent to --script=default

--script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories

--script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts --script-trace: Show all data sent and received --script-updatedb: Update the script database.

OS DETECTION:

-O: Enable OS detection

--osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressively

TIMING AND PERFORMANCE:

Options which take <time> are in milliseconds, unless you append 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). -T[0-5]: Set timing template (higher is faster) --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes --min-parallelism/max-parallelism <time>: Probe parallelization --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies

probe round trip time.

--max-retries <tries>: Caps number of port scan probe retransmissions. --host-timeout <time>: Give up on target after this long --scan-delay/--max-scan-delay <time>: Adjust delay between probes --min-rate <number>: Send packets no slower than <number> per second --max-rate <number>: Send packets no faster than <number> per second

FIREWALL/IDS EVASION AND SPOOFING:

-f; --mtu <val>: fragment packets (optionally w/given MTU) -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys

-S <IP_Address>: Spoof source address -e <iface>: Use specified interface

-g/--source-port <portnum>: Use given port number --data-length <num>: Append random data to sent packets --ip-options <options>: Send packets with specified ip options

9

Носов В.В. "Технології аудиту інформаційних систем"

--ttl <val>: Set IP time-to-live field

--spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address --badsum: Send packets with a bogus TCP/UDP checksum

OUTPUT:

-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.

-oA <basename>: Output in the three major formats at once

-v: Increase verbosity level (use twice or more for greater effect) -d[level]: Set or increase debugging level (Up to 9 is meaningful) --open: Only show open (or possibly open) ports

--packet-trace: Show all packets sent and received --iflist: Print host interfaces and routes (for debugging)

--log-errors: Log errors/warnings to the normal-format output file --append-output: Append to rather than clobber specified output files --resume <filename>: Resume an aborted scan

--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML --webxml: Reference stylesheet from Nmap.Org for more portable XML --no-stylesheet: Prevent associating of XSL stylesheet w/XML output

MISC:

-6: Enable IPv6 scanning

-A: Enables OS detection and Version detection, Script scanning and Traceroute --datadir <dirname>: Specify custom Nmap data file location --send-eth/--send-ip: Send using raw ethernet frames or IP packets --privileged: Assume that the user is fully privileged

--unprivileged: Assume the user lacks raw socket privileges -V: Print version number

-h: Print this help summary page. EXAMPLES:

nmap -v -A scanme.nmap.org

nmap -v -sP 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -PN -p 80

SEE THE MAN PAGE FOR MANY MORE OPTIONS, DESCRIPTIONS, AND EXAMPLES

[tsunami]# nmap -h

nmap V. 2.53 Использование: nmap [Тип(ы) сканирования] [Параметры] <Список узлов или подсетей>

Некоторые стандартные типы сканирования (При использовании параметров, отмеченных символом '*', требуются привилегии root)

-sT TCP-сканирование подключением (используется по умолчанию)

*-sS TCP-сканирование с помощью сообщений SYN (среди всех методов TCP-сканирования является наилучшим)

*-sD UDP-сканирование

-sP ping-зондирование (выполняется поиск всех достижимых узлов)

*-sF, -sX,-sN сканирование с помощью сообщений FIN, по методу "рождественской елки" и нуль-сканирование,соответственно (рекомендуется использовать только опытным пользователям)

-SR/-I сканирование с использованием демона RPC/identd (применяется совместно с другими типами сканирования) Некоторые стандартные параметры (являются необязательными, могут комбинироваться друг с другом):

* режим изучения пакетов TCP/IP с целью определения типа удаленной операционной системы -р <диапазон> — диапазон портов, которые будут сканироваться. Пример диапазона: 4-

1024,1080,6666,31337'

-F Выполняется сканирование портов, перечисленных в файле /etc/services

-v Режим вывода подробной информации. Рекомендуется всегда использовать этот параметр. Для включения режима вывода очень подробной информации используйте параметр -vv

-Р0 Отключение проверки активности узла с помощью утилиты ping (применяется для сканирования таких узлов, как www.microsoft.com и аналогичных)

*-Ddecoy_hostl,decoy2[,...] Скрытое сканирование с указанием нескольких ложных адресов узлов

-Т <Paranoid|Sneaky|Polite|Normal(Aggressive|Insane> Принятая политика ожидания отклика от удаленного узла

-n/-R Никогда не выполнять разрешение имен DNS/Всегда выполнять [по умолчанию: имена разрешаются при необходимости]

10

Соседние файлы в папке pdf