2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Первое знакомство с инструментом Nmap для системных администраторов

Первое знакомство с инструментом Nmap для системных администраторов

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

Nmap — это мощный инструмент, который можно использовать в различных целях, например, для сканирования состояния безопасности или для обнаружения серверов в сети. Продукт имеет открытый исходный код и доступен бесплатно для всех основных платформ, включая операционные системы Linux, IBM® AIX®, Mac OS X и Microsoft® Windows®. В статье описываются основные возможности Nmap и рассматриваются некоторые способы использования этого инструмента системными администраторами.

Внимание!

Соблюдайте осмотрительность при экспериментах с инструментом Nmap и при его практическом применении. Многие организации осуществляют постоянный мониторинг своих серверов на предмет воздействия на них инструментов, подобных Nmap. ИТ-менеджеры нередко считают применение Nmap враждебным действием, поскольку этот инструмент можно использовать для зондирования сети с целью выявления уязвимостей в системе защиты. Используйте инструмент Nmap только после получения надлежащего письменного разрешения от владельца системы. При использовании инструмента Nmap в рабочей среде вы должны быть абсолютно уверены в том, что у вас есть письменное разрешение от ИТ-менеджеров на выполнение соответствующих мероприятий.

Маркетолог: привлекать, продавать, продвигать?

Читать далее

показать все

Рубрика: Тема номера / Технологии безопасности

Леонид Шапиро , архитектор ИТ-систем, MVP, MCT, MCSE, MCITP:EA, MCSE:S, MCSE:M, shapiro_leonid@yahoo.com

Атаки DDoS. Часть 3. Разведка

Любые военные действия, кибервойны – не исключение, начинаются с разведки, выявления слабых мест в обороне потенциальной жертвы

Существуют различные методики проведения разведки информационных систем для выявления целей последующих кибератак.

В рамках цикла по DDoS-атакам, начатого в [1], [2], имеет смысл рассмотреть сканирование. Что оно собой представляет? Какие угрозы несет? Почему так важно ему противостоять? Начнем с определений. Что такое сканирование? Сканирование – это набор процедур, позволяющих идентифицировать узлы, порты и сервисы целевой системы. Сканирование сети позволяет злоумышленнику собрать профиль атакуемой организации [3].

Согласно руководству по этичному хаккингу (Ethical Hacking and Countermeasures EC-Council) [3] различаются следующие типы сканирования:

  • сетевое сканирование – определение находящихся в сети узлов;
  • сканирование портов – выявление открытых портов и функционирующих сервисов;
  • сканирование безопасности системы – выявление известных уязвимостей системы.

Некоторые компании, специализирующиеся на защите от DDoS, не рассматривают сканирование в качестве атаки и не считают нужным ему противостоять. Действительно, на первый взгляд никакого вреда системе ведь нет, тем не менее с таким подходом трудно согласиться, ведь сканирование предваряет атаку, позволяя злоумышленнику выяснить, какие сервисы работают в целевой системе, а значит, подготовить и провести целенаправленную атаку против выявленных сервисов и их уязвимостей (см. рис. 1). Следовательно, бороться с разведкой злоумышленников необходимо.

Рисунок 1. Цели сканирования

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

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

Выявляем структуру сети. Самый простой способ сканирования – ICMP scanning [4]. Принцип работы основан на протоколе ICMP, и такой тип сканирования позволяет выяснить «живые» узлы в сети и построить схему сети с перечнем ее узлов. Суть метода заключается в отправке ICMP-запросов узлам сети, если компьютер или иное устройство, работающее со стеком протоколов TCP/IP, активно, то будет отправлен ответ. Это так называемый ping sweep или ICMP sweep (см. рис. 2). Существует огромное количество средств, позволяющих выполнить подобное сканирование [5].

Рисунок 2. Сканирование ICMP sweep

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

Здесь мы говорим о TCP-сканировании. Его принцип основан на особенностях работы TCP. В сущности, очень похожий механизм взаимодействия принят в авиации при переговорах пилотов с диспетчером, включающий запрос, ответ с указанием, подтверждение полученной инструкции. Такой способ взаимодействия если и не исключает полностью вероятность непонимания, то по крайней мере существенно снижает такую вероятность.

