Windows / Linux / Программное обеспечение / Безопасность
Nmap - это сетевая утилита работающая как и под Windows, так и под Linux. Он способен просканировать веб-систему (сайт) на наличие открытых портов, определить ядро системы и её название, определить наличие фаервола, узнать что же находится на портах и даже провести атаку перебора пароля с помощью скриптов. Не даром она была показана во многих фильмах, таких как Матрица, Хоттабыч, Девушка с татуировкой дракона и одном сериале, который знают почти все, который даже не нуждается в представлении.nmap (цель) (флаг)[/code]
Nmap требует привилегий администратора, то есть запускать через sudo.
Sudo - это утилита администрирования Linux, которая дает права root для исполнения команд и каких-либо других действий. Если создаете нового пользователя, то не спешите всех подряд добавлять в группу sudo, ибо он может быть скомпрометирован и получит доступ ко всей системе, что может повлечь за собой очень много плохого.
Начнем сканировать.
Многим админам не нравится, когда их ресурсы сканируют, поэтому будем сканировать себя. За скан чужого ресурса не сажают, но могут взять "на карандаш", мол, проявил странную активность.
Чтобы провести скан себя нужно написать команду:
nmap localhost
Я специально поставил себе Apache, чтобы было что показать при скане.
Результат:
Маловато информации, да? Мы узнали, что на 22 порту работает ssh, а на 80 какой-то сервер.
Nmap умеет определять ОС, но не всегда точно, и версию ядра, что тоже не всегда точно, но это может нам очень помочь в поиске эксплойта и тд.
Для определения ОС пишем:
nmap localhost –O
Nmap смог узнать такое:
22/tcp open ssh
80/tcp open http
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.8 - 4.14
Network Distance: 0 hops
Всё те же порты и службы, но мы узнали:
Что версия ядра системы от 3.8 до 4.14, что пакеты трафика шли прямо к цели без переадресаций куда-либо.
Проверим, правду ли сказал мне Nmap. Вводим команду <b>uname -r</b> и узнаем версию своего ядра 4.18.16-arch1-1-ARCH.
Это моё ядро, Nmap чуть ошибся.
Чтобы узнать, что на портах пишем:
nmap localhost -sV
Результат:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.7 (protocol 2.0)
80/tcp open http Apache httpd 2.4.34 ((Unix))
Уже неплохо. Теперь мы можем начать искать в гуглах или других источниках какие-то уязвимости для этих версий ПО.
Теперь стоит затронуть флаг -T.
Этот флаг регулирует скорость сканирования, всего есть 5 ступеней, дефолт 3.
5 самая высокая скорость, но она может вызвать небольшую нагрузку на сервер и оставить очень много логов в системе из-за большого количества подключений и обращений. Не лучший вариант для незаметного сканирования, не так ли?
Мы можем изменить скорость на 1 и сканирование растянется на часы, но зато нас обнаружить очень сложно, ведь буду очень большие паузы в обращениях. Выбирать вам.
Чтобы указать порт для сканирования или диапазон портов, то есть флаг -p.
Чтобы провести скан только порта 80, то пишем:
nmap localhost -p 80
Всего портов существует 65535 и чтобы просканировать весь диапазон нужно написать так:
nmap localhost -p-65535
nmap localhost -p-
Так мы узнаем все порты, т.к nmap сканирует только первую 1000 портов, а хорошие админы стараются не располагать сервисы на стандартных портах по многим причинам.
Одна из них ботнеты, которые сканируют диапазоны сетей и брутят сервисы, чаще всего FTP, Telnet и SSH.
Флаги можно использовать не по одному, а все разом. Так, для справки.
Как я уже писал, Nmap владеет скриптами, и чтобы использовать стандартный скрипт есть флаг -sC.
nmap localhost –sC
Скрипты направлены на определенные порты и выполняют совершенно разные функции.
Давайте используем стандартный скрипт на 80 порт.
nmap localhost -p80 –sC
Это нам дало информацию о методах запросов HTTP.
PORT STATE SERVICE
80/tcp open http
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: Index of /
Этот скрипт нам сказал, что используется метод TRACE.
TRACE выполняет вызов возвращаемого тестового сообщения с ресурса. Есть много методов, поэтому на них мы не будем останавливаться. Скажу лишь то, то trace лучше выключать, т.к он может повлечь за собой атаку XSS.
Это всё даже не половина команд Nmap.
Сделал для вас памятку из основных команд.
-sL— создание списка работающих хостов, но без сканирования.
-sP — провести ping-ование хоста.
-PN — считать все хосты доступными, даже если они не отвечают на ping.
-sU — UDP сканирование nmap.
-sI — ленивое Idle сканирование;
-p — указать диапазон портов для проверки;
-sV — узнать версию ПО хоста.
-O — определять операционную систему
-sN/sF/sX — TCP NULL и FIN сканирование.
-sC — запускать скрипт по умолчанию.
-T[0-5] — скорость сканирования. Дефолт 3, поэтому стоит юзать 4.
-D — маскировка скана с помощью фиктивных IP
-S — изменить свой IP адрес на указанный (работает не всегда)
-spoof-mac — установить свой MAC адрес
-A — усиленное сканирование, которое использует дефолтные скрипты разом[/code]
Что такое IT-GIT?
«IT» — это не просто технологии, а целый мир инноваций и решений, направленных на преодоление сложностей. Мы представляем экспертность в области информационных технологий и широкой технологической экосистемы, стремясь к постоянному развитию и совершенствованию.
«Git» — это отсылка к одной из самых популярных систем контроля версий, которая обеспечивает эффективное сотрудничество, быструю итерацию и надежное управление сложными проектами. Мы стремимся объединить и поделиться опытом и идеями специалистов в сфере технологий, создавая пространство для обмена знаниями.
Инновационные технологии + совместный опыт экспертов в области технологий = путь к успеху!