Сканер сети для линукс

Nmap — руководство для начинающих

Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.

nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.

Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой

# aptitude install nmap

Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:

Для опытов возьмем специальный хост для экспериментов, созданный самими разработчиками nmap — scanme.nmap.org. Выполним от root’а
Ключи сканирования задавать необязательно — в этом случае nmap проверит хост на наличие открытых портов и служб, которые слушают эти порты.
Запустим командой:

Через несколько секунд получим результат:
Interesting ports on scanme.nmap.org (74.207.244.221):
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http

Ничего необычного, ssh на стандартном порту и http на 80. Nmap распознаёт следующие состояния портов: open, filtered, closed, или unfiltered. Open означает, что приложение на целевой машине готово для принятия пакетов на этот порт. Filtered означает, что брандмауэр, фильтр, или что-то другое в сети блокирует порт, так что Nmap не может определить, является ли порт открытым или закрытым. Closed — не связанны в данный момент ни с каким приложением, но могут быть открыты в любой момент. Unfiltered порты отвечают на запросы Nmap, но нельзя определить, являются ли они открытыми или закрытыми.

# nmap -O scanme.nmap.org

Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка Device type:

Device type: general purpose|WAP|webcam|storage-misc
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (93%), AXIS Linux 2.6.X (89%), Linksys Linux 2.4.X (89%)
Aggressive OS guesses: Linux 2.6.17 — 2.6.28 (93%), Linux 2.6.9 — 2.6.27 (93%), Linux 2.6.24 (Fedora 8) (92%), Linux 2.6.18 (Slackware 11.0) (92%), Linux 2.6.19 — 2.6.26 (92%), OpenWrt (Linux 2.4.32) (91%), Linux 2.6.22 (91%), Linux 2.6.22 (Fedora Core 6) (90%), Linux 2.6.13 — 2.6.27 (90%), Linux 2.6.9 — 2.6.18 (90%)
No exact OS matches for host (test conditions non-ideal).

Вообще, точную версию ядра средствами nmap определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:

# nmap -O example.com example2.com

Вернемся к нашему подопытному хосту. Хочется узнать поподробнее, какой используется софт. Попробуем уточнить полученные данные с помощью ключей -sV:

# nmap -sV example.com example2.com

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
Service Info: OS: Linux

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

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

# nmap -A scanme.nmap.org

Nmap выведет очень много информации, я не стану приводить пример. Сканирование может длится довольно долго, занимая несколько минут.

В локальных сетях или просто имея на руках диапазон ip адресов, удобно проверить их на занятость с помощью ключей -sP:

# nmap -sP 192.168.1.0/24

Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.5. Тогда выполним:

# nmap -sP 192.168.1.2-5

Ответ будет выглядеть так:

Host 192.168.1.2 is up (0.0023s latency)
Host 192.168.1.3 is up (0.0015s latency)
Host 192.168.1.4 is up (0.0018s latency)
Host 192.168.1.5 is up (0.0026s latency)

В моем случае все ip в данный момент были в сети.
Это далеко не все возможности nmap, но уместить их в рамках одной статьи несколько сложновато.

Читайте также:  Проверить динамики windows 10

Если вам ближе GUI — есть замечательная утилита Zenmap — графическая оболочка для nmap, умеющая заодно и строить предполагаемую карту сети.

Хочу предупредить, что сканирование портов на удаленных машинах может нарушать закон.
UDPInflame уточнил, что сканирование портов все-таки не является противозаконным.

Источник

5 инструментов для мониторинга сети в Linux

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

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

Старый добрый Ping

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

Первая и важнейшая команда — ifconfig . Выполнение этой команды отобразит информацию о всех известных системе сетевых устройствах. На примере выше вы видите eth0 и lo. Первое соответствует сетевой карте Ethernet (с назначенным адресом 192.168.0.2), второе же — так называемая локальная петля или loopback-соединение. Данная команда также показывает MAC-адрес устройства (HWaddr) и статистику трафика. Эта команда должна быть первой, если у вас возникли проблемы с сетью, чтобы посмотреть, насколько верен IP-адрес и учитывается ли трафик или ошибки передачи данных.

