Меню

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

Топ-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 языков, включая английский.

Старт 28 июня, 2 недели, Москва, Беcплатно

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

Metasploit

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

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

Брутфорсеры

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

John the Ripper

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

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

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

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-трафика. Благодаря такой функциональности утилита широко используется не только хакерами и пентестерами, но также разработчиками веб-приложений для их своевременной отладки.

Заключение

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

Источник

Kali linux тест сайта

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

Информация предоставлена исключительно в ознакомительных целях. Не нарушайте законодательство!

Пассивная разведка

Для пассивного сбора информации характерно то, что этапы его проведения невозможно обнаружить, так как фактически нельзя определить, с какого узла производится сбор информации. При пассивном сборе используются службы Whois, анализ DNS, исследование публичных интернет-ресурсов, поисковые системы и интернет-сервисы, социальные сети и многое другое.

2IP или аналоги

Различные онлайн-сервисы, предоставляющий информацию об операционной системе, браузере, месте расположения и интернет-провайдере, а также непосредственно об IP-адресе. Сервис предоставляет доступ к инструментам, которые могут оказаться хорошим подспорьем при проведении тестирования на проникновение. На 2IP можно узнать IP-адрес объекта по доменному имени, проверить DNS записи домена, определить используемую CMS, наличие сайта в веб-архивах и т.д.

Shodan

Это поисковая система, разработанная веб-девелопером Джоном Мазерли и ориентированная, прежде всего, на поиск устройств, подключённых к интернету. Shodan предоставляет информацию об устройствах (маршрутизаторах, коммутаторах, настольных компьютерах, серверах и т.д.) и сервисах. Поисковая система опрашивает порты, захватывает полученные баннеры и индексирует их, чтобы найти необходимую информацию. Ценность Shodan, как инструмента тестирования на проникновение, заключается в том, что он предоставляет ряд удобных фильтров:

  • Страна. Поиск осуществляется по двухбуквенному коду страны. Например, запрос apache country: RU покажет вам серверы Apache в России.
  • Имя хоста. Отображаются результаты по любой части имени хоста или имени домена. Например, при запросе apache hostname: .ru отобразятся серверы Apache в домене .ru.
  • net. Выводятся результаты по определённому диапазону IP-адресов или подсети.
  • os. Находит указанные операционные системы.
  • Порт. Осуществляется поиск конкретных услуг. Shodan имеет ограниченную коллекцию портов: 21 (FTP), 22 (SSH), 23 (Telnet) и 80 (HTTP).

HackerTarget

Сервис позволяет произвести сканирование на наличие уязвимостей на основе инструментов с открытым исходным кодом. HackerTarget может осуществлять 12 различных типов сканирования (сканирование внешних портов, сканирование уязвимостей с помощью OpenVAS, сбор информации о домене, тесты безопасности WordPress, Joomla и Drupal), доступных для сканирования Free.Perform. Информация, собранная при помощи HackerTarget, может быть использована для расширения зоны атаки при выявлении уязвимостей на сервере.

На HackerTarget есть платные пакеты, которые расширяют возможности сервиса. После оплаты предоставляются следующие инструменты:

  • Nmap — сканирование любого IP-адреса, лимит сканирования до 2048 адресов в день, сканирование портов без ограничений, запуск сканирования по расписанию.
  • OpenVas — Сканирование с помощью инструмента до 512 IP-адресов и составление отчётов в PDF, HTML, XML. Для тарифа PRO+ доступно сканирование по расписанию.
  • Доступ к сканеру уязвимостей веб-серверов Nikto, тестированию с помощью SQLmap, расширенный инструментарий для WhatWeb/Wappalyzer, сканирование CMS WordPress, Joomla, Drupal, а также тестирование SSL/TLS.

Google dorks

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

  • site — поиск осуществляется по конкретному сайту;
  • inurl — указатель на то, что искомые слова должны быть частью самого веб-адреса;
  • intitle — оператор поиска в заголовке веб-страниц;
  • ext или filetype — поиск файлов определённого типа по расширению.
Читайте также:  Как сделать Твиттер популярным

Также при составлении запроса не стоит забывать про операторы, которые задаются спецсимволами:

  • «|» — вертикальный слеш, он же оператор OR (логическое или). Указывает, что нужно показать результаты, содержащие хотя бы одно из слов, перечисленных в запросе.
  • «»»» — кавычки. Указывает на поиск точного соответствия.
  • «-» — минус. Используется для очистки поисковой выдачи и исключает из неё результаты с указанными после минуса словами.
  • «*» — звездочка, или астериск. Используется в качестве маски и означает «что угодно».

