Burp Suite, Hacking web-applications, Kali Linux, Kali Linux для продвинутого тестирования на проникновение

#60 Kali Linux для продвинутого тестирования на проникновение. Зеркалирование веб-сайта из командной строки. Burp Proxy.

Здравствуйте, дорогие друзья.

Злоумышленникам может потребоваться потратить много времени на выявление уязвимостей на определенных страницах/URL-адресах. Распространенная тактика включает клонирование или загрузку всей доступной информации веб-сайта локально, чтобы сузить правильную точку входа для использования и проведения атак социальной инженерии, для сбора адресов электронной почты и другой соответствующей информации. Также возможно скопировать веб-сайт непосредственно в местоположение тестера. Это позволяет тестировщику просматривать структуру каталогов и их содержимое, извлекать метаданные из локальных файлов и использовать содержимое сайта в качестве входных данных для такой программы, как crunch, которая создаст персонализированный список слов для поддержки взлома паролей.

После того, как Вы определили базовую структуру веб-сайта и/или веб-сервисов, которые были доставлены, следующим этапом kill chain является выявление уязвимостей, которые можно использовать. В Kali Linux 2021.4 этот инструмент не предустановлен; однако это можно установить, запустив sudo apt install httrack в терминале, а затем введите httrack, чтобы увидеть вариант проникновения, для загрузки всего содержимого веб-сайта в локальную систему. Httrack — это командная строка, и утилита с графическим интерфейсом, широко используемая для создания локальной копии любого веб-сайта. Злоумышленники могут напрямую выдать команду httrack http://targetwebapp/ -O outputfolder, как показано на рисунке ниже:

Running the website copier httrack

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

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

Adding a specific target web application to scope

Карта сайта заполнит область на вкладке «Цель». Также можно использовать автоматическое сканирование, перейдя к Dashboard в главном меню, выбрав New live task, выбрав Livepassive сканирование, затем нажмите «Конфигурация сканирования», а затем «Создать…», введя имя конфигурации как сканирование или глубокое сканирование, а затем выберите Ссылки из типов элементов для добавления и Все в URL-адреса для добавления, как показано на следующем рисунке. Однако ручная методика дает тестировщику возможность лучше познакомиться с целью и определить области, которых следует избегать, такие как файлы /.bak или .svn, которые тестировщики проникновения часто упускают из виду при оценке:

Scan configuration to crawl a target

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

Site map of the target web application in Burp Suite

После завершения обхода вручную просмотрите каталог и список файлов на наличие любых структур, которые не являются частью общедоступного веб-сайта или непреднамеренно раскрываются. Для примера, каталоги с заголовками admin, backup, documentation или notes следует просматривать вручную.

Мы попробуем вручную протестировать страницу входа в наше уязвимое веб-приложение, работающее на http://yourIP/mutillidae/, отправив одинарную кавычку в форму имени пользователя и пароля. Этот ввод создает код ошибки, предполагающий, что он может быть уязвим для атаки SQL-инъекции; пример возврата кода ошибки показан на рисунке ниже:

Database error on Mutillidae

Настоящая сила прокси заключается в ее способности перехватывать и изменять команды. Для этого конкретного примера, мы выполним атаку для обхода аутентификации через SQL-инъекцию.

Чтобы запустить эту атаку, убедитесь, что Burp Proxy настроен на перехват сообщений, перейдя на вкладку «Прокси» и выбрав вложенную вкладку «Перехват». Убедитесь, что включен Intercept, как показано на рисунке ниже. Когда это будет завершено, откройте окно браузера и войдите в систему Mutillidae, введя <IPадрес>/mutillidae/index.php?page=login.php. Введите переменные в поля «Имя» и «Пароль», а затем нажмите кнопку «Войти». Если Вы вернетесь в Burp Proxy, то увидите, что информация, которую пользователь ввел в форму на веб-странице было перехвачено:

Intercepting the request sent to the server in Burp Proxy

Нажмите кнопку «Действие», и выберите параметр «Отправить в Intruder». Откройте главную вкладку Intruder, и Вы увидите четыре подвкладки: Target, Positions, Payloads и Options, как показано на рисунке ниже:

Loading the request into Burp Intruder module

Если Вы выберете «Позиции», Вы увидите, что пять позиций полезной нагрузки были идентифицированы из перехваченной информации.

Эта атака будет использовать снайперский режим Burp Proxy, который берет один вход из списка, предоставленного Тестеру, и отправляет эти входные данные в одну позицию полезной нагрузки за раз. Тестировщики будут должны очистить все предварительно определенные позиции и выбрать только те, которые необходимы, прежде чем продолжить. Для этого примера мы нацелится на поле имени пользователя, которое, как мы подозреваем, уязвимо на основании возвращенного сообщения об ошибке.

Чтобы определить позицию полезной нагрузки, мы выбираем подвкладку Payloads. В данном случае мы выбрали простой список. Этот список можно ввести вручную или заполнить, скопировав из других источников, т.к. показано на рисунке ниже:

Adding the payload to the intruder module

Чтобы начать атаку, выберите Intruder в верхнем меню, а затем выберите Start Attack. Прокси будет повторять список слов по выбранным позициям полезной нагрузки как законные HTTP-запросы, и он вернет коды состояния сервера.

Как видно на рисунке ниже, большинство опций выдают код состояния 200 (запрос выполнен успешно); однако некоторые данные возвращают код состояния 302 (запрос найден, что указывает на то, что запрошенный ресурс в настоящее время находится под другим URI):

Successful SQL injection on the login form to gain access to the application

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

К сожалению, это слишком краткий обзор Burp Proxy и его возможностей. Бесплатной версии в комплекте с Kali будет достаточно для многих задач по тестированию; однако серьезные тестировщики (и злоумышленники) рассматривают возможность приобретения коммерческой версии, которая предоставляет возможность автоматизированного сканера с возможностями отчетности и плагинами для автоматизации задач.

На этом все. Всем хорошего дня!

#1 Kali Linux для продвинутого тестирования на проникновение. Целевое тестирование.

#2 Kali Linux для продвинутого тестирования на проникновение. Методология тестирования.

#3 Kali Linux для продвинутого тестирования на проникновение. Введение в возможности Kali Linux.

#4 Kali Linux для продвинутого тестирования на проникновение. Установка на Raspberry Pi 4, VMware Workstation Player, VirtualBox, Docker.

#5 Kali Linux для продвинутого тестирования на проникновение. Kali в облаке Amazon Web Services (AWS).

#6 Kali Linux для продвинутого тестирования на проникновение. Kali на облачной платформе Google (GCP).

#7 Kali Linux для продвинутого тестирования на проникновение. Kali на Android (телефоны без рута).

#8 Kali Linux для продвинутого тестирования на проникновение. Настройка и кастомизация Kali Linux.

#9 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Active Directory и контроллер домена.

#10 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Установка Microsoft Exchange Server 2016.

#11 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Metasploitable3.

#12 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. Mutillidae.

#13 Kali Linux для продвинутого тестирования на проникновение. Создание тестовой лаборатории. CloudGoat.

#14 Kali Linux для продвинутого тестирования на проникновение. OSINT и Пассивная разведка.

#15 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. Maltego.

#16 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. OSRFramework. theHarvester.

#17 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. TinEye. Shodan. SpiderFoot.

#18 Kali Linux для продвинутого тестирования на проникновение. Наступательный OSINT. Гугл Дорки.

#19 Kali Linux для продвинутого тестирования на проникновение. Защитный OSINT. Даркнет. Аналитика угроз.

#20 Kali Linux для продвинутого тестирования на проникновение. Защитный OSINT. CUPP. CeWL. Twofi.

#21 Kali Linux для продвинутого тестирования на проникновение. Активная разведка внешней и внутренней сети.

#22 Kali Linux для продвинутого тестирования на проникновение. Использование прокси с анонимными сетями. Tor. ProxyChains. 

#23 Kali Linux для продвинутого тестирования на проникновение. Разведка DNS и сопоставление маршрутов. Recon-ng framework.

#24 Kali Linux для продвинутого тестирования на проникновение. IPv4. IPv6. Инструменты IPv6.

#25 Kali Linux для продвинутого тестирования на проникновение. Идентификация внешней сетевой инфраструктуры.