Команда ping — вторая используемая после ifconfig для того, чтобы понять, имеет ли ваш компьютер связь с внешним миром. Выполнение запроса ping в направлении любого известного вам сетевого адреса (например, 4.2.2.1) моментально покажет, соединены вы с сетью или нет. Также оно покажет время выполнения запроса. Обычно время выполнения при типе соединения DSL должно быть около 50 миллисекунд.

После этих двух команд можно попробовать выполнить команду route . Она отобразит список IP адресов, включающий конечный адрес (Destination) и адрес шлюза (Gateway), назначенных одному из устройств, а также дополнительную информацию, например, колонку Flags. В этой колонке будет написана буква G в строке, связанной со шлюзом по умолчанию. Вы можете использовать этот адрес в команде ping , чтобы установить, соединен ли ваш компьютер со шлюзом.

EtherApe

EtherApe может быть установлена из Центра приложений Ubuntu. Данная программа использует библиотеки GNOME и libpcap для отображения визуальной карты всего сетевого трафика, проходящего через выбранный интерфейс. После установки значок EtherApe появится в меню Приложения / Система. Однако, когда мы ее запустили таким образом, мы не смогли открыть ни одного сетевого устройства, поскольку для этого необходимы права суперпользователя. Поэтому мы запустили EtherApe из командной строки, используя sudo :

Когда вы запустили программу, она должна начать строить графическое отображение трафика, проходящего через основной Ethernet-интерфейс. Вы можете выбрать другое устройство, если ваш компьютер имеет несколько сетевых карт, через меню Capture / Interfaces. EtherApe также может отображать данные из сохраненного pcap-файла и отображать трафик определенного протокола.

Nmap — широко используемый сетевой сканер, предназначенный для использования в целях безопасности, впервые выпущенный в 1997 году. Он использует множество специальных пакетов для проверки сети с самыми различными целями, включая создание карты IP адресов, определения установленной на удаленном компьютере операционной системы и выяснения диапазона портов по указанному IP-адресу. Одна из основных функций — так называемый ping sweep , то есть серия ping-запросов с целью выяснения, с какими адресами компьютеры соединены с сетью. Делается это следующим образом:

$ nmap -sP 192.168.0.1-255

Также существует ряд графических приложений, доступных в Центре приложений Ubuntu, которые используют nmap как основу и отображают результаты в более «дружелюбном» режиме. Примеры таких приложений — NmapSI4, использующий интерфейс Qt4, и Zenmap.

Tcpdump

Захват сетевого трафика для его дальнейшего анализа — первостепенная функция tcpdump . Захват пакета осуществляется посредством libpcap, а уже конечное отображение и анализ совершается tcpdump. Необработанная информация Ethernet-пакетов записывается в файл pcap для дальнейшего их исследования. Этот же формат используется и другими инструментами анализа пакетов, такими как, например, Wireshark.

Команда запуска tcpdump для захвата базового трафика может быть следующей:

Читайте также:  Не блокирующие сокеты windows

$ sudo tcpdump nS

Команда sudo необходима для получения доступа к основному Ethernet-устройству. Данная команда отобразит основную информацию, включающую время, адрес отправления и адрес назначения, а также тип пакета. Tcpdump будет продолжать работать и отображать информацию в терминале до тех пор, пока вы не нажмете Ctrl-C. Tcpdump — самый лучший и быстрый спосою записи сетевого трафика в файл. Команда для этой цели может быть следующей:

$ sudo tcpdump s w pktfile.pcap

Wireshark

Wireshark, ранее известный как Ethereal, стал выбором многих, если не большинства, профессионалов в области сетевого администрирования. (Пользователи Ubuntu 10.04 найдут Wireshark в Центре приложений Ubuntu в разделе «Интернет».) Как это было и с другими инструментами, мы запустили Wireshark из командной строки, используя sudo , чтобы увидеть доступные Ethernet-устройства. После запуска слева в главном окне можно будет увидеть список доступных интерфейсов. После выбора необходимого физического или виртуального устройства, вы попадете на страницу, где будут отображаться сетевые пакеты.

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