Это могло бы выглядеть так:

  • Пилот: Шереметьево-Руление, Аэрофлот 502, разрешите предварительный.
  • Диспетчер: Аэрофлот 502, 25 правая1 по РД2 10, магистральной, РД5 предварительный разрешаю.
  • Пилот: Аэрофлот 502, 25 правая, по РД 10, магистральной, РД5 предварительный разрешили.

Что тут происходит? Пилот обратился к диспетчеру с запросом о разрешении руления и его маршруте. Диспетчер разрешил руление и определил маршрут следования. Пилот подтвердил маршрут следования и разрешение диспетчера. Все, можно двигаться – маршрут получен.

Очень похожее происходит и в TCP-взаимодействии. Здесь используется схема three-way-handshake [6], [7] или «трехэтапного» согласования, встречается также термин «трехэтапное квитирование», которое позволяет синхронизировать передающий и получающий узлы и установить сессию (см. рис. 3.), что, в сущности, идентично примеру с радиопереговорами.

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

Некоторые методики сканирования портов. Самый эффективный и несложный способ сканирования – Full Connect Scan (Full Open Scan) [3], [9]. Его принципы как раз показаны на рис. 3. Происходит попытка выполнить трехэтапное согласование (three-way-handshake) [6], [7] с интересующими исследователя узлами. Если искомый порт открыт, то мы получаем от него сообщение SYN+ACK, после этого посылаем узлу RST (сброс сессии), если закрыт, то нам приходит RST от проверяемого узла. Надо отметить, что такой способ сканирования легко идентифицируется, стало быть, противостоять ему несложно.

Рисунок 3. Установка TCP-сессии

Другой способ сканирования сети называется Stealth Scan (Half-open Scan) [3], [8]. В этом случае атакующий старается обойти защиту брандмауэра и замаскироваться под обычный сетевой трафик с тем, чтобы избежать фиксации события сканирования в логах системы. Здесь речь не идет о согласовании, исследователь просто отправляет SYN-пакет на интересующий порт требуемого сервера. Если в ответ приходит SYN+ACK, то порт открыт, если RST, то порт закрыт.

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

Читать еще:  Кали загружается чёрным экраном: команды для initramf?

Не менее известные методы сканирования – Xmas Scan и Null Scan, однако мы не будем их рассматривать ввиду того, что защита от них реализована в рамках современных операционных систем Microsoft, поэтому они не будут представлять для нас большого интереса. Особенность этих типов сканирования – стелс режим работы, то есть без установки сессии. Впрочем, посмотреть детали можно в курсе Ethical Hacking [3] или в книге «Network Security Test Lab» [8]. Эти типы сканирования эффективны только для операционных систем, где TCP-стек работает на основе RFC 793 [7]. Все современные операционные системы от Windows Vista и старше не подвержены этому риску.

Пожалуй, наиболее интересным способом сканирования является Idle Scan [3], [9]. Основная идея заключается в том, что злоумышленник может просканировать жертву, не показывая ей своего IP-адреса, то есть с точки зрения сканируемого узла злоумышленник с ней как бы и не общается. Используется «подставной» узел, который и может быть определен системами противодействия вторжениям в качестве источника атаки. Это весьма разумная методика, так называемый спуфинг, когда адрес отправителя подменяется на адрес другого устройства. Надо сказать, что «подставным» узлом или «зомби» может стать компьютер, который обладает определенными уязвимостями [9]. Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий всегда может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP.

Это сканирование использует поле Identification в IP-заголовке (IPID) [10]. Значение IPID увеличивается на единицу в каждом следующем пакете, который отправляет узел. В сущности, это и есть уязвимость, поскольку появляется возможность предсказать, какое количество пакетов было передано между двумя пакетами, которые были получены. Современные операционные системы используют случайное значение для поля IPID, однако, как уже было упомянуто выше, всегда можно найти решение. Для современных Unix и Windows систем от Windows Vista и старше эта проблема уже потеряла свою актуальность [9]. На первом шаге (1) атакующий обращается к подставному устройству со стандартным SYN-пакетом (см. рис. 4).

Рисунок 4. Idle-сканирование (порт на сервере открыт)

