Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 4. Сканирование и типы сканирования. Погружение в nmap

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

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

Приручение черного дракона. Этичный хакинг с Kali Linux:

Часть 1. Вводная часть. Подготовка рабочего стенда.

Часть 2. Фазы атаки.

Часть 3. Footprinting. Разведка и сбор информации.

Часть 4. Сканирование и типы сканирования. Погружение в nmap.


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

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

1) Сканирование сети в целях построения ее карты и понимания того, какие устройства кроме нашего в нем присутствуют (например, как мы это делали утилитой arp-scan)

2) Сканирование портов в целях обнаружения активных служб используемых на целевом устройстве (тут подойдет простое сканирование утилитой nmap, а если использовать дополнительные ключи, то можно получить гораздо больше информации о цели)

3) Сканирование уязвимостей которые можно будет успешно использовать для следующей фазы — получения доступа к системе (тут можно использовать как nmap с определенным набором скриптов, так и специальные сканеры уязвимостей вроде OpenVAS и Nessus либо отдельные сканеры для определенных сервисов по типу nikto).

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

Ну, что же… погнали!:)

Для начала выполняем уже привычные нам действия: запускаем нашу машину с Kali Linux, открываем терминал и переходим в режим суперпользователя с root правами. параллельно запускаем уязвимую машину Metasploitable2 на которой и будем отрабатывать все типы сканирования.

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

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

https://nmap.org/book/ Все команды (а вернее сказать параметры или ключи, имеющие в свою очередь определенные атрибуты) в этом списке разделены на группы. Рассмотрим самые значимые из них:

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

HOST DISCOVERY — содержит параметры обнаружение хоста (например, если нам нужно просканировать только командой ping, чтобы понять за какими адресами хосты активны, или просканировать все хосты в сети как активные не прибегая к их обнаружению).

SCAN TECHNIQUES — содержит параметры определяющие методы (техники) сканирования (например, молниеносное сканирование портов методом TCP SYN или сканирование по протоколу UDP таких сервисов как DNS, SNMP либо DHCP).

PORT SPECIFICATION AND SCAN ORDER — содержит параметры определяющие тип порта и порядок сканирования (например, если нам нужно сканировать определенный диапазон портов).

SERVICE/VERSION DETECTION — обнаружение сервиса/версии (например, в случае когда нам надо определить версию и семейство ОС установленной на целевом хосте).

SCRIPT SCAN — сканирование при помощи различных скриптов. Пожалуй, самый интересный раздел, поскольку скриптов у nmap великое множество под совершенно различные задачи, от брутфорса паролей по словарю для Telnet и SSH, до сканера CVE уязвимостей.

FIREWALL/IDS EVASION AND SPOOFING — обход сетевых средств защиты таких как межсетевые экраны и системы обнаружения вторжений. Думаю, что тут и так все понятно, для чего оно нам нужно:)

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

В том случае если мы хотим узнать как можно больше о цели (узнать какие сетевые службы каких версий на ней используются, определить тип операционной системы, ее версию и применить скрипты сканирования уязвимостей), нам идеально подойдет параметр -A.

Сравним результаты сканирования без параметра -A и с ним:

Обычное сканирование без каких-либо атрибутов:

Сканирование с параметром -A:

Первое, что кидается в глаза, так это… да, именно то, что время сканирования при использовании параметра -А намного дольше, чем в обычном режиме.) Однако, если при сканировании без каких либо дополнительных параметров nmap нам показывает лишь порты обнаруженных служб и их состояние, то во втором случае сканирования nmap идентифицирует архитектуру и версию ОС, сервис и версию каждого открытого порта и бонусом работает в режиме сканера уязвимостей. А как мы знаем, чем больше у нас информации о цели, тем выше шанс на успех в поиске ее уязвимых мест.

И так, с определением типа и версии ОС, а так же служб все понятно. Но вот касаемо применения скриптов остаются вопросы. Для того, чтобы вывести весь список имеющийся в арсенале nmap скриптов перейдем в директорию usr/share/nmap/scripts и выведем ее содержимое командой ls

Перед нами выпадает огромнейший список скриптов, каждый из которых выполняет свою определенную функцию. Тут есть, как скрипты для поиска уязвимостей в CMS системах, базах данных SQL и отдельных сетевых службах, так и скрипты для перебора паролей методом брутфорса и много чего еще, делающего из nmap поистине мощнейший инструмент для пентестера. Разбирать все мы разумеется не будем, а остановимся только на одном в качестве примера. Это скрипт поиска по базе данных общеизвестных уязвимостей vulners.nse

Давайте запустим nmap с ключом -A и атрибутом --script прописав после атрибута полное имя файла скрипта. Важно учитывать, что запускаться скрипты должны из директории /usr/share/nmap/scripts. Для этого необходимо сперва перейти в директорию, а затем запустить команду nmap -A --script vulners.nse <IP адрес цели>

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

В выпадающем списке обнаруженных уязвимостей мы можем перейти прямо по ссылкам рядом с номером уязвимости и ознакомиться с подробной информацией по ней на сайте https://vulners.com/ либо на крупнейшем ресурсе в сети https://www.exploit-db.com/

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

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

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

Источник: https://habr.com/ru/post/695160/


Интересные статьи

Интересные статьи

Мы продолжаем делиться своим опытом, чтобы помочь сократить уровень неопределенности при сборе новой команды. Наш рассказ строится от обратного – мы делимся своими ошибками, которые когда-то допустили...
Представьте, что кто-то создал для нас очень детальную имитационную модель сложнейшей системы (спасибо!). Теперь нам её эксплуатировать, мы же проектировщики, так что поищем оптимальную конфигурацию (...
Привет, я – Герман Гришин, ведущий дизайнер продуктового направления «БАРС Груп». Наша команда разрабатывает дизайн-систему, которая помогает максимально быстро и качественно собирать макеты на готовы...
Пришло время вернуться к теме, отложенной из-за большого количества работы.Напомню, в первой части был рассказ о дешифровке древнейшей греческой письменности – Линейного письма В, исчезнувшего вскоре ...
В этой части я раскрою путь для построения модели верхнего уровня. Читать далее