Заключение

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

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

Источник

Сравнение инструментов сканирования локальной сети

Когда я работал в нескольких государственных организациях кавычкодавом, овощем пентестером, суровые бородатые дяди в свитерах учили меня использовать только Nmap для сканирования сети. Сменив место работы, Добби стал свободен от предрассудков и решил выбрать сканер самостоятельно на основании псевдо-объективных данных сравнения реального функционала популярных сканеров, которые смог найти в сети самостоятельно, или, спросив у коллег, какой их любимый сканер. Собственно, о результатах внутреннего холливара сравнения сетевых сканеров и решил написать статью. Объективность не гарантирую, но постарался сделать колличественный анализ. Кому интересно, что из этого вышло, добро пожаловать под кат.

Старый и опытный волк безопасник предложил свой любимый и привычный консольный Nmap. Ещё один наш выходец из «госухи», combonik, говорил, что разницы нету, опенсорсный или вендорский, главное — веб-интерфейс для работы. Ещё наш погонщик менеджер сказал, что вендорские сканеры — самые лучшие, аргументируя свои слова тем, что такие сканеры имеют постоянную поддержку, удобный интерфейс для работы и постоянные обновления.

Дабы сгладить наши противоречия, было решено провести блиц-тестирование сетевых сканеров уязвимостей. Холивар среди пентестеров Hacken привел нас к новой задаче — проведению сравнительной характеристики по результатам сканирования. Для проведения сравнения эффективности сканирования было выбрано четыре сканера: Rapid7 Nexpose, Tenable Nessus, OpenVAS 9 и Nmap. Их выбрали на основании аналитики интернет-публикаций и личного опыта. Лично я делал ставку на Nessus, но увы, не угадал.

Rapid7 Nexpose – это сканер уязвимостей, который выполняет активное сканирование IT-инфраструктуры на наличие ошибочных конфигураций, дыр, вредоносных кодов, и предоставляет рекомендации по их устранению. Под анализ попадают все компоненты инфраструктуры, включая сети, операционные системы, базы данных и web-приложения. По результатам проверки Rapid7 Nexpose в режиме приоритетов классифицирует обнаруженные угрозы и генерирует отчеты по их устранению. [2]

Tenable Nessus Scanner – это сканер, предназначенный для оценки текущего состояния защищённости традиционной ИТ-инфраструктуры, мобильных и облачных сред, контейнеров и т.д. По результатам сканирования выдаёт отчёт о найденных уязвимостях. Рекомендуется использовать, как составную часть Nessus Security Center. [3]

OpenVAS — это сканер уязвимостей с открытым исходным кодом. OpenVAS предназначен для активного мониторинга узлов вычислительной сети на предмет наличия проблем, связанных с безопасностью, оценки серьезности этих проблем и для контроля их устранения. Активный мониторинг означает, что OpenVAS выполняет какие-то действия с узлом сети: сканирует открытые порты, посылает специальным образом сформированные пакеты для имитации атаки или даже авторизуется на узле, получает доступ к консоли управления, и выполняет на нем команды. Затем OpenVAS анализирует собранные данные и делает выводы о наличии каких-либо проблем с безопасностью. Эти проблемы, в большинстве случаев касаются установленного на узле необновленного ПО, в котором имеются известные и описанные уязвимости, или же небезопасно настроенного ПО. [1,6]

Nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб). Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.[4,5]

Тестовая среда

Для проведения тестирования я собрал тестовую сеть на VMware Workstation 12 Pro в схему, которая представлена на рис. 1.

Читайте также:  Не помню аккаунт windows

Рис. 1. Схема сети

  • Windows 7 со всеми установленными обновлениями, запущенным приложением XAMPP, развёрнутыми сервисами MySQL и Apache. Также развёрнута тестовая система DVWA.
  • Metasploitable 2 – операционная система с предустановленными уязвимыми сервисами и приложениями, которая используется для тестирования.
  • Ubuntu 16.04 c установленным IDS Suricata [10] и сконфигурированным iptables [9].
  • Kali Linux — дистрибутив Linux, который используется для тестирования на проникновения.
  • Перечень уязвимых сервисов в Metasploitable 2 приведены в таблице 1.