Устройство отвечает пакетом SYN ACK (2) или SYN RST, что более вероятно, однако из заголовка пакета атакующему становится виден IPID. Его-то и надо запомнить (3). Далее атакующий обращается к интересующему его серверу (4), при этом подменяет свой IP-адрес на адрес подставного узла, то есть маскируется, используя спуфинг (подмену адресов). В ответ на этот запрос сервер, если порт открыт, посылает SYN/ACK на подставной адрес (5). Мы ведь выполнили подмену. Не зная, что делать с этим пакетом, подставной компьютер в ответ пошлет RST (сброс сессии), при этом увеличит значение своего IPID. В нашем случае он станет равным 30132 (6). Если порт закрыт, то сервер пошлет сброс сессии (RST) – см. рис. 5 (5).

Рисунок 5. Idle-сканирование (порт на сервере закрыт)

IPID подставного узла остался неизменным, в нашем случае 30131, поскольку «зомби» никому больше ничего не отправлял. Теперь останется еще раз обратиться к «зомби», как мы это уже делали выше, выявить его IPID, сравнить его с имеющимся у нас значением. Если IPID увеличился на 2, то порт открыт.

Еще один важный момент, который хотелось бы отметить, – операционные системы имеют свою специфику при работе со стеком TCP/IP. Используя эти особенности при анализе пакетов, полученных при сканировании, вполне возможно выяснить, с какой ОС мы имеем дело, на этих принципах построены методики сканирования Banner Grabbing [11]. Задача – выявить информацию о вычислительной системе и ее уязвимостях, что позволит атакующему использовать эти знания для своих последующих деструктивных действий. Любой современный сканер предоставит атакующему эту информацию [5].

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

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

Следовательно, службы ИБ организации должны внимательно отнестись к вопросам сканирования и обеспечить эффективное противодействие подобной разведке. Рассматривая средства противодействия вторжениям, стоит обратить внимание на их возможности по блокировке различных методик сканирования систем.

Как использовать сканирование портов через nmap эффективно?

Nmap умеет использовать сразу несколько отличных друг от друга техник, с помощью которых сканирование портов пройдёт успешно. Самое трудное, что нас поджидает, это обход фаервола и (сейчас внимание!) внедрение программы в систему противника. Учтём и тот факт, что скрипты Nmap постоянно пополняются, и просто невозможно охватить все её возможности. Но это в другой раз, а сейчас только про порты. Да, и не забываем – по умолчанию программа сканирует только первую тысячу портов.

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

Простые команды Nmap.

Самый прямой способ узнать в сети компьютер или нет, это тот самый пинг. Он используется во всех самых простых и самых сложных (по умолчанию) утилитах сканирования. Пинг – это не что иное как ICMP запрос с ожиданием эха (одна из целей его создания, один из главных принципов – машина должна на него ответить). Ping адрес-сайта – самая простая и знакомая всем команда. Её суть – начало простого диалога с компьютером (“Ты здесь? – Да/Нет”). Своим названием она обязана сонару, исследующему подводные объекты. В компьютерах сетях всё тоже самое. Большинство наиболее применимых команд Nmap можно найти в статье Самые употребляемые команды Nmap.

Кстати, для начала стоит убедиться, установлена ли сама Nmap. Для этого в терминале Линукс наберите:

Терминал вернёт номер текущей версии продукта. В Кали Nmap предустановлена.

Если нужно просканировать одиночную сеть, используйте команду:

где ваша_цель – ресурс, который вы сканируете. Эта команда проверит состояние самых используемых портов на этом хосте, запустив сканер TCP портов.

Несмотря на всю кажущуюся простоту, Nmap проводит огромную работу. И это можно немного изменить. Так, утилита начинает с того, что конвертирует имя хоста, приводя его в IPv4 вид, используя DNS. Вы можете использовать иной DNS сервер, например DNS Google:

Для чего я это всё пишу… Это и следующее движение можно вообще пропустить. Делается это установкой флага -n . Ведь следующим шагом Nmap будет обратная конвертация IPv4 адреса в имя хоста на латинице. Повторяю, это “дело” можно пропустить:

В итоге целевой компьютер пингуется на предмет “жив” этот хост (работает) или спит, то есть выключен. Но и этот шаг можно пропустить (зачем – рассмотрим подробнее потом), используя опцию -PN:

И вот запускается само сканирование TCP портов и, чтобы указать, какие порты вас интересуют, можно придать команде вид типа:

Если нужно отсканировать фрагмент сети или всю, как во второй команде, подсеть, используйте команды:

Читать еще:  Установка Linux Mint. Пошаговая подробная инструкция