#26 Kali Linux для продвинутого тестирования на проникновение. Сканирование портов. Nmap. Masscan.

#27 Kali Linux для продвинутого тестирования на проникновение. Информация DHCP. ARP-broadcasting.

#28 Kali Linux для продвинутого тестирования на проникновение. Использование SNMP. Разведка серверов домена Active Directory.

#29 Kali Linux для продвинутого тестирования на проникновение. Перечисление среды Microsoft Azure. Legion. Машинное обучение для разведки.

#30 Kali Linux для продвинутого тестирования на проникновение. Оценка уязвимости. Эксплойты.

#31 Kali Linux для продвинутого тестирования на проникновение. Сканирование уязвимостей с помощью Nmap. Кастомизация сценариев NSE.

#32 Kali Linux для продвинутого тестирования на проникновение. Сканеры уязвимостей веб-приложений. Nikto.

#33 Kali Linux для продвинутого тестирования на проникновение. OWASP ZAP.

#34 Kali Linux для продвинутого тестирования на проникновение. Сканеры уязвимостей для мобильных приложений.

#35 Kali Linux для продвинутого тестирования на проникновение. Сканер сетевых уязвимостей OpenVAS.

#36 Kali Linux для продвинутого тестирования на проникновение. Коммерческие сканеры уязвимостей. Nessus. Qualys.

#37 Kali Linux для продвинутого тестирования на проникновение. Специализированные сканеры.

#38 Kali Linux для продвинутого тестирования на проникновение. Продвинутая социальная инженерия и физическая безопасность.

#39 Kali Linux для продвинутого тестирования на проникновение. Социальная инженерия в компьютерных и мобильных атаках.

#40 Kali Linux для продвинутого тестирования на проникновение. Физические атаки на консоли. Samdump2 и chntpw.

#41 Kali Linux для продвинутого тестирования на проникновение. Создание мошеннического физического устройства. Raspberry Pi. MalDuino: BadUSB.

#42 Kali Linux для продвинутого тестирования на проникновение. The Social Engineering Toolkit (SET).

#43 Kali Linux для продвинутого тестирования на проникновение. The Social Engineering Toolkit (SET). Социально-инженерные атаки.

#44 Kali Linux для продвинутого тестирования на проникновение. The Social Engineering Toolkit (SET). Метод веб-атаки с несколькими атаками.

#45 Kali Linux для продвинутого тестирования на проникновение. Скрытие исполняемых файлов и запутывание URL-адреса злоумышленника.

#46 Kali Linux для продвинутого тестирования на проникновение. Фишинг по электронной почте с помощью Gophish.

#47 Kali Linux для продвинутого тестирования на проникновение. Запуск фишинговой атаки с помощью Gophish.

#48 Kali Linux для продвинутого тестирования на проникновение. Беспроводные и Bluetooth-атаки.

#49 Kali Linux для продвинутого тестирования на проникновение. Беспроводная разведка.

#50 Kali Linux для продвинутого тестирования на проникновение. Обход скрытого SSID.

#51 Kali Linux для продвинутого тестирования на проникновение. Обход проверки подлинности MAC-адреса и открытой аутентификации.

#52 Kali Linux для продвинутого тестирования на проникновение. Атака на WPA и WPA2. Брут-форс атака.

#53 Kali Linux для продвинутого тестирования на проникновение. Атака на беспроводные маршрутизаторы с помощью Reaver.

#54 Kali Linux для продвинутого тестирования на проникновение. Атаки типа «отказ в обслуживании» (DoS) против беспроводных сетей.

#55 Kali Linux для продвинутого тестирования на проникновение. Работа с Bettercap. Атака Evil Twin с использованием Wifiphisher.

#56 Kali Linux для продвинутого тестирования на проникновение. WPA3. Bluetooth-атаки.

#57 Kali Linux для продвинутого тестирования на проникновение. Эксплуатация веб-приложений. Методология взлома веб-приложений.

#58 Kali Linux для продвинутого тестирования на проникновение. Интеллект-карта хакера. Разведка веб-приложений.

#59 Kali Linux для продвинутого тестирования на проникновение. Обнаружение брандмауэра веб-приложений и балансировщиков нагрузки.