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

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

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

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

Web application hacking mind map

Интеллект-карта разделена на две категории: злоумышленники могут атаковать либо уязвимости на стороне сервера, либо уязвимости на стороне клиента. Эти уязвимости обычно возникают по одной из следующих причин:

• Использование старой или неисправленной технологии.

• Плохая конфигурация безопасности для новейших технологий.

• Недостаток дизайна или кодирование без учета требований безопасности.

• Человеческий фактор: нехватка квалифицированных кадров.

На стороне сервера злоумышленники обычно выполняют следующий список атак:

• Обход брандмауэра веб-приложений

• Инъекционные атаки

• Удаленное выполнение кода

• Включение файлов – удаленное и локальное

• Обход пути к каталогу

• Использование управления сеансами

• Использование бизнес-логики реализации системы или приложения.

• Неправильная конфигурация веб-сервисов или избыточные права авторизации.

• Приманка уязвимых сервисов через общую инфраструктуру

• Выявление любой релевантной информации, которая может помочь им выполнять более целенаправленные атаки.

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

• Уязвимости Internet Explorer: Internet Explorer имеет 1177 известных уязвимостей. (см. https://www.cvedetails.com/product/9900/Microsoft-Internet-Explorer.html?vendor_id=26) по состоянию на декабрь 2021 года.

• Уязвимости JavaScript и Java.

• Уязвимости закрепления/повторного связывания DNS: повторное связывание DNS — это атака на код, основанная на DNS, встроенный в веб-страницы. Обычно запросы из кода, встроенного в веб-страницы (JavaScript, Java и Flash) привязаны к веб-сайту, с которого они происходят (политика одного и того же происхождения). Атака с повторной привязкой DNS может использоваться для повышения способности вредоносных программ на основе JavaScript, и проникать в частные сети, нарушать политику браузера в отношении того же происхождения.

• Уязвимости внедрения клиентских сценариев/межсайтовых сценариев: отраженные, постоянные (сохраненные), и уязвимости на основе DOM.

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

Разведка веб-приложений

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

Сложность увеличивается за счет нескольких дополнительных факторов, которые необходимо учитывать при тестировании, которое включает в себя следующее:

• Сетевая архитектура, включая элементы управления безопасностью (брандмауэры, IDS/IPS и приманки), и конфигурации, такие как балансировщики нагрузки

• Архитектура платформы (аппаратное обеспечение, операционная система и дополнительные приложения) системы, на которых размещены веб-сервисы

• Приложения, промежуточное ПО и базы данных последнего уровня, которые могут использовать разные платформы. (Unix или Windows), поставщики, языки программирования и сочетание открытого исходного кода, коммерческое и проприетарное программное обеспечение

• Процессы аутентификации и авторизации, включая процесс поддержания сеанса состояние во всем приложении

• Базовая бизнес-логика, определяющая, как будет использоваться приложение.

• Взаимодействие на стороне клиента и связь с веб-службой

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

Для достижения этих целей было предложено несколько методологий. Наиболее широко принятых, и одним из них является Open Web Application Security Project (OWASP; см. www.owasp.org) и его список 10 основных уязвимостей.

В качестве минимального стандарта OWASP предоставляет тестировщикам указания. Тем не менее, сосредоточив внимание только на этих 10 уязвимостях недальновидно, и методология демонстрирует некоторые пробелы, в частности применительно к поиску уязвимостей в логике того, как приложение должно работать для поддержки бизнес-практики.

Используя подход kill chain, некоторые действия, характерные для разведки веб-приложений, которые следует выделить, включают следующее:

• Определение целевого веб-приложения, особенно в отношении того, где и как оно размещено.

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

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

• Перечисление всех форм. Поскольку это основные средства для ввода данных и взаимодействующие со службой веб-приложений, в них находится несколько уязвимостей, которые можно использовать, например, атаки путем внедрения SQL/XML/JSON и межсайтовые сценарии.

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

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

В частности, убедитесь, что размещенные сайты идентифицированы, а затем используйте сопоставление DNS для идентификации всех размещенных сайтов, которые доставляются одним и тем же сервером. Один из самых распространенных и успешных средств атаки является атака нецелевого сайта, размещенного на том же физическом сервере, что и веб-сайт, и использование слабых мест на сервере, чтобы получить root-доступ, а затем использовать повышенные привилегии, для атаки на целевой сайт.

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

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

#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 для продвинутого тестирования на проникновение. Эксплуатация веб-приложений. Методология взлома веб-приложений.