Если вы нацелились на ещё куда более обширный объём работ, можете опускать целые ранги в указанных диапазонах с помощью символа * (этот символ прекрасно “прокатывает” в поисковых сиситемах, если вы не уверены в вводимых символах, которые ищете):

Вариаций куча. Множественные, но выборочные цели сканировать нетрудно; нужно просто разделить цели в набираемой команде с помощью пробела:

Если нужно «проверить» список IP адресов, но не всю сетку, используйте команду типа:

Далее. Допустим, у вас целый список машин, которые вы собираетесь атаковать. Сканер можно заставить просканировать весь список:

…если вы, конечно, абсолютно уверены, что составленный список корректен.

Результаты сканирования

Результаты, полученные при последнем сканировании видны во вкладке Вывод Nmap. В левой части вы можете переключаться между Узлами и Сервисами. При клике на определённый узел, вы увидите предыдущие результаты сканирования. При клике на сервис, вы увидите узлы, на которых данных сервис был обнаружен:

Для просмотра обобщённой информации по узлу, кликните на него и выберите вкладку Детали узла:

Во вкладке Топология вы увидите информацию о связях между просканированными/обнаруженными узлами:

Nmap : сканирование портов — как это работает

Как провести сбор информации с помощью Nmap

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

Существует три основных способа сбора информации:

1)Пассивный сбор информации

Социальная инженерия — эта техника похожа на пассивный сбор информации, но при этом опирается на человеческий фактор, распечатки, телефонные звонки, банальную невнимательность и т.д. Например, хакер может зарегистрировать домен похожий на целевой и рассылать от его имени сообщение, что мол перейдите по ссылке, введите логин и пароль. Такие домены в просто народе называются “Злыми близнецами”.

И ПОМНИТЕ ВСЕ ПОКАЗАННОЕ ВЫШЕ, СДЕЛАНО В ЦЕЛЯХ ОБУЧЕНИЯ.

МОЖНО ПРИМЕНЯТЬ ТОЛЬКО НА СВОИХ ПРОЕКТАХ, ПОСЛЕ РАЗРЕШЕНИЯ

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

И так, Nmap — это свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов в системе, определения состояния объектов сканируемой сети (а именно портов и соответствующих им служб). Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем. 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-фрагментации, быстрый поиск уязвимостей SQL Injection, а также произвольное указание IP-адресов и номеров портов сканируемых сетей. В последних версиях добавлена возможность написания произвольных сценариев (скриптов) на языке программирования Lua.

Если вы хотите ознакомить со всем списком, то просто можете зайти в msfconsole, затем написать слово Nmap. Вам вывалиться сразу весь список команд с описанием, что это за команды.

TCP connect [-sT] — наиболее простой и общий тип сканирования в nmap:

1. nmap -sT -p1–20 test.net
2. [*] exec: nmap -sT -p1–20 test.net

