Bug Bounty, Bug Hunting, Охота за ошибками

#8 Bug Bounty. Методология — рабочие процессы.

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

Введение

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

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

Рабочий процесс разведки

Введение

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

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

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

Традиционный рабочий процесс

Традиционный рабочий процесс можно найти практически в каждой методологии. Это основа, из которой построен каждый фреймворк. Традиционный bug bounty процесс будет выглядеть примерно так:

Традиционный bug bounty процесс

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

Этот процесс будет совершенствоваться в следующих примерах.

Домен

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

После того, как Вы собрали все корневые домены, Вам они понадобятся, для определения субдоменов, принадлежащих каждому корневому домену.

Далее Вы выполните разрешение DNS, для определения записей A, NS, MX и CNAME каждой цели. Все записи А должны быть добавлены в список IP-адресов, принадлежащих компании.

CIDR

В зависимости от размера организации, у них может быть собственный бесклассовый диапазон междоменной маршрутизации (CIDR). Если Вы не знаете, что такое диапазон CIDR — это просто диапазон IP-адресов, принадлежащих организации.

Крупные компании имеют свои собственные диапазоны CIDR, но небольшие компании обычно арендуют серверы от стороннего поставщика, такого как Rackspace или Amazon Web Services (AWS), поэтому у них не будет диапазона CIDR.

IP

После того, как Вы собрали список IP-адресов, Вам нужно будет выполнить сканирование портов каждого из них.

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

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

Хорошей идеей будет определение геолокации и номера автономной системы (ASN). Так Вы узнаете, где находится ее интеллектуальная собственность и какой компании она принадлежит. Как Вы узнаете позже, некоторые уязвимости и эксплойты могут быть усилены в зависимости от среды, в которой они находятся. Например, получение SSRF на хосте, расположенном на AWS, может привести к выводу с гораздо большим влиянием.

Веб-приложения

Последним шагом в этом процессе разведки является получение списка поддоменов и IP-адресов, запуск веб-приложения и выполнение снятия отпечатков (fingerprinting), а также обнаружения контента.

Вам нужно будет знать, какая технология работает на каждой конечной точке. Снятие отпечатков («Fingerprinting») Вашей цели чрезвычайно важен, так как это может напрямую привести к обнаружению уязвимости. Например, если Вы видите, что на сайте работает WordPress, то Вы можете запустить сканер WordPress на нем. Если Вы видите страницу Apache Struts, то Вы можете попробовать некоторые известные CVE. Этот список можно продолжать долго.

После Вашего снятия отпечатков («fingerprint»), Вы попытаетесь выяснить, какие страницы есть на хосте. Обычно это делается путем сканирования или выполнения брутфорса на сайте.

Заключение

Это очень БАЗОВЫЙ обзор того, как может выглядеть Ваш рабочий процесс. Если Вы желаете получать награды за ошибки, Вам необходимо попрактиковаться и освоить этот процесс.

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

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

#1 Bug Bounty. Подготовка к Bug Bounty. Введение.

#2 Bug Bounty. Организация. Введение.

#3 Bug Bounty. Заметки. Введение.

#4 Bug Bounty. Подготовка к охоте. База знаний.

#5 Bug Bounty. RSS-каналы.

#6 Bug Bounty 101. Выбор платформы.

#7 Bug Bounty. Выбор правильной цели.