#26 Kali Linux для продвинутого тестирования на проникновение. Сканирование портов. Nmap. Masscan.
Здравствуйте, дорогие друзья.
Порт, операционная система и обнаружение служб
Kali предоставляет несколько различных инструментов, полезных для идентификации открытых портов, операционных систем и установленных сервисов на удаленных хостах. Большинство этих функций можно выполнить с помощью Nmap. Хотя мы сосредоточимся на примерах с использованием Nmap, основные принципы применимы и к другим инструментам также.
Сканирование портов
Сканирование портов — это процесс подключения к портам TCP и UDP для определения того, какие службы и приложения работают на целевом устройстве. В TCP/IP имеется по 65 535 портов для обоих протоколов TCP, и UDP, на любом компьютере. Известно, что некоторые порты связаны с определенными службами (например, для TCP 20 и 21 являются обычными портами службы протокола передачи файлов (FTP)).
Первые 1024 — это общеизвестные порты, и большинство определенных служб работают через порты в этом диапазоне; принятые службы и порты поддерживаются IANA (http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml ).
Хотя существуют принятые порты для определенных служб, например, порт 80 для веб-сервисов, они могут быть направлены на использование любого порта. Этот вариант часто используется, чтобы скрыть определенные службы, особенно если известно, что служба уязвима для атак. Однако, если злоумышленники завершат сканирование портов, и не найдут ожидаемую службу или найдут ее через необычный порт, они могут продолжить исследование.
Универсальный инструмент сопоставления портов, Nmap, основан на снятии figerprinting активного стека. Специально созданные пакеты отправляются в целевую систему, и ответ ОС на эти пакеты позволяет Nmap для идентификации ОС. Для работы, у Nmap должен быть открыт хотя бы один прослушивающий порт, а операционная система должна быть известна и иметь fingerprinted, при этом копия этого отпечатка должна храниться в локальной базе данных.
Использование Nmap для обнаружения портов очень шумно; он будет обнаружен и зарегистрирован сетевой безопасностью устройства. Некоторые моменты, которые следует помнить, следующие:
• Злоумышленники и специалисты по тестированию на проникновение, ориентированные на скрытность, будут тестировать только те порты, которые воздействуют на kill chain, которой они следуют, к своей конкретной цели. Если они начинают атаку, в ходе которой, используют уязвимости в веб-сервере, они будут искать цели с доступными портами 80 и 443 или портами 8080 и 8443.
• Большинство сканеров имеют списки портов по умолчанию, которые сканируются, чтобы Вы знали, что есть в этом списке, а что пропущено. Учитывайте порты TCP и UDP.
• Успешное сканирование требует глубоких знаний TCP/IP и связанных протоколов, работы в сети, и как работают определенные инструменты. Например, SCTP становится все более распространенным протоколом в сетях, но редко тестируется в корпоративных сетях.
• Сканирование портов, даже если оно выполняется медленно, может повлиять на работу сети. Какое-то старое сетевое оборудование и оборудование от определенных поставщиков будет блокироваться при приеме или передаче сканирования портов, что превращает сканирование в атаку типа «отказ в обслуживании».
• Инструменты, используемые для сканирования портов, особенно Nmap, расширяются с учетом функциональных возможностей. Их также можно использовать для обнаружения уязвимостей и эксплуатации простых средств защиты.
Написание собственного сканера портов с помощью netcat
В то время как злоумышленники используют прокси-приложение и сеть Tor, также возможно написать собственный сканер сетевых портов. Следующая однострочная команда может использоваться во время тестирования на проникновение, для определения списка открытых портов с помощью netcat, как показано на рисунке ниже:
while read r; do nc -v -z $r 1-65535; done < iplist
Тот же скрипт можно изменить для более целенаправленных атак на один IP-адрес следующим образом.
while read r; do nc -v -z target $r; done < ports
Вероятность получения предупреждения в любой системе обнаружения вторжений, использующей настраиваемые сканеры портов, невелика, но высокая по сравнению с другими сканерами портов.
Fingerprinting операционной системы
Определение ОС удаленной системы проводится с помощью двух видов сканирования:
• Активный fingerprinting: Злоумышленник отправляет нормальные и искаженные пакеты цели, и записывает шаблон своего ответа, называемый fingerprint. Сравнивая fingerprint в локальную базу данных, операционная система может быть определена.
• Пассивное снятие fingerpringing: злоумышленник перехватывает или записывает и анализирует поток пакетов.
Активное снятие fingerprinting быстрее и точнее, чем пассивное снятие fingerprinting; в Кали, основным активным инструментом является Nmap. Инструмент Nmap вводит пакеты в целевую сеть и анализирует ответ, который он получает. На рисунке ниже флаг -O дает команду Nmap определить рабочую систему:
nmap -sS -O target.com
Обратите внимание, что целевая система может легко скрыть настоящую операционную систему. С момента снятия fingerprinting программное обеспечение зависит от настроек пакета, таких как время жизни или размер начального окна, изменяется на эти значения или другие настраиваемые пользователем параметры, которые могут изменить результаты вывода инструмента. Некоторые организации активно меняют эти значения, чтобы усложнить заключительные этапы разведки.
Определение активных сервисов
Конечная цель reconnaissance части подсчета состоит в том, чтобы идентифицировать службы и приложения, работающие в целевой системе. Если возможно, злоумышленник захочет знать тип службы, поставщика и версии, чтобы упростить идентификацию любой уязвимости.
Ниже приведены некоторые из методов, используемых для определения активных служб:
• Определить порты и службы по умолчанию. Если удаленная система идентифицирована как операционная система с открытым портом 80 (служба WWW), злоумышленник может предположить, что по умолчанию установлена установка Microsoft IIS. Будет проведено дополнительное тестирование для проверки этого предположения (используя Nmap).
• Захват баннера: это делается с помощью таких инструментов, как amap, netcat, Nmap и Telnet.
• Просмотрите веб-страницы по умолчанию. Некоторые приложения устанавливаются с администрированием по умолчанию, ошибкой или другой страницей. Если злоумышленники получат к ним доступ, они предоставят рекомендации по установленным приложениям. которые могут быть уязвимы для атаки. На рисунке ниже злоумышленник может легко определить версию Microsoft IIS, который был установлен в целевой системе.
• Просмотрите исходный код. Плохо настроенные веб-приложения могут реагировать на определенные действия, HTTP-запросы, такие как HEAD или OPTIONS, с ответом, включающим веб-сервер версии программного обеспечения и, возможно, базовой операционной системы или средой сценариев в использовании. На рисунке ниже netcat запускается из командной строки и используется для отправки необработанных данных. HEAD пакеты на определенный веб-сайт. Этот запрос генерирует сообщение об успешном завершении (200 OK); однако он также определяет, что сервер работает под управлением Microsoft IIS 7.5 и питается от ASP.NET:
nc -vv www.target.com port number and then enter HEAD / HTTP/1.0
Масштабное сканирование
В случае тестирования крупных организаций с несколькими диапазонами IP-адресов класса B/C, возможно задействование широкомасштабного сканирования. Например, в глобальной компании часто существует несколько блоков IP-адресов, как часть внешнего выхода в интернет. Как упоминалось ранее, в предыдущем разделе, «разведка с открытым исходным кодом и пассивная Разведка», у злоумышленников нет ограничений по времени на сканирование, но есть у тестеров на проникновение. Пентестеры могут задействовать несколько инструментов для выполнения действия; Masscan — один из таких инструментов, который можно использовать для сканирования крупномасштабных блоков IP, для быстрого анализа активных хостов в целевой сети. Масскан установлен в Кали по умолчанию.
Самым большим преимуществом Masscan является рандомизация хостов, портов, скорости, гибкости и совместимости. На рисунке ниже, показано сканирование сети класса C за несколько секунд, и определение доступной службы HTTP на порту 80 и службы, работающие на целевых хостах:
На этом все. Всем хорошего дня!
#1 Kali Linux для продвинутого тестирования на проникновение. Целевое тестирование.
#2 Kali Linux для продвинутого тестирования на проникновение. Методология тестирования.
#3 Kali Linux для продвинутого тестирования на проникновение. Введение в возможности Kali Linux.
#7 Kali Linux для продвинутого тестирования на проникновение. Kali на Android (телефоны без рута).
#8 Kali Linux для продвинутого тестирования на проникновение. Настройка и кастомизация Kali Linux.
#11 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Metasploitable3.
#12 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Mutillidae.
#14 Kali Linux для продвинутого тестирования на проникновение. OSINT и Пассивная разведка.
#15 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. Maltego.
#16 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. OSRFramework. theHarvester.
#18 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. Гугл Дорки.
#20 Kali Linux для продвинутого тестирования на проникновение. Защитный OSINT. CUPP. CeWL. Twofi.
#24 Kali Linux для продвинутого тестирования на проникновение. IPv4. IPv6. Инструменты IPv6.