3. Starting Nmap 7.60 ( https://nmap.org ) at 2018–02–16 14:55 EET
4. Nmap scan report for test.net (193.239.68.38)
5. Host is up (0.020s latency).
6. rDNS record for 193.239.68.38: www.test.net

7. PORT STATE SERVICE
8. 1/tcp filtered tcpmux
9. 2/tcp filtered compressnet
10. 3/tcp filtered unknown
11. Nmap done: 1 IP address (1 host up) scanned in 1.61 seconds

Как видим мы выше, передали -sT параметр, который выполняет TCP connectсканирование, а параметр -p задает диапазон портов, которые мы хотим просканировать.

SYN scan [-sS] — считается невидимым типом сканирования, так как он не устанавливает полное подключение/связь между целью и сканером. Таким образом его еще называют “полуоткрытым” сканированием:

1. nmap -sS test.net
2. [*] exec: nmap -sS test.net

3. Starting Nmap 7.60 ( https://nmap.org ) at 2018–02–16 15:04 EET
4. Nmap scan report for test.net (193.239.68.38)
5. Host is up (0.020s latency).
6. rDNS record for 193.239.68.38: www.test.net
7. Not shown: 999 filtered ports
8. PORT STATE SERVICE
9. 80/tcp open http

10. Nmap done: 1 IP address (1 host up) scanned in 5.01 seconds

Параметр -sS указывает nmap использовать SYN scan. Оба вывода TCP connect и SYN scan схожи в большинстве случаев. Разница состоит в том, что SYN scan трудно обнаружить межсетевым экранам и Intrusion Detection Systems (IDS). Однако, современным фаерволам не представляет труда его обнаружить.

ACK scan [-sA] — специальный тип сканирования, который показывает, какие порты фильтруются фаерволом, а какие нет. ACK scan отправляет TCP ACK фреймы на удаленный порт. Если ответа не последовало, значит порт сканируется фаерволом. Однако, если цель возвратила RST пакет (connection reset — сброс соединения), то порт не фильтруется:

1. nmap -sS test.net
2. [*] exec: nmap -sA test.net

3. Starting Nmap 5.51SVN ( http://nmap.org ) at 2018–02–16 15:19 EET

4. Nmap scan report for 192.168.56.102

5. Host is up (0.0011s latency).

6. Not shown: 999 filtered ports

7. 9001/tcp unfiltered tor-orport

Определение ОС и ее версии

Есть некоторые дополнительные возможности, предоставляемые Nmap, кроме сканирования портов. Они могут помочь нам получить больше информации о цели. Одним из наиболее широко используемых параметров является определение операционной системы -O:

1. nmap -O test.net
2. [*] exec: nmap -O test.net
3. Starting Nmap 5.51SVN ( http://nmap.org ) at 2018–02–16 15:19 EET
4. Nmap scan report for test.net
5. Host is up (0.0014s latency).
5. MAC Address: 08:00:27:34:A8:87 (Cadmus Computer Systems)
6. Device type: general purpose
7. Running: Microsoft Windows XP

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

3) Социальная инженерия

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

Чтоб воспользоваться этим способом достаточно просто знать 3-и простые команды Whois, dig и nslookup, они помогут получить первичную информацию целевой системы.

Начнем с Whois. Может вывестись очень много информации но нам надо акцентироваться только на основном.

Читать еще:  Что такое эксплойт, где эксплойт скачать и как он работает?

1. root@slogin: whois test.net

2. Domain Name: Test.NET

3. Registry Domain ID: 31484524_DOMAIN_NET-VRSN

4. Registrar WHOIS Server: whois.godaddy.com

5. Registrar URL: http://www.godaddy.com

6. Updated Date: 2016–05–18T14:23:36Z

7. Creation Date: 2000–07–17T17:51:17Z

8. Registrar: GoDaddy.com, LLC

9. Registrar Abuse Contact Email: abuse@godaddy.com

10. Registrar Abuse Contact Phone: 481–624–2505

11. Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited

12. Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited

13. Name Server: NS0.SPUTNIKMEDIA.NET

14. Name Server: NS1.SPUTNIKMEDIA.NET

15. Name Server: NS3.SPUTNIKMEDIA.NET

Совершенный поиск по whois дал нам немного сведений о целевой системе. Информация включает в себя DNS-сервера, дату создания, регистратора и т.п. Поскольку информация была получена не от целевой системы, а из сторонних источников, следовательно эта техника называется “пассивным сбором информации”.

Вторым способом “пассивно” получить инфу — обращение к DNS-записям. Наиболее распространенным приемом является использование команды dig, которая поставляется по умолчанию в UNIX. Посмотрим, как dig справится со своей задачей:

1.;;root@slogin: dig test.net

2. ; > DiG 9.11.2–5-Debian > test.net
3. ;; global options: +cmd
4. ;; Got answer:
5. ;; ->>HEADER

7. ;; OPT PSEUDOSECTION:
8. ; EDNS: version: 0, flags:; udp: 4096
9. ;; QUESTION SECTION:
10. ;test.net. IN A

11. ;; ANSWER SECTION:
12. test.net. 396 IN A 193.239.68.38

13. ;; AUTHORITY SECTION:
14. test.net. 8409 IN NS ns3.sputnikmedia.net.
15. test.net. 8409 IN NS ns1.sputnikmedia.net.
16. test.net. 8409 IN NS ns0.sputnikmedia.net.

17. ;; ADDITIONAL SECTION:
18. ns0.sputnikmedia.net. 94809 IN A 193.239.68.100
19. ns1.sputnikmedia.net. 94809 IN A 193.239.68.101
20. ns3.sputnikmedia.net. 94809 IN A 213.186.116.119

21. ;; Query time: 0 msec
22. ;; SERVER: 192.168.21.10#53(192.168.21.10)
23. ;; WHEN: Fri Feb 16 14:30:40 EET 2018
24. ;; MSG SIZE rcvd: 170

Запрос к DNS-записям выявил более подробную информацию. Из вывода трудно определить первичный DNS, или в некоторых случаях основной почтовый сервер или хостинг. Поэтому в игру вступает nslookup. Nslookup такой же гибкий, как и dig, но обеспечивает простой стандартный метод выявления первичных хостов, таких как почтовый сервер и DNS-сервер.

1. root@slogin: nslookup test.net

2. Server: 192.168.21.10
3. Address: 192.168.21.10#53

4. Non-authoritative answer:
5. Name: test.net
6. Address: 193.239.68.38

Nslookup выдала более подробную информацию о цели, такую как IP-адрес, IP сервера и т.п. Пассивные техники могут выявить некоторые интересные сведения о цели, которые облегчат тестирование на проникновение.

Определяем название и версию сервиса на порте

Одна из интересных особенностей Nmap в том, что он способен не только определить состояние порта (открыт, закрыт, фильтруется), но и идентифицировать имя демона/службы на этом порте, а в некоторых случаях даже его версию. Для этого Nmap может применять несколько разных техник, например подключиться к порту 80 и послать HTTP-запрос для идентификации имени и версии веб-сервера либо использовать информацию о том, как сервис отвечает на те или иные пакеты и запросы.

Все правила идентификации служб и их версий определены в файле /usr/share/nmap/nmap-service-probes , а заставит Nmap их применить флаг -sV :

Причем есть возможность даже усилить попытки Nmap определить службу с помощью флага —version-all :

Однако обычно это не повышает качество распознавания.

Nmap не смог определить версию HTTP-сервера, но узнал его имя

Как работает Nmap?

В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.

Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.

Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.

История

Nmap был впервые опубликован в сентябре 1997 года, как статья в журнале Phrack Magazine [8] с исходным кодом включены. С помощью и вкладами сообщества компьютерной безопасности его развитие продолжалось. Усовершенствования включали внедрение операционной системы дактилоскопии, дактилоскопического обслуживания, переписанный код (с языка C на C++), дополнительные виды сканирования, поддержка протокола (например, IPv6, протокол SCTP) и новые программы, которые дополняют основные функции cканирования. Изменения включали в себя:

  • 12 декабря 1998—Выпущена Nmap 2.00, включая операционную систему сканирования отпечатков пальцев
  • 11 апреля 1999—NmapFE, передняя часть GTK+, в комплекте с Nmap
  • 7 декабря 2000—порт Windows
  • 28 августа 2002—переписка с языка С на C++ (язык программирования)
  • 16 сентября 2003—первый публичный выпуск, включающий обнаружение служебной версии
  • 31 августа 2004—ядро сканирования переписано для версии 3.70, новый движок называется ultra_scan

Лето 2005-Nmap выбран для участия в Google Summer of Code. Добавлены возможности Zenmap, который использует скриптовый движок (НСЕ), Netcat [9] , и операционная система 2-го поколения.

  • 13 декабря 2007—был выпущен Nmap 4.50, 10-летие издания. Включены Zenmap, операционная система 2-го поколения, и nmap, использующий скриптовый движок.
  • 30 марта 2009 года—аварийный релиз Nmap 4.85BETA5, использование Nmap Scripting Engine (NSE) для выявления вирусные инфекции
  • 16 2009—5 июля.00 в комплекте с netcat-замена и Ndiff сканирования сравнение инструментов.
  • 28 января 2011—5.50 включена генерация Netcat пакетов Nping
  • 21 мая 2012—6.00 выпущен с полной поддержкой IPv6.
  • 9 ноября 2015—Nmap 7.00
  • 20 декабря 2016—Nmap 7.

«Changelog» nmap фиксирует все изменения.

Snort

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

В отличие от других инструментов из нашего списка, Snort используется преимущественно для защиты. Но он также позволяет понять тактику злоумышленника, фиксируя его действия. Еще с помощью Snort можно построить DNS-воронки для перенаправления атакующего трафика, обнаруживая векторы нападения.

У него есть пользовательский веб-интерфейс под названием BASE (Basic Analysis and Security Engine), который позволяет писать запросы и анализировать оповещения.

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

Фото на обложке: SeventyFour / Shutterstock

Скриншоты: Маниш М Шиванандан

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector