Kali linux сканирование уязвимостей

Проверяем на уязвимости любой сайт с помощью Nikto

Всем привет! В марте OTUS запускает новый курс «Практикум по Kali Linux». В преддверии старта курса подготовили для вас перевод полезного материала. Также хотим пригласить всех желающих на бесплатный урок по теме: «Denial of Service атаки и защита от них».

Перед тем как атаковать любой сайт, хакер или пентестер сначала составляет список целей. После того, как он проведет хорошую разведку и найдет слабые места для «наведения прицела», ему понадобится инструмент сканирования веб-сервера, такой как Nikto, который поможет найти уязвимости – потенциальные вектора атаки.

Nikto – это простой открытый сканер веб-серверов, который проверяет веб-сайт и сообщает о найденных уязвимостях, которые могут быть использованы для эксплойта или взлома. Кроме того, это один из наиболее широко используемых инструментов сканирования веб-сайтов на уязвимости во всей отрасли, а во многих кругах он считается отраслевым стандартом.

Несмотря на то, что этот инструмент чрезвычайно эффективен, он не действует скрытно. Любой сайт с системой обнаружения вторжений или иными мерами безопасности поймет, что его сканируют. Nikto был разработан для тестирования безопасности и о скрытности его работы никто не задумывался.

Как правильно использовать Nikto

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

Для начала давайте поговорим о целях (target). Целью может оказаться почти любое место, куда может нанести свой удар хакер, например, сетевые принтеры или веб-сервер. Когда мы чуть позже перейдем к использованию Nikto, нам нужно будет предоставить ему один из трех видов информации: IP-адрес для локальной службы, веб-домен для атаки или веб-сайт SSL/HTTPS.

Прежде чем начинать сканирование с помощью Nikto, лучше предварительно провести разведку с помощью такого открытого инструмента как Maltego. Такие инструменты могут оказаться полезными при создании профиля и формировании более конкретного списка целей, на которых стоит сосредоточиться. Как только вы это сделаете, можно будет воспользоваться Nikto для поиска потенциальных уязвимостей в целях из вашего списка.

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

Шаг 1: Установка Nikto

Если вы используете Kali Linux, то Nikto будет предустановлен, поэтому вам ничего скачивать и устанавливать не придется. Он будет расположен в категории «Vulnerability Analysis». Если у вас его по какой-то причине нет, вы можете скачать Nikto с его репозитория на GitHub или просто использовать команду apt install .

Если вы работаете на Mac, то можете использовать Homebrew, чтобы установить Nikto.

Шаг 2: Познакомьтесь с Nikto

Перед сканированием веб-серверов с помощью Nikto, воспользуйтесь параметром -Help, чтобы увидеть все, что можно делать с этим инструментом:

Шаг 3: Используйте базовый синтаксис

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

Читайте также:  Sql server connect from linux

Однако, Nikto способен выполнять сканирование SSL и порта 443, который используют сайты HTTPS (HTTP использует по умолчанию 80 порт). Таким образом, мы не ограничиваемся только сканированием старых сайтов, мы может проводить оценку уязвимостей сайтов, использующих SSL, что на сегодняшний день является почти обязательным требованием для индексирования в результатах поиска.

Если мы знаем, что у целевого сайта есть SSL, мы можем указать это в Nikto, чтобы сэкономить некоторые время на сканировании, добавив -ssl в конец команды.

Шаг 4: Сканируйте сайты с SSL

Например, давайте начнем со сканирования сайта pbs.org , чтобы увидеть типы информации, которые может выдать сканирование Nikto. После того, как он подключается к порту 443, мы видим какую-то полезную информацию о шифровании и другие детали, такие как, например, то, что сервер работает на nginx, однако здесь для нас не так много интересного.

Шаг 5: Сканирование IP-адреса

Теперь, когда мы провели быстрое сканирование веб-сайта, мы можем попробовать использовать Nikto в локальной сети, чтобы найти embedded-сервера, такие как страница логина роутера или HTTP-сервис на другой машине, который представляет из себя просто сервер без веб-сайта. Чтобы узнать IP-адрес мы будем использовать ifconfig .

IP-адрес, который нам нужен относится к «inet». На нем мы можем использовать ipcalc для того, чтобы получить сетевой диапазон. Если у вас нет ipcalc, вы можете установить его с помощью команды apt install ipcalc , а затем повторить попытку. Диапазон будет стоять после «Network», в моем случае это 192.168.0.0/24.

Теперь мы хотим запустить Nmap, чтобы найти службы, работающие в этом сетевом диапазоне. Давайте сканировать 80 порт с помощью нашего диапазона, для этого допишем -oG (grepable output), чтобы получить только те хосты, которые подняты и работают, то есть те, которые отвечают, говоря, что 80 порт открыт. Затем мы сохраним все это в файл, который я назову nullbyte.txt , вы, в свою очередь, можете назвать его как угодно.

Есть небольшой фокус, который поможет отправить все хосты прямо в Nikto для сканирования. Мы используем cat для чтения входных данных, хранящихся в нашем документе nullbyte.txt (или как вы его назвали самостоятельно). После этого мы используем awk – специальный инструмент в Linux, который поможет найти следующий шаблон, где Up означает, что хост поднят, а print $2 значит, что нужно вывести второе слово в каждой строке, то есть только IP-адрес. Затем, полученные данные мы отправим в файл, который называется targetIP.txt (или как вам захочется).

Теперь мы можем просмотреть содержимое нашего нового файла с помощью cat, чтобы увидеть все IP-адреса, у которых открыт 80 порт.

Такой формат идеально подойдет Nikto, поскольку он может легко интерпретировать подобные файлы. Таким образом, мы можем отправить этот вывод в Nikto следующей командой.

Результаты будут аналогичны тем, что мы получили при сканировании с SSL.

Шаг 6: Сканирование HTTP-сайта

Мы просканировали защищенный веб-сайт и IP-адрес в локальной сети, теперь настало время искать незащищенный веб-домен, который использует 80 порт. Для этого примера я использую сайт afl.com.au, у которого не было SSL в тот момент, когда я проводил это сканирование.

Из информации выше, мы понимаем, что присутствует сервер Varnish и некоторые заголовки, которые могут подсказать, как сконфигурирован веб-сайт. Однако более полезная информация – это обнаруженные каталоги, которые могут помочь зацепить конфигурационные файлы, содержащие учетные данные или другие вещи, которые были неправильно сконфигурированы и оказались доступными непреднамеренно.