Пример: site:pentestit.ru inurl:/uploads , если требуется найти все ссылки, содержащие «/upload» на сайте pentestit.ru.

theHarvester

theHarvester — это инструмент для сбора e-mail адресов, имён поддоменов, виртуальных хостов, открытых портов/банеров и имён работников из различных открытых источников (поисковые системы, сервера ключей pgp). Это простой, но эффективный на ранних этапах тестирования на проникновение инструмент позволяет узнать, какую информацию могут собрать о компании через интернет.

Инструмент использует следующие источники:

  • google: поисковая машина Google — www.google.com;
  • googleCSE: пользовательский поиск Google;
  • google-profiles: поисковая система Google, специфичный поиск по профилям Google;
  • bing: поисковая система Microsoft — www.bing.com;
  • bingapi: поисковая система Microsoft, через API (нужно добавить ваш ключ в файл discovery/bingsearch.py);
  • dogpile: поисковая система Dogpile — www.dogpile.com;
  • pgp: сервер ключей pgp — mit.edu;
  • linkedin: поисковая система Google, специфичный поиск по пользователям Linkedin;
  • vhost: поиск Bing по виртуальным хостам;
  • twitter: Twitter аккаунты, связанные с указанным доменом (используется поиск Google);
  • googleplus: пользователи, которые работают в целевой компании (использует поиск Google);
  • yahoo: поисковая система Yahoo;
  • baidu: поисковая система Baidu;
  • shodan: поисковая система Shodan, ищет порты и банеры обнаруженных хостов (http://www.shodanhq.com/).
  • Перебор DNS: этот плагин запустит перебор по словарю;
  • Обратное преобразование DNS: обратное преобразование обнаруженных IP-адресов для поиска имён хостов;
  • DNS TDL расширение: перечисление по словарю TLD;

Модули, для работы которых требуются API ключи:

  • googleCSE: нужно создать Google Custom Search engine(CSE) и добавить ваш Google API ключ и CSE ID в плагин (discovery/googleCSE.py);
  • shodan: нужно ввести ваш API ключ в discovery/shodansearch.py.

Ключи:
-b — позволяет указать источники в которых он будет искать. Возможные источники поиска:google, googleCSE, bing, bingapi, pgp, linkedin, google-profiles, people123, jigsaw, twitter, googleplus или все сразу — all;
-v — проверить хост в DNS и искать виртуальные сервера имеющие тот же адрес;
-f — записать результаты в HTML и XML файлы;
-n — сделать рекурсивные запросы к всем найденным диапазоном адресов;
-c — провести брутфорс доменных имен по словарю;
-e — использовать указанный DNS сервер;
-h — проверить найденные хосты через SHODAN.
Так же можно ограничить или расширить глубину поиска:
-l — глубина поиска (по умолчанию 100);
-s — пропустить первые n запросов.

Активная разведка

DIRB представляет собой cканер для поиска директорий веб-приложения. В основе работы инструмента лежит поиск по словарю, при помощи которого формируются запросы к веб-серверу и осуществляется анализ ответов.

DIRB поставляется с набором настроенных на атаку словарей для простого использования, но можно задействовать и свой словарь. DIRB полезен там, где классические сканеры уязвимостей веб-приложений бессильны, так как он ищет специфические веб-объекты. При работе с инструментом можно использовать ключи:
-c — установить cookie для HTTP запроса. Может быть полезно, если веб-приложение для работы требует определенные cookie;
-a — установка пользовательского user-agent;
-u — HTTP аутентификация.

Nmap (Network Mapper) — это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Зачастую используется для инвентаризации сети, управления расписанием служб обновлений и мониторинга аптайма хостов или служб. Nmap был создан для быстрого сканирования больших сетей, но также хорошо работает и в отношении единичных хостов. Nmap запускается на всех популярных операционных системах, а официальные исполнимые пакеты доступны для Linux, Windows и Mac OS X. Достоинствами Nmap можно назвать:

  • Гибкость. Nmap поддерживает множество техник для составления карты сети, заполненной IP-фильтрами, межсетевыми экранами, роутерами и другими преградами, а также различные механизмы сканирования портов (TCP и UDP), определение операционных систем, определение версий и др.
  • Мощность. Изначально Nmap использовалась для сканирования больших сетей, состоящих из сотен машин.
  • Кроссплатформенность. Поддерживаются большинство операционных систем, включая Linux, Microsoft Windows, FreeBSD, OpenBSD, Solaris, IRIX, Mac OS X, HP-UX, NetBSD, Sun OS, Amiga и другие.
  • Простота в использовании. Nmap включает в себя широкий набор функций различной степени сложности, он может быть полезен и для опытных пентестеров, и для новичков. Доступны как традиционная версия командной строки, так и графическая версия (GUI).
  • Nmap — бесплатный инструмент. Утилита доступна для свободной загрузки и поставляется с полным исходным кодом, который можно изменить и распространять его на основе лицензии.
  • Для Nmap разработана подробная документация.
  • Поддержка Nmap осуществляется сообществом разработчиков и пользователей.

При работе с утилитой можно использовать следующие ключи:
-sU — UDP-сканирование;
-O — определение версии операционной системы, основывается на TTL;
-Pn — позволяет рассматривать все хосты, как если бы они были онлайн;
-sC: — запуск стандартного набора скриптов, эквивалентно опции —script=default .

DMitry

Эта утилита командой строки для UNIX/(GNU)Linux, написанная на языке C. Приложение позволяет собрать максимально возможное количество информации о хосте. В базовую функциональность входит сбор информации о поддоменах, адресах электронной почты, сканировании портов TCP, поиск Whois и другое.

Среди особенностей Dmitry можно выделить следующие:

  • Проект с открытым исходным кодом;
  • Выполняет ряд поисков Whois;
  • Выполняет поиск поддоменов для целевого хоста;
  • Выполняет поиск адресов электронной почты для целевого хоста;
  • Выполняет сканирование портов TCP на целевом хосте;
  • Модульное построение программы позволяет настраивать набор используемых модулей.

Sparta

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

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

WhatWeb

Программа предназначена для идентификации веб-стайтов и позволяет ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе системы управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиотеки JavaScript, веб-серверы и встроенные устройства.

WhatWeb может быть незаметным и быстрым, тщательным и медленным. Чтобы контролировать компромисс между скоростью и достоверностью, WhatWeb поддерживает уровни агрессивности через ключ -a . Уровень агрессивности по умолчанию называется «незаметный», он является самым быстрым и требует только один HTTP-запрос к веб-сайту. Его можно использовать для сканирования публичных веб-сайтов. Более агрессивные режимы 3 и 4 были созданы для использования при проведении тестирования на проникновение. Также можно указать —user-agent , чтобы установить пользовательский user-agent, а также условия для осуществления перехода с помощью ключей —follow-redirection и —max-redirects . Поддерживается аутентификация на сайте и использование пользовательских cookie. WhatWeb поддерживает только basic auth.

WPScan

WPScan — это сканер уязвимостей WordPress, работающий по принципу «чёрного ящика», без доступа к исходному коду. Он может быть использован для сканирования удалённых сайтов WordPress на наличие уязвимостей.

Функционал инструмента позволяет устанавливать пользовательский user-agent или использовать функцию —random-user-agent для попытки обхода средств защиты. Для более глубокого изучения целевой CMS можно использовать ключ —enumiration с аргументами для запуска определения версии, главной темы оформления сайта, перечисления установленных плагинов и перечисления пользователей методом перебора.

Функция —plugins-detection aggressive является более агрессивной и требует больше времени.

Nikto

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

  • Неверные настройки сервера и программного обеспечения;
  • Дефолтные файлы и программы;
  • Небезопасные файлы и программы;
  • Устаревшие службы и программы.

Одной из самых востребованных опций сканера можно назвать -Tuning , которая модернизирует сканирование сервера, позволяя искать различные инъекции (4, 9), осуществлять обход аутентификации (a), идентификацию программного обеспечения (b) и многое другое. Например, для поиска XSS уязвимости можно воспользоваться следующей командой:
# nikto -host site.lan -Tuning 4 -C none

О Pentestit

Анализ защищенности веб-приложений — одно из основных направлений деятельности нашей компании, коллектив которой представлен специалистами с опытом работы в сфере более 10 лет.

Специализируясь в области практической информационной безопасности, мы производим поиск уязвимостей на защищенных интернет-ресурсах, выступаем с докладами на международных форумах, разрабатываем программное обеспечение и уникальные лаборатории тестирования на проникновение «Test lab», в которых принимают участие профессионалы со всего мира.

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

Источник



Как пользоваться Kali Linux для проверки сайтов

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

Читайте также:  Ответы на тест НМО Интерпретация полученных показателей кривой поток объем

Поскольку эти программы «двойного назначения» — то есть можно использовать для обеспечения безопасности своих сайтов или для взлома чужих сайтов, то они свободно распространяются. Есть даже целые дистрибутивы Linux в которые эти инструменты предустановлены. К таким дистрибутивам относятся: Kali Linux, BlackArch, Parrot Security и другие.

Инструменты для проверки сайтов свободно доступны, но проблема в том, что большинство веб-мастеров не умеет ими пользоваться. Ситуация для них усугубляется тем, что это в большей части утилиты командной строки, то есть это программы без графического интерфейса, их нужно запускать в консоли. И всё ещё хуже от того, что это даже не Windows программы — большинство из них легко устанавливаются только в Linux.

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

  • запустить Kali Linux в виртуальной машине
  • выполнить проверки своих сайтов и серверов

Сложно не будет, обещаю! Начнём.

Скачайте Kali Linux

Зайдите на страницу https://www.kali.org/downloads/, найдите там вариант Kali Linux 64-Bit и скачайте Torrent-файл. Затем скачайте образ системы (уверен, торрентами вы и без моих инструкций умеете пользоваться).

Как запустить Kali Linux

Пользователи Windows привыкли, что с помощью образа дистрибутива можно только выполнить установку. С помощью образа Linux также можно выполнить установку. Но они умеют ещё один замечательный фокус — запускаться прямо с образа диска. То есть .iso файл можно записать на флешку или на оптический диск и с него загрузиться в Linux и работать там как в полноценной системе. Это называется Live-система.

Плюсы такого способа:

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

Поскольку я обещал, что будет просто, то мы выберем работу именно в Live-системе. Если у вас появится дальнейший интерес, то вы сможете установить ОС Linux в виртуальную машину или в качестве второй системы.

Запуск Kali Linux без установки

Скаченный образ можно записать на флешку с помощью Etcher (в этой программе всего три кнопки – не запутаетесь) и загрузиться с этой флешки.

Но есть и ещё более простой вариант! Запуск Live-системы Linux в виртуальной машине VirtualBox.

Итак, поскольку мы будем запускать Kali Linux в VirtualBox, то в этом случае нам НЕ нужно записывать ISO образ на флешку, нужно только установить VirtualBox, это делается элементарно, но на всякий случай вот инструкция.

Создание виртуальной машины Kali Linux

Мы все знаем, что на компьютере работает одна операционная система. Мы можем установить вторую операционную систему (например, другую версию Windows или дистрибутив Linux), но чтобы переключиться в эту другую операционную систему, необходимо выключить компьютер и при загрузке выбрать другую ОС. Так вот программа VirtualBox убирает это ограничение — она позволяет запускать на одном компьютере две и более операционных систем, каждая из которых работает независимо от другой!

Это достигается благодаря «виртуальным компьютерам» («виртуальным машинам»), за которые отвечает VirtualBox.

Итак, создадим нашу виртуальную машину, в которой мы будем запускать Kali Linux.

1. Откройте VirtualBox

2. Нажмите кнопку Создать:

3. Введите Имя «Kali Linux», нажмите кнопку Далее.

4. Установите количество оперативной памяти, которую вы выделяете виртуальной машине — рекомендуется 4 гигабайта или более. Но помните, что выделяемая память забирается у вашей основной ОС, то есть оставьте достаточное количество, чтобы ваша основная ОС также нормально работала. Нажмите кнопку Далее.

5. Нам не нужен жёсткий диск, поскольку мы будем работать исключительно в Live-системе. Поэтому выбираем «Не подключать виртуальный жёсткий диск». И нажимаем кнопку Создать.

6. Система думает, что мы не знаем, что делаем, но мы то знаем! Поэтому нажимаем кнопку Продолжить.

7. Этот шаг необязательный. Зайдите в настройки виртуальной машины (выделите её и нажмите кнопку «Настроить», либо кликните по виртуальной машине правой кнопкой и в контекстном меню выберите «Настроить»). Там в разделе Система на вкладке Процессор рекомендую добавить количество ядер (чтобы работала быстрее) и поставить галочку «Включить PAE/NX». Когда изменения сделаны, нажмите кнопку ОК для их сохранения.

Запуск Kali Linux для новичка

Теперь запустите виртуальную машину — для этого дважды кликните по ней, либо нажмите кнопку Запустить.

Появится чёрный экран (на данном этапе это нормально):

В меню перейдите в Устройства → Оптические диски → Выбрать образ диска:

Выберите образ Kali Linux который вы недавно скачали.

Прежде чем перезагрузиться, сделаем ещё одну настройку. В меню перейдите в Устройства → Общий буфер обмена → Двунаправленный.

И теперь в меню выберите Машина → Перезагрузить.

А вот и сама великая и ужасная Kali Linux:

Нажимаем ENTER, чтобы загрузиться.

Консоль Kali Linux

Теперь мы будем работать в командной строке (консоли Linux). Чтобы её открыть кликните на эту иконку:

Лучшие команды Kali Linux для новичков

Проверка сайтов WordPress в Kali Linux

Для проверки сайтов, работающих на WordPress, используется программа WPScan. Эта программа может определить старые версии WordPress, тему оформления, установленные плагины, показать известные уязвимости в плагинах и темах оформления WordPress.

Начнём с обновления базы данных (нужно делать один раз после загрузки компьютера):

Для проверки сайтов запустите команду вида:

Например, если я хочу проверить сайт www.forum.comp-web-pro.ru, то команда следующая:

Определено, что на сайте доступна регистрация, найдена версия WordPress, определена тема оформления.

Найдено много уязвимостей в установленных плагинах WordPress:

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

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

Для сканирования с Nikto нужно запустить команду вида:

Обратите внимание, что протокол также нужно указать.

Пример запуска сканирования сайта https://www.forum.comp-web-pro.ru/:

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

Поиск уязвимости SQL-инъекция

Программа sqlmap пригодиться тем веб-мастерам, которые программируют и пишут код сервисов, CMS, сайтов. С помощью sqlmap можно найти уязвимость SQL-инъекция.

SQL-инъекция — это одна из самых серьёзных уязвимостей веб-приложений. При запуске программы нужно указать тестируемый параметр, пример:

Узнаём используемые веб-технологии

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

Для этого используйте команду вида:

К примеру, я хочу узнать о сайте suay.ru:

Простой сбор информации о веб-приложениях

Wig — это инструмент по сбору информации о веб приложениях, который идентифицирует ряд систем управления контентом (CMS) и другие административные приложения.

Для проверки сайта запустите команду вида:

Проверим, что удастся найти о сайте suay.ru:

Проверка правильности настройки SSL сертификата

С помощью программы testssl.sh можно проверит, всё ли в порядке с вашим SSL сертификатом, правильно ли он установлен, не содержит ли настройка SSL вероятности использования уязвимых шифров и т.д.

Для проверки запустите команду вида:

Проверим правильность настройки TLS/SSL сайта suay.ru:

Как проверить открытые порты

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

В самих по себе открытых портах нет ничего плохого. Например, для работы веб-сервера необходимы открытые порты 443 и 80. То есть для используемых служб порты должны быть открыты.

Порты следует закрыть для неиспользуемых служб. Например, если вам не нужен FTP сервер, то порт 21 не должен быть открыт, если вы не используете SSH, то порт 22 не должен быть открыт.

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

В первую очередь следует проверять свои собственные сервера (VPS), поскольку на виртуальных хостингах обычно открыто много портов и хостер это делает для каких-то своих нужд.

Для проверки открытых портов используется команда Nmap.

Команда запускается следующим образом:

В этом случае будут проверены самые часто используемые порты. Если вы хотите проверить вообще все порты, то запустите команду так:

Проверка открытых портов сервера, на котором работает сайт suip.biz:

Как узнать, занят ли домен

Предположим, вы хотите узнать, занято ли доменное имя, но не хотите доверять посторонним сервисам и сайтам. Вы можете сделать проверку прямо на своём компьютере!

Это можно сделать, например, с помощью команды whois. Запустите её следующим образом:

Допустим, я хочу узнать, занят ли домен w-e-b.site:

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

  • No entries found
  • No Data Found
  • The queried object does not exist: DOMAIN NOT FOUND
  • и т.д.

Как посмотреть HTTP заголовки

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

Просмотр HTTP заголовков при обращении к сайту suay.ru:

Выполняется редирект, об этом говорит строка Location: https://suay.ru/.

Как узнать IP адрес сайта

Нет ничего проще, чем узнать IP адрес любого сайта. Для этого выполните команду вида:

К примеру, я хочу узнать IP адрес сайта suay.ru:

Читайте также:  Стандартные образцы для ДНК тестов

Как узнать все DNS записи сайта

Все DNS записи сайта можно получить командой вида:

Пример для сайта suay.ru:

Kali Linux для абсолютных новичков

Пожалуй, на первый раз достаточно.

На самом деле, я бы мог ещё долго продолжать: как искать скрытые файлы и папки на сайте, как узнать субдомены, как проверить на другие уязвимости, как найти все сайты на одном IP адресе и так далее — и это только про сайты! Много интересного можно рассказать и про другие темы с Kali Linux: про Wi-Fi, например. Поэтому если у вас есть интерес к этой теме, то я сделаю продолжение. Свой интерес вы можете показать поделившись ссылкой на эту статью в социальной сети или на своём сайте. Будут посетители на эту статью — будет и продолжение.

Источник

Проверяем на уязвимости любой сайт с помощью 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-адресом или именем хоста без угловых скобок.

Однако, 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.

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

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

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

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

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

Источник