Nmap - не утилита для скана портов, а неведомый зверёк.

Nmap - не утилита для скана портов, а неведомый зверёк.

UnderMind

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

Nmap - это сетевая утиллита работающая как и под Windows, так и под Linux. Переводится как сетевой картограф. Он способен просканировать веб-систему (сайт) на наличие открытых портов, определить ядро системы и её название, определить наличие фаервола, узнать что же находится на портах и даже провести атаку перебора пароля с помощью скриптов и провести поиск уязвимостей. Не даром она была показана во многих фильмах, таких как Матрица, Хоттабыч, Девушка с татуировкой дракона и одном сериале, который знают почти все посетители нашего форума, и даже не нуждается в представлении)

Nmap требует привилегий администратора, то есть запускать через sudo. Если сидите по root как юзера Кали, то добавлять sudo не нужно. Напомню, что сидеть под root очень не кошерно и даже опасно по многим причинам. Чтобы не возникло вопросов лучше сразу расскажу что это.

Sudo - это утилита администрирования Linux, которая дает права root для исполнения команд и каких-либо других действий. Если создаете нового пользователя, то не спешите всех подряд добавлять в группу sudo, ибо он может быть скомпрометирован и получит доступ ко всей системе, что может повлечь за собой очень много плохого.

Nmap умеет определять ОС, но не всегда точно, и версию ядра, что тоже не всегда точно, но это может нам очень помочь в поиске эксплойта и тд.


Итак, посмотрим, что же там таится:

acarsd-info.nse                         ip-geolocation-geoplugin.nse

address-info.nse                        ip-geolocation-ipinfodb.nse

afp-brute.nse                           ip-geolocation-map-bing.nse

afp-ls.nse                              ip-geolocation-map-google.nse

afp-path-vuln.nse                       ip-geolocation-map-kml.nse

afp-serverinfo.nse                      ip-geolocation-maxmind.nse

afp-showmount.nse                       ip-https-discover.nse

ajp-auth.nse                            ipidseq.nse

ajp-brute.nse                           ipmi-brute.nse

ajp-headers.nse                         ipmi-cipher-zero.nse

ajp-methods.nse                         ipmi-version.nse

ajp-request.nse                         ipv6-multicast-mld-list.nse

И Вы правда подумали, что это все? Можете сами посмотреть список файлов в этой директории с помощью ls)

Итак, что же мы имеем? Много непонятных скриптов на луа! Но к ним мы вернемся чуть раньше.

Рассмотрим с вами его строение:

nmap (цель) (флаг)


Как видите, все довольно просто

Например:

nmap localhost


Сейчас мы рассмотрим парочку полезных флагов:

(все тесты будем проводить с нашим любииимым порнхабом ннмапом)


-Pn - позволяет сканировать ВСЕ порты, которые онлайн;

-sV - он скажет нам версию;

-sS - по мне так, самый интересный флаг, он позволяет делать неполное подключение, поясню:


Nmap посылает SYN пакет, будто он хочет открыть соединение. Порт отвечает ему пакетом SYN/ACK, мол "Я готов, я открыт", далее Nmap получает ответ и отвечает порту RST, то есть Reset, то есть сброс. Соединение закрыто, нас в логах нет.


--osscan-limit - скан ОС

--reason - говорит нам причину, почему порт открыт, закрыт или фильтруется. Nmap может пометить порт как закрытый, но на самом деле он просто фильтруется WAF;

--script-updatedb - обновление скриптов;

--script-args (аргумент) - задаем аргумент скриптам, например, подмена юзер-агента: sudo nmap nmap.org --script-args useragent="Mozilla 6666666666" -sV -Pn

--script (название скрипта) (цель) - выполняет заданный скрипт;


Вроде, основу изучили, приступим к скриптам:

1. Давайте проведем брутфорс атаку на DNS, то есть узнаем поддомены и не только.

Пишем команду:

sudo nmap nmap.org --script dns-brute.nse


2. Давайте проведем исследование на наличие фаервола:

Пишем команду:

sudo nmap nmap.org --script firewalk.nse


3. Далее мы попробуем построить древо каталогов сайта. Скажу сразу, что на сервере есть waf и он кинет вас в бан, если будет что-то не так.

Пишем команду:

sudo nmap nmap.org --script http-sitemap-generator.nse -p80


4. Ещё есть чудный скрипт, который показывает отпечатки waf http-waf-fingerprint.nse

Пишем команду:

sudo nmap nmap.org --script http-waf-fingerprint.nse


5. Так же есть скрипт для определения есть ли там waf точно или нет, http-waf-detect.nse

Пишем команду

sudo nmap nmap.org --script http-waf-detect.nse


6. У Nmap есть скрипт, который узнает возможные методы аутентификации SSH.

Пишем команду:

sudo nmap nmap.org --script ssh-auth-methods.nse


7. Дальше мы можем узнать заголовки сервера

Пишем команду:

sudo nmap nmap.org --script http-server-header.nse


Фух, вроде рассказал основы, справился) Все эти скрипты предустановлены, если же у вас чего-то нет, воспользуйтесь

флагом обновления, который я указал выше.


Теперь же чуть-чуть уделим внимания стороне защиты:


- "Что мне делать, если мой сервер атакуют nmap'ом?"


Ответ довольно прост: Настроить защиту, обновить всё ПО и сообщить создателям Nmap об этом, чтобы они исключили возможность скана.




Report Page