Элементы с префиксом OSVDB – это уязвимости, о которых сообщается на Open Source Vulnerability Database (сайте, который закрылся в 2016 году). Он похож на другие базы данных уязвимостей, такие как SecurityFocus, Microsoft Technet и Vulnerabilities and Exposures (https://cve.mitre.org/). Лично мне ближе National Vulnerability Database.

Читайте также:  Acronis true image astra linux

Несмотря на то, что наше сканирование не выявило никаких критических уязвимостей, которые можно было бы эксплуатировать, вы можете использовать справочный инструмент CVE для перевода идентификатора OSVDB в запись CVE, чтобы вы могли воспользоваться одним из сайтов, приведенных выше.

Допустим, вы нашли что-то достойное исследования, например CVE-2018-10933, уязвимость Libssh, о которой мы подробнее говорили ранее. CVE содержит информацию о том, как ее эксплуатировать, насколько уязвимость серьезна (например, критическая уязвимость) и некоторые другие сведения, которые могут помочь определиться с вектором атаки. Если это что-то стоящее, вы можете поискать с Metasploit, поскольку кто-то скорее всего уже разработал модуль, который поможет легко эксплуатировать эту уязвимость.

Шаг 7: Сканирование вместе с Metasploit

Одна из лучших вещей в Nikto заключается в том, что вы можете просто экспортировать информацию, полученную при сканировании, в формат, который сможет прочитать Metasploit. Для этого просто используйте команды для выполнения сканирования, приведенные выше, но добавьте к ним в конце флаги -Format msf+. Этот формат может помочь быстро сопоставить данные, полученные с помощью эксплойта.

Итак, в сегодняшнем руководстве мы перешли от определения цели к поиску уязвимостей в ней, а затем связали найденные уязвимости с эксплойтом, чтобы нам не пришлось делать всю работу вручную. Поскольку Nikto не работает скрытно, разумно выполнять эти сканирования через VPN, Tor или другой тип сервиса, чтобы ваш IP-адрес не был помечен как подозрительный.

Источник

Топ-12 инструментов для пентеста на Kali Linux и не только

Топ-12 инструментов для пентеста на Kali Linux и не только

Как понять, что проект уязвим? Мы собрали 12 популярных инструментов, которые широко используются пентестерами по всему миру, помогают находить бреши в безопасности и своевременно их устранять. Для удобства мы разделили их на 4 категории: комплексные инструменты, брутфорсеры, сканеры сетей и анализаторы трафика. Часть этих инструментов предустановлена в Kali Linux, а часть доступна для скачивания.

Комплексные инструменты

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

Burp Suite

Популярная платформа для тестирования безопасности веб-приложений, которая доступна на Kali Linux из коробки. По сути, это набор взаимосвязанных компонентов, которые обеспечивают полноценный аудит безопасности.

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

OWASP ZAP

Кроссплатформенный инструмент с открытым исходным кодом, который поддерживается безопасниками со всего мира и имеет много общего с Burp Suite. OWASP ZAP удобен в использовании. Интерфейс состоит из нескольких окон. Есть поддержка 13 языков, включая английский.

FBS , Санкт-Петербург , По итогам собеседования

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

Metasploit

Metasploit Framework — это популярная открытая платформа для создания и отладки эксплойтов под различные операционные системы. Включает в себя огромную базу опкодов и позволяет скрывать атаки от IDS/IPS систем. Благодаря этому тестирование на уязвимости максимально приближено к реальным сценариям.

На момент написания статьи проект насчитывает более 700 контрибьюторов. Metasploit Framework работает на Windows, Linux и других UNIX-подобных системах.

Брутфорсеры

Именно брутфорсеры помогают получить несанкционированный доступ к аккаунтам, сайтам, компьютерным системам методом перебора комбинаций из различных символов. Кто-то скажет, что брутфорс устарел. Но такой вид взлома актуален, и количество брутфорс-атак лишь возросло с переводом всего мира на удалённый режим работы.

John the Ripper

Кроссплатформенный инструмент с открытым исходным кодом, который используется для аудита слабых паролей. Несмотря на столь кричащее название, Джон-потрошитель хорошо зарекомендовал себя в сфере пентеста. Программа поддерживает сразу несколько вариантов атак:

  • перебором по словарю;
  • полным перебором (брутфорс);
  • гибридным способом.

У John the Ripper есть удобный GUI Johnny, который устанавливается отдельно. Но владельцам Linux придётся или собирать его из исходников самостоятельно, или довольствоваться консолью.

Читайте также:  Far cry primal не запускается windows

THC-Hydra

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

RainbowCrack

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

На официальном сайте программы можно найти демо и готовые радужные таблицы для алгоритмов хеширования LM, NTLM, MD5 и SHA1.

Сканеры сетей

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

Свободная утилита для сканирования и аудита безопасности сетей. Инструмент широко используется для сканирования узлов, получения списка открытых портов, сканирования запущенных сервисов и идентификации хостов в сети. Network Mapper поддерживает различные способы сокрытия процесса сканирования, параллельное сканирование, обход систем IDS и межсетевых экранов.

У продукта есть кроссплатформенный GUI Zenmap.

ZMap отличается высокой скоростью работы. Этот инструмент изначально создавался как более быстрая альтернатива Nmap для сканирования всей сети, а не отдельных фрагментов. Чтобы добиться скорости в 1,4 млн пакетов в секунду, достаточно обычного компьютера с гигабитным соединением.

Возникает вопрос: а зачем в таком случае нужен Nmap? Дело в том, что у ZMap есть существенный недостаток: очень высокая нагрузка, которая способна вывести из строя сетевое оборудование. Поэтому для точечного сканирования и небольших сетей предпочтительнее использовать Nmap.

Masscan

Ещё один массовый асинхронный сканер, который работает со скоростью до 25 млн пакетов в секунду. Полезен для сканирования огромных сетей, таких как Интернет. Синтаксис Masscan схож с Nmap, а скорость работы превышает скорость ZMap. Но главный недостаток такой же, как и у последнего: огромная нагрузка на сеть.

Анализаторы трафика

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

tcpdump

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

За время существования этого инструмента формат его отчётов стал своего рода стандартом для других анализаторов, поэтому tcpdump без проблем работает в тандеме с другими программами.

Wireshark

Wireshark — это кроссплатформенный анализатор сетевых протоколов, который обеспечивает захват сетевых пакетов в реальном времени, просмотр их содержимого, сортировку и фильтрацию полученной информации, отображение статистики нагрузки на сеть и многое другое. Его возможности схожи с функциональностью tcpdump, но Wireshark выгодно отличает удобный пользовательский интерфейс, сортировка и фильтры. Инструмент с открытым исходным кодом.

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

mitmproxy

Консольная утилита для отладки, тестирования, оценки уровня конфиденциальности и тестирования на проникновение. С mitmproxy можно перехватывать, проверять, изменять и воспроизводить поток HTTP-трафика. Благодаря такой функциональности утилита широко используется не только хакерами и пентестерами, но также разработчиками веб-приложений для их своевременной отладки.

Заключение

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

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Оцените статью