Таблица 1

Service Port Status
Vsftpd 2..four 21 Open
OpenSSH four.7p1 Debian 8ubuntu 1 (protocol 2.zero) 22 Open
Linux telnetd service 23 Open
Postfix smtpd 25 Open
ISC BIND 9.four.2 53 Open
Apache httpd 2.2.eight Ubuntu DAV/2 80 Open
A RPCbind service 111 Open
Samba smbd .X 139, 445 Open
r companies 512, 513, 514 Open
GNU Classpath grmiregistry 1099 Open
Metasploitable root shell 1524 Open
A NFS service 2048 Open
ProFTPD 1..1 2121 Open
MySQL 5.zero.51a-3ubuntu5 3306 Open
PostgreSQL DB eight..zero — eight..7 5432 Open
VNC protocol v1. 5900 Open
X11 service 6000 Open
Unreal ircd 6667 Open
Apache Jserv protocol 1. 8009 Open
Apache Tomcat/Coyote JSP engine 1.1 8180 Open

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

Nessus Scanner запускался в режиме «Basic Network Scanning». [3]
Rapid 7 Nexpose запускался в режиме «Full audit without Web Spider». [2]
OpenVAS 9 запускался в режиме «default». [1,6]
Nmap запускался двумя командами: [4,5]

  • nmap -sV -T4 -O -F —version-light 192.168.234.130-131
  • nmap -Pn —script vuln 192.168.234.130-131

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

Nexpose обнаружил 527 уязвимости (см. Диаграмма 1), из них:
Репорт

167 – получили статус “critical” — уязвимости необходимо закрывать в первую очередь.
349 – получили статус “severe” — уязвимости сложны в эксплуатации, но могут привести к тяжёлым последствиям.
46 – получили статус “moderate” — найденные уязвимости могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки.

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

Tenable Nessus обнаружил 168 уязвимостей (см. Диаграмма 2), из них:
Репорт

3 – получили статус “critical”
9 – получили статус “high”
33 – получили статус “medium”
5 – получили статус “low”
118 получили статус “info”

Уязвимости уровня “critical” и “high” необходимо закрывать в первую очередь.
Уязвимости уровня “medium” — сложны в эксплуатации, но при должной проработке могут нанести ущерб.
Уязвимости уровня “low” и “info” — могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки через другие векторы.

OpenVAS 9 обнаружил 53 уязвимости (см. Диаграмма 3), из них:
Репорт
Результаты срабатывания IDS

16 – получили статус “high”
33 – получили статус “medium”
4 – получили статус “low”

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

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

Использование скрипта “vuln” определило следующие типы уязвимостей:

Выводы

Для формирования выводов я применил количественный метод оценки по суммарному количеству найденных уязвимостей. В результате выяснилось, что наибольшую глубину сканирования проводит Nexpose. Довольно слабо отработал Nessus, так как в режиме сканирования сети выдал много служебных данных о системах и сервисах, которые только дают информацию для аналитики. С очень слабой стороны показал себя сканнер OpenVAS 9 с последними обновлениями. Отдельного слова требует Nmap – очень хороший инструмент для проведения аналитического тестирования с возможностью расширения с помощью NSE-скриптов.

Во время тестирования IDS Suricata обнаружила сканнеры NMap и OpenVAS.

Данное тестирование не является каноничным, как например, тесты Gartner или NSS Labs. Но не смотря на это, думаю, статья будет актуальна для специалистов в сфере администрирования систем и технического аудита.

P.S. А для чего это всё делалось?

Необходимо было принять на вооружение выбрать сканер для компании Hacken. Кроме того, проведение сканирования внутренней сети регламентировано стандартами управления информационной безопасности в коммерчиских организациях, банковской, энергетической и прочих сферах деятельности. Сканирование сети необходимо проводить не только для получения сертификации для организации, но и для управления уязвимостями в информационно-телекоммуникационной системе, контроля обновления операционных систем и другие не менее важные задачи по управлению информационной безопасностью. [8, 11]

Источник

Оцените статью