#60 Kali Linux для продвинутого тестирования на проникновение. Зеркалирование веб-сайта из командной строки. Burp Proxy.
Здравствуйте, дорогие друзья.
Злоумышленникам может потребоваться потратить много времени на выявление уязвимостей на определенных страницах/URL-адресах. Распространенная тактика включает клонирование или загрузку всей доступной информации веб-сайта локально, чтобы сузить правильную точку входа для использования и проведения атак социальной инженерии, для сбора адресов электронной почты и другой соответствующей информации. Также возможно скопировать веб-сайт непосредственно в местоположение тестера. Это позволяет тестировщику просматривать структуру каталогов и их содержимое, извлекать метаданные из локальных файлов и использовать содержимое сайта в качестве входных данных для такой программы, как crunch, которая создаст персонализированный список слов для поддержки взлома паролей.
После того, как Вы определили базовую структуру веб-сайта и/или веб-сервисов, которые были доставлены, следующим этапом kill chain является выявление уязвимостей, которые можно использовать. В Kali Linux 2021.4 этот инструмент не предустановлен; однако это можно установить, запустив sudo apt install httrack
в терминале, а затем введите httrack, чтобы увидеть вариант проникновения, для загрузки всего содержимого веб-сайта в локальную систему. Httrack — это командная строка, и утилита с графическим интерфейсом, широко используемая для создания локальной копии любого веб-сайта. Злоумышленники могут напрямую выдать команду httrack http://targetwebapp/ -O outputfolder, как показано на рисунке ниже:
После завершения работы httrack, тестировщики должны иметь возможность локально загрузить приложение и собрать информацию, идентифицировать жестко закодированные учетные данные в комментариях HTML или файлах резервных копий или идентифицировать недостатки дизайна/реализации.
Прокси на стороне клиента
Прокси-сервер на стороне клиента перехватывает HTTP- и HTTPS-трафик, позволяя пентестеру проверить коммуникации между пользователем и приложением. Это позволяет тестеру копировать данные или взаимодействовать с запросами, которые отправляются в приложение, что позволяет им манипулировать или обойти ограничения на стороне клиента. Прокси-серверы на стороне клиента изначально были разработаны для отладки приложений; тот же функционал может быть использован злоумышленниками для выполнения атак «человек посередине» или «человек в браузере».
Kali поставляется с несколькими клиентскими прокси, включая Burp Suite и ZAP. После обширных испытаний, мы привыкли полагаться на Burp Proxy с ZAP в качестве инструмента резервного копирования. В этом разделе мы рассмотрим Burp Suite.
Burp Proxy
В этом разделе мы будем использовать Mutillidae, веб-приложение, которое мы установили при создании нашего виртуальной лаборатории lab. Burp в основном используется для перехвата трафика HTTP(S); последняя версия — Burp Suite Community Edition 2021.9.1 (версия 2021.8.2 устанавливается по умолчанию в Kali Linux 2021.4). Однако он является частью более крупного набора инструментов, который имеет несколько дополнительных функций, включая следующие:
• Инструмент с учетом приложений (встроенная информация о приложениях), который выполняет глубокое сканирование на целевом сайте
• Сканер уязвимостей, включая секвенсор для проверки случайности токенов сеанса, и повторитель для обработки и повторной отправки запросов между клиентом и веб-сайтом (сканер уязвимостей не входит в комплект поставки бесплатной версии Burp Proxy в Кали)
• Инструмент злоумышленника, который можно использовать для запуска настраиваемых атак (имеются ограничения по скорости).
• Возможность редактировать существующие плагины или писать новые, с целью расширения количества и типов атак, которые можно использовать.
• Декодер для декодирования хорошо известного зашифрованного текста, компаратор для преобразования на уровне слов или байтов. Сравнения и расширитель для добавления любых сторонних надстроек или собственного пользовательского кода.
Чтобы использовать Burp, убедитесь, что Ваш веб-браузер настроен на использование локального прокси-сервера; обычно Вам будет необходимо настроить параметры сети, чтобы указать, что трафик HTTP и HTTPS должен использовать локальный хост (127.0.0.1) на порту 8080.
После настройки браузера откройте прокси-инструмент, запустив burpsuite в терминале и вручную сопоставьте приложение на вкладке «Цель». Это достигается отключением прокси, а затем просмотра всего приложения. Переходите по каждой ссылке, отправляйте формы и протестируйте как можно больше разделов сайта.
Дополнительный контент будет выводиться из различных ответов. Следующим шагом является выбор цели на веб-сайте и щелкните правой кнопкой мыши «Добавить», в область действия, как показано на рисунке ниже.
Карта сайта заполнит область на вкладке «Цель». Также можно использовать автоматическое сканирование, перейдя к Dashboard в главном меню, выбрав New live task, выбрав Livepassive сканирование, затем нажмите «Конфигурация сканирования», а затем «Создать…», введя имя конфигурации как сканирование или глубокое сканирование, а затем выберите Ссылки из типов элементов для добавления и Все в URL-адреса для добавления, как показано на следующем рисунке. Однако ручная методика дает тестировщику возможность лучше познакомиться с целью и определить области, которых следует избегать, такие как файлы /.bak или .svn, которые тестировщики проникновения часто упускают из виду при оценке:
Как только это будет завершено, Вы можете скрыть элементы, которые не представляют интереса, на карте сайта, используя отображенные фильтры. Карта сайта, созданная для целевого веб-сайта, показана на рисунке ниже:
После завершения обхода вручную просмотрите каталог и список файлов на наличие любых структур, которые не являются частью общедоступного веб-сайта или непреднамеренно раскрываются. Для примера, каталоги с заголовками admin, backup, documentation или notes следует просматривать вручную.
Мы попробуем вручную протестировать страницу входа в наше уязвимое веб-приложение, работающее на http://yourIP/mutillidae/, отправив одинарную кавычку в форму имени пользователя и пароля. Этот ввод создает код ошибки, предполагающий, что он может быть уязвим для атаки SQL-инъекции; пример возврата кода ошибки показан на рисунке ниже:
Настоящая сила прокси заключается в ее способности перехватывать и изменять команды. Для этого конкретного примера, мы выполним атаку для обхода аутентификации через SQL-инъекцию.
Чтобы запустить эту атаку, убедитесь, что Burp Proxy настроен на перехват сообщений, перейдя на вкладку «Прокси» и выбрав вложенную вкладку «Перехват». Убедитесь, что включен Intercept, как показано на рисунке ниже. Когда это будет завершено, откройте окно браузера и войдите в систему Mutillidae, введя <IPадрес>/mutillidae/index.php?page=login.php. Введите переменные в поля «Имя» и «Пароль», а затем нажмите кнопку «Войти». Если Вы вернетесь в Burp Proxy, то увидите, что информация, которую пользователь ввел в форму на веб-странице было перехвачено:
Нажмите кнопку «Действие», и выберите параметр «Отправить в Intruder». Откройте главную вкладку Intruder, и Вы увидите четыре подвкладки: Target, Positions, Payloads и Options, как показано на рисунке ниже:
Если Вы выберете «Позиции», Вы увидите, что пять позиций полезной нагрузки были идентифицированы из перехваченной информации.
Эта атака будет использовать снайперский режим Burp Proxy, который берет один вход из списка, предоставленного Тестеру, и отправляет эти входные данные в одну позицию полезной нагрузки за раз. Тестировщики будут должны очистить все предварительно определенные позиции и выбрать только те, которые необходимы, прежде чем продолжить. Для этого примера мы нацелится на поле имени пользователя, которое, как мы подозреваем, уязвимо на основании возвращенного сообщения об ошибке.
Чтобы определить позицию полезной нагрузки, мы выбираем подвкладку Payloads. В данном случае мы выбрали простой список. Этот список можно ввести вручную или заполнить, скопировав из других источников, т.к. показано на рисунке ниже:
Чтобы начать атаку, выберите Intruder в верхнем меню, а затем выберите Start Attack. Прокси будет повторять список слов по выбранным позициям полезной нагрузки как законные HTTP-запросы, и он вернет коды состояния сервера.
Как видно на рисунке ниже, большинство опций выдают код состояния 200 (запрос выполнен успешно); однако некоторые данные возвращают код состояния 302 (запрос найден, что указывает на то, что запрошенный ресурс в настоящее время находится под другим URI):
Статус 302 свидетельствует об успешных атаках, а полученные данные могут быть успешно использованы для авторизации на целевом сайте.
К сожалению, это слишком краткий обзор Burp Proxy и его возможностей. Бесплатной версии в комплекте с Kali будет достаточно для многих задач по тестированию; однако серьезные тестировщики (и злоумышленники) рассматривают возможность приобретения коммерческой версии, которая предоставляет возможность автоматизированного сканера с возможностями отчетности и плагинами для автоматизации задач.
На этом все. Всем хорошего дня!
#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.
#26 Kali Linux для продвинутого тестирования на проникновение. Сканирование портов. Nmap. Masscan.
#27 Kali Linux для продвинутого тестирования на проникновение. Информация DHCP. ARP-broadcasting.
#30 Kali Linux для продвинутого тестирования на проникновение. Оценка уязвимости. Эксплойты.
#33 Kali Linux для продвинутого тестирования на проникновение. OWASP ZAP.
#35 Kali Linux для продвинутого тестирования на проникновение. Сканер сетевых уязвимостей OpenVAS.
#37 Kali Linux для продвинутого тестирования на проникновение. Специализированные сканеры.
#42 Kali Linux для продвинутого тестирования на проникновение. The Social Engineering Toolkit (SET).
#48 Kali Linux для продвинутого тестирования на проникновение. Беспроводные и Bluetooth-атаки.
#49 Kali Linux для продвинутого тестирования на проникновение. Беспроводная разведка.
#50 Kali Linux для продвинутого тестирования на проникновение. Обход скрытого SSID.
#52 Kali Linux для продвинутого тестирования на проникновение. Атака на WPA и WPA2. Брут-форс атака.
#56 Kali Linux для продвинутого тестирования на проникновение. WPA3. Bluetooth-атаки.