Как сканировать удаленный хост на открытые порты с помощью портативного сканера nmap
Вернемся к старому доброму сканеру сети Nmap
nmap (Network Mapper) — это инструмент с открытым исходным кодом для проверки сети и безопасности, а также мощный сканер портов.
Его можно использовать локально на localhost как альтернативу netstat, но основным преимуществом является сканирование удаленных хостов на открытые порты,как системы, так и запущенных сервисов.
cм. также:
Примеры
1. Сканировать удаленный хост на открытые системные порты (основные хорошо известные порты)
# nmap 192.168.2.1
Starting Nmap 7.12 ( https://nmap.org ) at 2016-05-12 21:28 CEST
Nmap scan report for router (192.168.2.1)
Host is up (0.00045s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: FC:AA:14:2B:5A:B8 (Giga-byte Technology)
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
2. Сканирование удаленного хоста, включая обнаружение ОС и обнаружение служб
# nmap -A 192.168.2.1 Starting Nmap 7.12 ( https://nmap.org ) at 2016-05-12 21:30 CEST Nmap scan report for router (192.168.2.1) Host is up (0.00022s latency). Not shown: 995 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.2 22/tcp open ssh OpenSSH 6.6.1 (protocol 2.0) | ssh-hostkey: | 2048 78:34:be:d4:fd:87:e9:bd:fc:3a:e7:93:98:74:27:82 (RSA) |_ 256 cf:c8:d2:26:14:c3:38:f9:26:fe:ca:ff:57:37:67:a5 (ECDSA) 111/tcp open rpcbind 2-4 (RPC #100000) | rpcinfo: | program version port/proto service | 100000 2,3,4 111/tcp rpcbind |_ 100000 2,3,4 111/udp rpcbind 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: ROUTER) 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: ROUTER) MAC Address: FC:AA:14:2B:5A:B8 (Giga-byte Technology) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.4 Network Distance: 1 hop Service Info: OS: Unix Host script results: | smb-os-discovery: | OS: Windows 6.1 (Samba 4.2.3) | Computer name: router | NetBIOS computer name: ROUTER | Domain name: | FQDN: router |_ System time: 2016-05-12T21:31:10+02:00 | smb-security-mode: | account_used: | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_smbv2-enabled: Server supports SMBv2 protocol TRACEROUTE HOP RTT ADDRESS 1 0.22 ms router (192.168.2.1) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 19.38 seconds
3. Сканировать удаленный хост для определенного номера порта
# nmap -p 22 192.168.2.1 Starting Nmap 7.12 ( https://nmap.org ) at 2016-05-12 21:33 CEST Nmap scan report for router (192.168.2.1) Host is up (0.000096s latency). PORT STATE SERVICE 22/tcp open ssh MAC Address: FC:AA:14:2B:5A:B8 (Giga-byte Technology) Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
4. Сканировать удаленный хост и пропустить ping (использовать, когда удаленный хост блокирует пинг)
$ nmap -Pn 192.168.2.9
Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-12 21:53 CEST
Nmap scan report for 192.168.2.9
Host is up (0.0011s latency).
Not shown: 844 closed ports, 154 filtered ports
PORT STATE SERVICE
22/tcp open ssh
3689/tcp open rendezvous
Nmap done: 1 IP address (1 host up) scanned in 3.21 seconds
5. Сканировать всю подсеть на хосты с открытыми портами и пропустить пинг хостов
# nmap -Pn 192.168.2.0/24
Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-12 22:07 CEST
Nmap scan report for 192.168.2.9
Host is up (0.000085s latency).
Not shown: 844 closed ports, 154 filtered ports
PORT STATE SERVICE
22/tcp open ssh
3689/tcp open rendezvous
MAC Address: 00:21:85:5E:9B:F5 (Micro-star Int'l Co.)
Nmap scan report for 192.168.2.1
Host is up (0.000040s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Nmap done: 256 IP addresses (2 hosts up) scanned in 3.76 seconds
6. Сканирование локального хоста на открытые порты
# nmap localhost Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-12 22:12 CEST Nmap scan report for localhost (127.0.0.1) Host is up (0.000040s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 994 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
7. Сканирование удаленного хоста для определенного диапазона портов
# nmap -p 1024-65535 192.168.2.1
Starting Nmap 7.12 ( https://nmap.org ) at 2016-05-12 22:15 CEST
Nmap scan report for router (192.168.2.1)
Host is up (0.00060s latency).
All 64512 scanned ports on router (192.168.2.1) are closed
MAC Address: FC:AA:14:2B:5A:B8 (Giga-byte Technology)
Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds
itsecforu.ru
Как пользоваться Nmap для сканирования сети
Nmap — это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Содержание статьи:
Как работает Nmap?
Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.
Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
- -sL — просто создать список работающих хостов, но не сканировать порты nmap;
- -sP — только проверять доступен ли хост с помощью ping;
- -PN — считать все хосты доступными, даже если они не отвечают на ping;
- -sS/sT/sA/sW/sM — TCP сканирование;
- -sU — UDP сканирование nmap;
- -sN/sF/sX — TCP NULL и FIN сканирование;
- -sC — запускать скрипт по умолчанию;
- -sI — ленивое Indle сканирование;
- -p — указать диапазон портов для проверки;
- -sV — детальное исследование портов для определения версий служб;
- -O — определять операционную систему;
- -T[0-5] — скорость сканирования, чем больше, тем быстрее;
- -D — маскировать сканирование с помощью фиктивных IP;
- -S — изменить свой IP адрес на указанный;
- -e — использовать определенный интерфейс;
- —spoof-mac — установить свой MAC адрес;
- -A — определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
ip addr show
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
nmap -sL 192.168.1.1/24
Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:
nmap -sn 192.168.1.1/24
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
sudo nmap 192.168.1.1
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:
sudo nmap -sV 192.168.1.1
На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:
sudo nmap -sC 192.168.56.102 -p 21
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
sudo find /usr/share/nmap/scripts/ -name '*.nse' | grep ftp
Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции —script. Но сначала вы можете посмотреть информацию о скрипте:
sudo nmap --script-help ftp-brute.nse
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:
sudo nmap -A 192.168.1.1
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.
Выводы
В этой статье мы рассмотрели как выполняется сканирование портов nmap, а также несколько простых примеров использования этой утилиты. Эти команды nmap могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
losst.ru
Настроить сканер по локальной сети
- Запускаем скачанный файл, выбираем язык установки и жмем кнопку «Next».
- Следуем подсказкам Мастера-установщика и жмем «Далее». Соглашаемся с лицензией, а в окне опций ставим галочку «Install Server Software».
- Экземпляр программы будет установлен в режиме сервера, что даст возможность другим ПК пользоваться сетевым сканером.
- На следующем этапе нужно проследить, чтобы была поставлена галочка, как на скриншоте.
ВАЖНО! Брандмауэр может выдать запрос на разрешения для программы. В таком случае рекомендуется разрешить программу во всех сетях.
Запуск серверной версии
Нужно всего лишь выбрать сканирующее устройство, чтобы RemoteScan могла расшарить его. Кликните дважды по необходимому устройству.
Программа свернется в трей и в дальнейшем будет сама запускаться при включении компьютера.
Если появится необходимость перенастроить сканирующее устройство, вы всегда сможете сделать это, кликнув правой кнопкой по иконке программы RemoteScan, и выбрав пункт «Chose a Scanner».
Как видите, использование программы довольно простое.
Установка клиентской версии
Установка клиентской части аналогична серверной, только с той разницей, что теперь следует поставить галочку «Install Client Software».
Также необходимо разрешить работу во всех сетях, если брандмауэр спросит.
ВАЖНО! Брандмауэры (файерволы) некоторых антивирусов блокируют порты 6077 и 6078, которые необходимы для работы программы. Необходимо добавить в исключения exe-файл самой программы (на сервере) и вышеупомянутые порты (как на сервере, так и на клиенте).
Сканирование по сети
Воспользуйтесь знакомой вам программой для сканирования или, например, установите WinScan2PDF. Она совсем небольшая и не требует установки. Предназначена только для сканирования изображения в PDF-файлы.
softikbox.com
Сканирование портов компьютера
Регулярно в форумах, и не только в них, поднимается вопрос — «Меня сканируют! Что мне делать?» Причиной возникновения данного вопроса являются модули детектирования атак, которые разработчики персональных файрволов встраивают в свои продукты. Насколько вообще опасно данное явление, чего пытается достичь атакующий, и была ли собственно атака? Для того, чтобы понять это, попробуем сначала разобраться — что такое порты, что такое сканирование этих портов и каким образом выполняется проникновение в систему через сеть.
Предупреждение читателям: авторы осознают, что данный материал охватывает далеко не все возможные типы сетевых угроз. Данный материал ориентирован на домашних пользователей, озабоченных страшными предупреждениями, которыми их радостно снабжает добрый дядя Касперский (или Нортон, или еще кто-либо, в зависимости от используемого продукта). Следует помнить, что сетевые угрозы не ограничиваются описанными здесь.
Для начала — что такое порт. Порт — это поле в tcp- или udp-пакете, идентифицирующее приложение-получателя (и отправителя, в пакете этих полей два) пакета.
Формат пакета данных TCP-протокола:
Формат пакета данных UDP протокола:
Каким образом приложение работает с сетью? Приложение обращается к операционной системе с запросом на создание сокета. Операционная система регистрирует, какое приложение обращается к нему с этим запросом, и формирует привязку приложения к сокету — выделяет порт. Этот порт служит для обмена информацией по сетевым протоколам, и вся информация, полученная из сети для порта с этим номером, в дальнейшем передается нужному приложению.
Сокет — это название программного интерфейса для обеспечения информационного обмена между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.
Что из этого вытекает? Из этого вытекает, что если прибыл пакет на порт, которому не сопоставлено никакое приложение, то пакет будет просто выброшен операционной системой, и обрабатываться не будет.
С какой целью выполняется сканирование портов? А вот с этой целью и выполняется — определить, какие порты целевого хоста (хост — узел сети, любая система, участвующая в сетевом обмене) закреплены за приложениями. Сканирование есть подготовительная операция, разведка периметра. После того, как будет составлен список активных («открытых») портов, начнётся выяснение — какие именно приложения используют эти порты.
После определения приложений, а иногда даже их версий, фаза разведки заканчивается, и начинается фаза активных «боевых действий» против вас — атака. Не обязательно, что после первой фазы (разведки) сразу начнётся вторая. Зачастую через некоторое время разведка повторяется, причём с других узлов сети. Это своего рода проверка бдительности «стражи» — администраторов. Либо не начнется, если не обнаружено ни одной потенциально уязвимой точки воздействия. Следует понимать, что сканирование само по себе ничем не может Вам повредить — повредить могут последующие действия, если они последуют.
Каким образом выполняется атака? Как правило — для этого используются уязвимости сетевых сервисов (сетевой сервис — приложение, обслуживающее запросы из сети). Эксплуатация уязвимости сервиса основана на посылке ему пакета данных, сформированного таким образом, что наше приложение обработает его некорректно и его штатная работа будет нарушена. Последствия — прекращение обслуживания сервисом правильных запросов (DoS — denial of service, отказ в обслуживании), или выполнение сервисом действий, которые он выполнять не должен (например, Remote Code Execution — возможность злоумышленнику запустить вредоносный код на цели).
Какие сервисы могут быть атакованы таким образом? Означает ли это, что если Вы запустили браузер, то его могут атаковать из сети? Нет. Атаковать подобным образом можно «серверные» приложения — то есть те, которые слушают сеть и ожидают подключения клиентов извне. Браузер сам является клиентским приложением, в общем случае он не принимает подключений, поэтому таким образом атакован быть не может. Опасаться следует, если на Вашем компьютере запущен FTP-сервер, HTTP-сервер и так далее.
Правда, здесь нужно упомянуть, что существует еще один вид сетевой угрозы, с которой пользователь не может сделать практически ничего. Это — флуд (flood) — одна из разновидностей DoS-атаки. Цель её — «затопить» Вас мусорным трафиком, чаще всего с несуществующих адресов, и лишить Вас или Ваши сервисы возможности отправлять или принимать полезную информацию. Она не угрожает Вашему компьютеру ничем, кроме временной невозможности работать в сети. Если Вы обнаружили, что Вас пытаются «зафлудить» — нужно обязательно сообщить об этом провайдеру. Других вариантов решения этой проблемы нет.
Что мне делать, если мой файрвол рапортует о сканировании? Давайте подумаем. Сканированием определяется наличие приложений, принимающих запросы из сети. Соответственно, если мы не выставляли никаких приложений наружу — беспокоиться вообще не о чем. Просто еще раз проверяем, что файрвол действительно настроен на блокирование всех входящих запросов, и забываем про рапорт.
Если такие приложения есть (например, вы содержите у себя FTP-сервер), то здесь тоже практически нет смысла напрягаться — мы ведь добровольно выставили сервер в общий доступ. Беспокоиться следовало на этапе планирования сервера. Просто соблюдаем общие рекомендации — использовать наиболее новую версию сервера, не предоставлять пользователям больше прав, чем им нужно, отключить ненужные функции сервера, по возможности — запускать сервер от имени ограниченного пользователя. Также возможно использование систем обнаружения вторжений (IDS, Intrusion Detection System), однако их использование выходит за рамки данного материала. Заметим только, что таковые системы основаны на отслеживании обращений к сетевым сервисам извне, и определении потенциально опасных запросов по некоторым критериям. Пример такой системы — SNORT (www.snort.org).
А была ли атака? Еще один часто задаваемый вопрос звучит примерно так: «Почему, когда я подключаюсь к FTP-серверу, файрвол начинает жаловаться на сканирование со стороны FTP-сервера?» Типичный пример ложного срабатывания. Рассмотрим, как работает FTP-протокол. В FTP-протоколе используется не одно соединение, а два — одно из них управляющее, второе непосредственно передает данные. Первое (управляющее) открывает клиент — он подключается на порт 21 сервера. Второе подключение зависит от режима работы клиента. Если клиент в активном режиме, то он передает серверу номер порта, на который сервер должен подключиться, чтобы открыть соединение для передачи данных. В пассивном сервер говорит клиенту, на какой порт клиент должен подключаться, чтобы открыть соединение для передачи данных.
Как следует из этого описания, в активном режиме FTP-сервер открывает подключение к клиенту. Файрвол, а многие из них известные параноики, вполне может реагировать на это, как на попытку атаки.
Подведём итоги: сетевая атака в большинстве случаев представляет собой атаку на какой-либо доступный из сети сервис на вашем компьютере. Если такого сервиса у Вас нет — можно не беспокоиться, что кто-то Вас «взломает». В этом случае опасаться следует других угроз — вирусы, malware (нежелательные программы), и другие внутренние воздействия. Рекомендации по предотвращению — стандартны и описаны много раз. Установите антивирус, регулярно его обновляйте, регулярно устанавливайте обновления операционной системы, не запускайте неизвестные Вам программы и так далее. Но даже и в этом случае наличие персонального файрвола на компьютере может помочь Вам в случае, когда антивирус или обновления операционной системы ещё не в состоянии блокировать новые угрозы. Просто всегда внимательно читайте, что именно предлагает Вам сделать та или иная программа, и старайтесь понять, а нужно ли, чтобы это действие действительно было выполнено.
Хотим отметить, что по умолчанию в настройках Windows систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.
Обсуждение данного вопроса в форуме.
www.ixbt.com
Что такое сканирование портов? Методы сканирования портов
Что такое сканирование портов? Какие существую методы сканирования. Какие угрозы несет?
В сегодняшней статье я постараюсь рассказать о том что такое сканирование открытых портов, расскажу о методах используемых в сканировании портов и том как от этого всего защитится.
Что такое сканирование портов?
Сканирование — это набор процедур, позволяющих идентифицировать узлы, порты и сервисы целевой системы. Сканирование сети позволяет злоумышленнику собрать профиль атакуемой машины.
Согласно руководству по этичному хаккингу (Ethical Hacking and Countermeasures EC-Council) различаются следующие типы сканирования:
- сетевое сканирование — определение находящихся в сети узлов;
- сканирование портов — выявление открытых портов и функционирующих сервисов;
- сканирование безопасности системы — выявление известных уязвимостей системы.
На первый взгляд в сканировании никакого вреда нет, тем не менее с таким подходом трудно согласиться, ведь сканирование предваряет атаку, позволяя злоумышленнику выяснить, какие сервисы работают в целевой системе, а значит, подготовить и провести целенаправленную атаку против выявленных сервисов и их уязвимостей. Следовательно, бороться с разведкой злоумышленников необходимо.
Цели сканирования портовПри этом будет нелишним отметить, что само по себе сканирование не всегда злонамеренное действие, все зависит от его целей. Службы информационной безопасности или сотрудники ИТ вполне могут прибегнуть к сканированию для выяснения уязвимостей инфраструктуры или видимости сервисов из внешней сети.
В сущности, нередко все как раз и начинается с сетевого сканирования, именно оно позволяет выявить слабые узлы их IP-адреса, открытые порты, определить операционную систему, а значит, становятся понятны теоретически возможные уязвимости, что уже не так мало для организатора атаки.
Методы сканирования портов
Выявляем структуру сети. Самый простой способ сканирования — ICMP scanning. Принцип работы основан на протоколе ICMP, и такой тип сканирования позволяет выяснить «живые» узлы в сети и построить схему сети с перечнем ее узлов. Суть метода заключается в отправке ICMP-запросов узлам сети, если компьютер или иное устройство, работающее со стеком протоколов TCP/IP, активно, то будет отправлен ответ. Это так называемый ping sweep или ICMP sweep. Существует огромное количество средств, позволяющих выполнить подобное сканирование.
Сканирование ICMP sweepСканирование портов. Следующий этап разведки — выявление открытых портов. По сути своей, это дает возможность определить, какие сервисы работают на удаленном узле, список которых мы уже получили в результате предыдущего сканирования. Кроме того, из анализа полученных пакетов можно также выявить операционную систему и ряд других важных параметров (наличие фильтра пакетов, например).
Здесь мы говорим о TCP-сканировании. Его принцип основан на особенностях работы TCP. В сущности, очень похожий механизм взаимодействия принят в авиации при переговорах пилотов с диспетчером, включающий запрос, ответ с указанием, подтверждение полученной инструкции. Такой способ взаимодействия если и не исключает полностью вероятность непонимания, то по крайней мере существенно снижает такую вероятность.
Это могло бы выглядеть так:
- Пилот: Шереметьево-Руление, Аэрофлот 502, разрешите предварительный.
- Диспетчер: Аэрофлот 502, 25 правая1 по РД2 10, магистральной, РД5 предварительный разрешаю.
- Пилот: Аэрофлот 502, 25 правая, по РД 10, магистральной, РД5 предварительный разрешили.
Что тут происходит? Пилот обратился к диспетчеру с запросом о разрешении руления и его маршруте. Диспетчер разрешил руление и определил маршрут следования.
Пилот подтвердил маршрут следования и разрешение диспетчера. Все, можно двигаться — маршрут получен.
Очень похожее происходит и в TCP-взаимодействии. Здесь используется схема three-way-handshake или «трехэтапного» согласования, встречается также термин «трехэтапное квитирование», которое позволяет синхронизировать передающий и получающий узлы и установить сессию, что, в сущности, идентично примеру с радиопереговорами.
Установка TCP-сессииИспользуя этот легальный алгоритм, злоумышленник может выяснить, какие порты открыты на сервере, то есть понять, какие сервисы используются в системе, какая операционная система. Для этого существует несколько эффективных методик.
Full Connect Scan
Некоторые методики сканирования портов. Самый эффективный и несложный способ сканирования — Full Connect Scan (Full Open Scan). Его принципы как раз показаны на рисунке 3. Происходит попытка выполнить трехэтапное согласование (three-way-handshake) с интересующими исследователя узлами. Если искомый порт открыт, то мы получаем от него сообщение SYN+ACK, после этого посылаем узлу RST (сброс сессии), если закрыт, то нам приходит RST от проверяемого узла. Надо отметить, что такой способ сканирования легко идентифицируется, стало быть, противостоять ему несложно.
Stealth Scan
Другой способ сканирования сети называется Stealth Scan (Half-open Scan). В этом случае атакующий старается обойти защиту брандмауэра и замаскироваться под обычный сетевой трафик с тем, чтобы избежать фиксации события сканирования в логах системы. Здесь речь не идет о согласовании, исследователь просто отправляет SYN-пакет на интересующий порт требуемого сервера. Если в ответ приходит SYN+ACK, то порт открыт, если RST, то порт закрыт.
Такой способ сканирования более изощренный, однако современные системы предотвращения вторжений должны уметь ему противостоять.
Xmas Scan
Не менее известные методы сканирования — Xmas Scan и Null Scan, однако мы не будем их рассматривать ввиду того, что защита от них реализована в рамках современных операционных систем Microsoft, поэтому они не будут представлять для нас большого интереса. Особенность этих типов сканирования — стелс режим работы, то есть без установки сессии. Впрочем, посмотреть детали можно в курсе Ethical Hacking или в книге «Network Security Test Lab». Эти типы сканирования эффективны только для операционных систем, где TCP-стек работает на основе RFC 793. Все современные операционные системы от Windows Vista и старше не подвержены этому риску.
Idle Scan
Пожалуй, наиболее интересным способом сканирования является Idle Scan. Основная идея заключается в том, что злоумышленник может просканировать жертву, не показывая ей своего IP-адреса, то есть с точки зрения сканируемого узла злоумышленник с ней как бы и не общается. Используется «подставной» узел, который и может быть определен системами противодействия вторжениям в качестве источника атаки. Это весьма разумная методика, так называемый спуфинг, когда адрес отправителя подменяется на адрес другого устройства. Надо сказать, что «подставным» узлом или «зомби» может стать компьютер, который обладает определенными уязвимостями. Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий всегда может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP.
Это сканирование использует поле Identification в IP-заголовке (IPID). Значение IPID увеличивается на единицу в каждом следующем пакете, который отправляет узел. В сущности, это и есть уязвимость, поскольку появляется возможность предсказать, какое количество пакетов было передано между двумя пакетами, которые были получены. Современные операционные системы используют случайное значение для поля IPID, однако, как уже было упомянуто выше, всегда можно найти решение. Для современных Unix и Windows систем от Windows Vista и старше эта проблема уже потеряла свою актуальность.
Рассмотрим рисунок 4 и 5. На первом шаге (1) атакующий обращается к подставному устройству со стандартным SYN-пакетом. Устройство отвечает пакетом SYN ACK (2) или SYN RST, что более вероятно, однако из заголовка пакета атакующему становится виден IPID. Его-то и надо запомнить (3). Далее атакующий обращается к интересующему его серверу (4), при этом подменяет свой IP-адрес на адрес подставного узла, то есть маскируется, используя спуфинг (подмену адресов). В ответ на этот запрос сервер, если порт открыт, посылает SYN/ACK на подставной адрес (5). Мы ведь выполнили подмену. Не зная, что делать с этим пакетом, подставной компьютер в ответ пошлет RST (сброс сессии), при этом увеличит значение своего IPID. В нашем случае он станет равным 30132 (6). Если порт закрыт, то сервер пошлет сброс сессии (RST) — смотрите рисунок 5 (5).
Idle-сканирование (порт на сервере открыт)Idle-сканирование (порт на сервере закрыт)
IPID подставного узла остался неизменным, в нашем случае 30131, поскольку «зомби» никому больше ничего не отправлял. Теперь останется еще раз обратиться к «зомби», как мы это уже делали выше, выявить его IPID, сравнить его с имеющимся у нас значением. Если IPID увеличился на 2, то порт открыт.
Еще один важный момент, который хотелось бы отметить, — операционные системы имеют свою специфику при работе со стеком TCP/IP. Используя эти особенности при анализе пакетов, полученных при сканировании, вполне возможно выяснить, с какой ОС мы имеем дело, на этих принципах построены методики сканирования Banner Grabbing. Задача — выявить информацию о вычислительной системе и ее уязвимостях, что позволит атакующему использовать эти знания для своих последующих деструктивных действий. Любой современный сканер предоставит атакующему эту информацию.
Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP
Нетрудно заметить, что все рассмотренные способы сканирования базируются на штатном поведении узлов, а значит, любой компьютер или иное сетевое устройство является потенциально уязвимым.
Злоумышленник обладает возможностью сбора и анализа полученной информации о структуре сети, сервисах, уязвимостях систем. Тем самым предоставляется потенциальная возможность подготовить целевую атаку против определенных узлов и сервисов.
www.spy-soft.net
ARP сканирование локальной сети Linux
Иногда возникает необходимость узнать какие устройства подключены к локальной сети Linux. Это может понадобиться если вы хотите подключиться к одному из компьютеров и не помните его адрес или хотите убедиться в безопасности вашей сети и найти все скрытые устройства.
Самый надежный способ обнаружить все подключенные к сети Linux устройства, в том числе и скрытые — это ARP сканирование локальной сети linux. Как вы знаете, у всех компьютеров в сети есть ip адреса. Никогда не задавались вопросом, как сеть определяет, какому компьютеру принадлежит тот или иной адрес? Ведь сети бывают разные, проводные, беспроводные, ppp и т д. И в каждой из этих сетей аппаратный адрес компьютера имеет свой формат, зависящий от конструктивных особенностей сети, а ip адреса одни и те же.
Все очень просто. Для преобразования физических адресов, в ip адреса используется протокол ARP (Address Resolution Protocol), так и расшифровывается — протокол разрешения адресов. Когда компьютеру нужно обратиться к другому компьютеру в локальной сети, он отправляет специальный запрос в котором буквально спрашивает «У кого ip адрес 192.168.1.4», компьютер с таким ip адресом отправляет ответ «У меня 11:22:33:44:55», в ответе он передает свой физический адрес в этой сети. Дальше этот адрес заносится в специальную таблицу… но это уже тонкости реализации и они выходят за рамки нашей статьи. Сегодня мы поговорим как самому выполнить ARP сканирование локальной сети linux и найти все подключенные устройства.
Формат сообщений ARP — простой. Сообщение содержит либо запрос с IP адресом, либо ответ. Размер сообщения зависит от используемого сетевого протокола ipv4 или ipv6, типа оборудования сети и т д. Типы и размеры адресов определяются в заголовке сообщения. Заголовок завершается кодом сообщения. Код 1 для запроса и 2 для ответа.
Тело сообщения состоит из четырех адресов, аппаратные и сетевые адреса отправителя и получателя.
Если в вашей сети есть устройства, которые не отвечают на любые запросы, такие как Ping, HTTP, HTTPS и т д, то их можно найти послав ARP запрос. Это могут быть различные фаерволы и маршрутизаторы, в том числе маршрутизаторы компании Cisco, такое поведение заложено их протоколом. В таком случае ARP сканирование сети Linux будет единственным способом найти такое устройство.
Содержание статьи:
ARP-Scan
ARP Scan или еще называемый MAC Scanner — это очень быстрый инструмент для сканирования локальной сети Linux с помощью ARP. Утилита показывает все IPv4 адреса устройств в вашей сети. Поскольку ARP не использует маршрутизацию, то такой вид сканирования работает только в локальной сети.
ARP Scan находит все активные устройства, даже если у них включен брандмауэр. Компьютеры не могут скрыться от ARP также как они скрываются от Ping. Но ARP сканирование не подходит для поиска компьютеров за пределами локальной сети, в таких ситуациях используйте Ping сканирование. Например такой сканер как NetScanner.
Установка ARP Scan
Этот arp сканер сети доступен для следующих операционных систем:
- Debian, поставляется по умолчанию
- Ubuntu, можно установить с репозитория Universe
- Fedora, официальные репозитории начиная с версии 6
- RedHat — доступна начиная с версии 5
- Gentoo, официальные репозитории
- ArchLinux — официальные репозитории Pacman.
Для установки в Ubuntu выполните:
sudo apt-get install arp-scan
ARP Сканирование локальной сети Linux
ARP Scan позволяет находить активные компьютеры как в проводных сетях ethernet, так и в беспроводных Wifi сетях. Также есть возможность работать с Token Ring и FDDI. Не поддерживаются последовательные соединения PPP и SLIP, поскольку в них не используется ARP. Программу нужно запускать с правами суперпользователя.
Самый простой способ выполнить arp сканирование и обнаружить все подключенные к локальной сети компьютеры — запустить программу со следующими параметрами:
sudo arp-scan --interface=wlan0 --localnet
Interface: wlan0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.42.0.121 cc:07:e4:13:9b:22 (Unknown)
10.42.0.217 1c:3e:84:23:96:ec Hon Hai Precision Ind. Co.,Ltd.
4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 2.543 seconds (100.67 hosts/sec). 2 responded
Здесь параметр —interface, задает интерфейс для сканирования, а —localnet, говорит, что нужно использовать все возможные ip адреса для текущей сети.
Первый параметр можно опустить, тогда программа будет искать все узлы для интерфейса с меньшим номером в системе. В нашем примере имя интерфейса — wlan0, но при использовании systemd интерфейсы могут называться enp2s0f0 и т д. Чтобы посмотреть, какие есть интерфейсы в вашей системе наберите:
ls /sys/class/net
Вместо параметра —localnet, можно указать маску сети:
sudo arp-scan --interface=wlan0 10.0.1.0/24
ARP сканирование можно использовать, даже если у вашего интерфейса нет IP адреса. Тогда в качестве исходящего адреса будет использован 0.0.0.0. Правда, на такие запросы могут ответить не все системы. Тогда ARP сканер сети не так эффективен.
ARP спуфинг и ARP прокси
Поскольку в ARP нет поддержки аутентификации, ARP ответ на запрос может отправить любая машина, даже не та которой он был адресован. Иногда такое поведение используется в архитектуре сети — ARP прокси или маршрутизатор предает свой IP адрес вместо адреса запрашиваемой машины. Но также может использоваться для перехвата данных, отправляемых компьютером. Хакер может использовать ARP чтобы выполнить атаку «Человек посередине» или «Отказ в обслуживании» на других пользователей сети. Для защиты от таких атак существует специальное программное обеспечение.
Выводы
ARP Scan это простой, но очень мощный инструмент, с помощью которого можно выполнять сканирование ip адресов в локальной сети linux. Те, кто знаком с Cisco маршрутизаторами и коммутаторами, знают что найти такие устройства можно только с помощью ARP. Это полезный инструмент, возможно, когда-то вам он пригодится.
Оцените статью:
Загрузка…losst.ru
Бесплатный ip сканер сети – Advanced IP Scanner
Advanced IP Scanner – бесплатный сканер локальных сетей Windows. Утилита позволяет быстро и просто узнать разную информацию о компьютерах в локальной сети. Сканирует все устройства в сети, предоставляет доступ к общим папкам и FTP-серверам, дает возможность удаленно управлять компьютерами (через RDP), а также позволяет удаленно выключать их.
Для упрощения групповых операций можно добавлять устройства для сканирования в «Избранное» и сканировать только определённые компьютеры.
Возможности сканера сети
- Многопоточное сканирование IP-адресов в локальной сети. Позволяет осуществлять сканирование сотен IP-адресов одновременно с высокой скоростью в сетях класса B и C. Вы можете указать количество потоков сканирования для баланса скорости сканирования и загрузки процессора.
- Удалённое выключение компьютера. Данная функция позволяет выключать любой удалённый компьютер с операционной системой Windows NT или Win2K в локальной сети.
- Функция Wake-on-LAN. Позволяет включать удалённый компьютерю Сетевая карта должна поддерживать функцию “Wake-on-LAN.
- Групповые операции. К примеру, пользователь может выключать несколько удалённых компьютеров за один клик мышью.
- Сохранение и загрузка списка компьютеров. Данная функция позволяет выполнять операции для списка выбранных компьютеров.
Хорошая программа, находит все компьютеры в локальной сети, даже те на которых отключено сетевое обнаружение. Минусом пожалуй можно назвать отсутствие сканера открытых портов, но это большинству пользователей не нужно. Результаты сканирования можно сохранить в файлы HTML или CSV.
Полезный инструмент для системных администраторов, который существенной упрощает администрирование локальных сетей.
Размер: 8,9 МБ
Интерфейс: Русский, Английский
Платформа: Windows XP/Vista/7/8/10
Скачать Advanced IP Scanner
Зеркало Advanced IP Scanner
blogosoft.com