Статья Первый шаг к взлому (nmap сканирование портов)
Информация, содержащаяся в данном руководстве для образовательных и информационных целей, используйте её на свой страх и риск. Мы не несем никакой ответственность за ваши действия.
Требования
- Backtrack 5 or Kali Linux
- Терпение
Это будет первый учебник по серии, который даст основное представление что такое пентест. Есть много инструментов на Kali linux дистрибутиве, которые не будут охвачены в этих серии, но если у читателей есть какие-либо вопросы о других инструментов, напишите сообщение. Это первая часть нацелена на сбор информации и имеет название как (nmap сканирование портов). Она будет сосредоточена на поиске живых хостов в сети, а также на просмотра их версий программного обеспечения и на их работающих портах.
Для этого упражнения мы будем использовать следующие инструменты: Nmap
На протяжении многих лет у Nmap было добавлено много разных функции, один из более поздних является уязвимость проверки модулей. Если вы не знаете, о них, перейдите на Google и исследуйте их.
Одна вещь, об этом учебнике : научиться использовать Google, чтобы выполнить свое собственное исследование, так что будут некоторые шаги, которые я расскажу вам по своему усмотрению.
Первое, что мы хотим сделать, это найти живых хостов в сети, это может быть достигнуто за счет использования Nmap. С помощью этой команды мы также можем проверять службу и версию для каждого открытого порта. Есть много других команд, которые встроенны в Nmap, которые могут быть найдены с помощью команды Nmap -h или просто набрав
Мы в сети как 192.168.1.1
nmap -sV 192.168.1.1/24
Эта команда будет проверять все 254 хостов в сети и перечислять открытые порты вместе с версией программного обеспечения, работающего на этом хосте. Я использую только 2 машины в своей сети и я сделал это, чтобы сократить учебник. Вот результаты:
Если бы мы имели большую сеть, коммутатор -p может использоваться для четкого указания какие порты искать. Так:
nmap -sV 192.168.1.1/24 -p 21,80,445
Одна вещь, которую я рекомендую: чтобы всегда, я имею в виду всегда сканировать сеть в режиме UDP и искать открытые порты SNMP. Старые версии SNMP уязвимы для атак, поскольку они используют строки государственного и частного для входа в систему. Если вы не знаете, какие порты SNMP или SNMP являются, Google является вашим другом.
Для выполнения такого рода сбора информации вы должны использовать команду -Su. Дабы сказать Nmap сканировать UDP-порты. Наша команда должна будет выглядеть так:
nmap -sU 192.168.1.1/24 -p161, 162
Мы указываем порты 161 и 162, так как они являются портами где SNMP работает.
Когда работает UDP сканирование запомните, что Протокол UDP не проверяет соединение так что это хорошая идея, чтобы проверить если порт на самом деле открыт для соединения с Netcat.
Пока что давайте совершим прыжок к скриптам, которые могут быть использованы для проверки на наличие уязвимостей. Чтобы получить помощь с конкретным скриптом, вы просто вводите:
nmap —script-help script name
Это команда покажет вам скрипт и то, что он делает.
Первые скрипты которые мы будем использовать это SMB скрипты, так как у нас SMB-порт 445 открыт.
Это еще не все! у Nmap есть еще пару прекрасных команд.
nmap -sS —script ftp-anon 192.168.1.2 192.168.1.14
Эта команда будет проверять если включен анонимный FTP логин на целевой машине.
nmap -A 192.168.1.2
Эта команда позволит запускать все скрипты и много других вариантов, вот описание из меню справки: Enable OS detection, version detection, script scanning, and traceroute.
Вы также можете добавить различные типы сканирования на начинающийся линии вот так:
Nmap -sS -А 192.168.1.2
Есть также способы, чтобы добавить другие аргументы в скрипты, и даже создавать свои собственные.
Теперь мы собрали список машин в сети и информацию об открытых портах! Давайте перейдем к следующему действию. Мы хотим убедиться, что порты, на самом деле открыты. Причина этого заключается в том, что иногда машины дают ложные результаты, особенно у UDP портов.
Следующий инструмент который мы будем использовать один из моих любимых это Netcat. Если мы откроем терминал и введем nc. Мы увидим меню справки Netcat. Далее мы будет работать через порты и попытаться соединиться с основными командами NetCat:
NC -v 192.168.1.2 445.
Это приведет к запуску программе и подключиться к порту 445.
Вам возможно, придется нажать кнопку ввода пару раз, чтобы получить от порта ответ. Вы не должны видеть порт закрытым на удаленным хосте. Если это так и порт закрыт, то есть много вещей, которые могут закрыть его. Будьте уверены и проверьте еще раз машину на все открытые порты.
Источник
Как пользоваться Nmap для сканирования сети
Nmap — это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Как работает Nmap?
В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. 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 — определять операционную систему;
- -T3 — скорость сканирования, чем больше, тем быстрее;
- -D — маскировать сканирование с помощью фиктивных IP;
- -S — изменить свой IP адрес на указанный;
- -e — использовать определенный интерфейс;
- —spoof-mac — установить свой MAC адрес;
- -A — определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите 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 могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
Источник
Soft Как использовать сканер безопасности NMAP на Linux
Nmap — это бесплатная, с открытым исходным кодом утилита исследования сети и проведения аудита безопасности. Она широко используется в сообществе пользователей Linux, поскольку является простой в применении, но в то же время очень мощной. Принцип работы Nmap, говоря простым языком, заключается в отправке пакетов данных на заданную цель (по IP) и в интерпретировании возвращаемых пакетов для определения, какие порты открыты/закрыты, какие службы запущены на сканируемой системе, установлены и включены ли файерволы или фильтры и, наконец, какая операционная система запущена. Эти возможности позволяют собрать много ценной информации. Давайте рассмотрим некоторые из этих возможностей. Кроме типичных для подобных статей примеров команд, будут даны рекомендации о том, как использовать собранные во время сканирования данные.
Установка Nmap
Для начала, нам нужно заполучить пакет “nmap” на нашу систему.
Установка Nmap в Kali Linux
Nmap уже установлен.
Установка Nmap в CentOS
Установка Nmap в Debian
Установка Nmap в Ubuntu
Использование сканера безопасности Nmap
Теперь программу можно запускать набрав в терминале “nmap”. Список опций можно посмотреть по команде
Но я рекомендую посмотреть эти же опции по этой ссылке, поскольку там они на русском языке.
Чтобы показать некоторые возможности nmap, подготовлены несколько примеров. Главная цель — чтобы вы уловили суть и возможности программы. После этого вы сможете модифицировать команды под свои собственные нужды.
Обратите внимание, что программе nmap требуются привилегии суперпользователя для некоторых её функций. В Kali Linux этого не нужно, но на всех других системах запускайте команду с sudo. В примерах я буду использовать sudo, в Kali команды выглядят также, но отбрасывайте sudo.
Собираем информацию об открытых на сервере портах, запущенных службах и версиях программного обеспечения
Это простая команда может использоваться для проверки доступен ли сайт (в данном случае я использовал сайт codeby.net). Обращаем внимание на открытые порты.
Эта опция даст команду nmap попробовать предположить, какая операционная система запущена на целевой системе. Если все порты фильтруются, эта команда будет лучшим вариантом, но результаты нельзя расценивать как гарантировано надёжные. Обратите внимание на проценты — они говорят о вероятности угадывания.
Эта команда позволяет пользователю проверить службы, запущенные на цели. Обратите внимание, что появился столбик VERSION — в нём указана версия программного обеспечения.
Ищем веб-сервера, роутеры, веб-камеры, SSH, FTP и прочее
О том, как задавать цели для Nmap, сказано в книге на которую в конце дана ссылка. В следующих примерах я использую строку 193.106.148-153.1-255. Она означает просканировать подсети с 193.106.148.* по 193.106.153.*, причём в каждой из этих подсетей будут просканированы адреса с *.*.*1 по *.*.*255, т.е. это 193.106.148.1-255, 193.106.149.1-255, 193.106.150.1-255 и т.д.
Поиск роутеров, веб-серверов, веб-камер
У роутеров, веб-серверов, веб-камер обычно открыты порты 80, 8080 и 1080. Просканировать эти порты и вывести только те адреса, на которых что-то открыто, можно этой командой.
В моём случае вывод получился сумбурным, но это хорошо, что данных много — есть с чем поработать.
Обычно FTP «висит» на 21 порту, поэтому используем предыдущую команду, только меняем сканируемый порт.
Поиск SSH
Порт по умолчанию для SSH — 22, там и ищем.
Помните, что на дефолтных портах оставляют либо от недостатка опыта (начинающие системные администраторы), либо от безысходности (например, хостеры – если они поменяют порт FTP со стандартного на другой, то служба технической поддержки будет завалена жалобами клиентов о том, что «FTP совсем не работает»). Все остальные системные администраторы «подвешивают» SSH и прочие сервисы на высокие порты. Если сделать так, то в логах ошибок наступает тишь и благодать, разница очень заметна по сравнению со стандартными портами, на которые вечно шлют разную фигню и пытаются брутфорсить. А вменяемые люди вообще не используют FTP, а используют сервисы с шифрованием, хотя бы тот же SFTP (вариантов FTP с шифрованием масса). Но хостеры не могут себе этого позволить по уже озвученной причине — есть опасность потерять клиентов от того, что им слишком сложно разобраться.
Т.е. если вы тестируете на проникновение конкретный компьютер/сервер, то проверяйте все порты — с первого до последнего (65535). Если диапазон тестируемой сети небольшой, то можно задать тестирование всех портов с фильтрацией по словам ftp ( | grep ‘ftp’), ssh ( | grep ‘ssh’) и т. д. Например так:
Нужно быть готовым к большим затратам времени.
Zenmap — Графический интерфейс (GUI) для Nmap
У команды nmap огромное количество опций. Если вы запутались в этих опциях и хотите чего-то более дружеского и привычного, то обратите своё внимание на Zenmap. Это графический интерфейс для Nmap.
По большому счёту, нужно только ввести адрес цели. Уже установлен профиль сканирования по умолчанию, который вы всегда можете поменять на другой. Вам не нужно помнить и вводить ключи, как это необходимо для приложения командной строки. Всё просто, вывод раскрашен разными цветами, что облегчает восприятие. Есть несколько вкладок, в которых визуализирована и обобщена полученная информация.
Что делать с полученной в Nmap информацией
Собственно, а что нам дают все эти открытые порты, все эти службы, все эти компьютеры с FTP и прочим?
Если вы умеете пользоваться только Nmap, то полученная в ней информация вряд ли пригодится. Это только начало пути. Варианты использования полученной информации:
- если нашли веб-сервер, то для начала можно просто открыть и посмотреть что там. Варианты бывают разные — бывают обычные сайты, которые видны в Интернете по доменному имени, бывают сайты в разной степени готовности начинающих системных администраторов и веб-мастеров. Бывает, можно просто пройтись по каталогам, посмотреть приготовленные файлы, попробовать стандартные пароли для phpMyAdmin и т. д.
- FTP, SSH и многое прочее можно брутфорсить. Если удастся подобрать пароль, то можно получить доступ к частному FTP или вообще завладеть всем компьютером, если удастся подобрать учётную запись SSH. Ссылки на инструкции по брутфорсу даны в конце статьи.
- особенно легко, практически голыми руками, можно брать веб-камеры — очень часто там стандартные пароли, которые можно нагуглить по модели камеры.
- также интересны роутреры. Довольно часто в них стандартные (заводские) пароли. Получив доступ в роутер можно: выполнить атаку человек-по-середине, сниффинг трафика, перенаправить на подложные сайты, на сайты-вымогатели и т. д.
- зная версии запущенных программ можно попробовать поискать эксплойты для них. Ссылки на материал по эксплойтам также дан в конце статьи.
- если вы совсем новичок, то рекомендую программу Armitage. Она может: автоматически искать и применять эксплойты, брутфорсить различные службы. У программы графический интерфейс — вообще она довольно простая. Материал по Armitage: «Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux».
Где брать адреса для сканирования?
Типичными лёгкими целями являются VPS, которые настроили начинающие системные администраторы. Если вас интересует сканирование адресов в конкретном городе или по конкретному провайдеру, то можно воспользоваться этим сервисом.
Дополнительный материал по Nmap и о том, делать с полученными результатами сканирования
Источник