Не используйте Github Dorking для поиска данных без разрешения!

использование методов Github Dorking для поиска конфиденциальной информации без согласия владельца является нарушением этических норм и законодательства .

Здесь вы узнаете, как повысить свой уровень в OSINT, будут приведены примеры и готовые поисковые запросы.

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

Что это такое и для чего оно служит?

Github Dorking - чрезвычайно важная часть программы разведки сайтов или BugBounty.

Если вы знакомы с Google Dorking, то они очень похожи и служат одной цели - поиск по ключевым слов в системе.

Что можно найти с помощью Github Dorking?

1. Sensitive authorization data:

  • Токены доступа (OAuth, JWT и т. д.).

  • Ключи API (Google, AWS, Azure, Twitter, Stripe и т. д.).

  • Логины и пароли в коде или конфигурационных файлах.

  • Ключи SSH (особенно закрытые ключи).

  • Файлы .env, содержащие секреты.

2. Confidential Files:

  • Файлы конфигурации приложения (config.php, .env, web.config).

  • Журналы ошибок или развертывания (error.log, debug.log).

  • Файлы баз данных (database.sql, .sqlite).

3. server information:

  • IP-адреса серверов или внутренних узлов.

  • Секреты развертывания (например, Ansible Vault или Kubernetes Secrets).

  • Логины/пароли для серверов или баз данных.

4. Sensitive company data:

  • Внутренние документы или служебные записки.

  • Названия внутренних проектов.

  • Данные о внутренней инфраструктуре (например, доменные имена, поддомены).

5. Error or vulnerability codes:

  • Стационарные токены или тестовые учетные записи.

  • Жестко закодированные ключи шифрования.

  • Уязвимый код или устаревшие библиотеки.

6. Personal information:

  • Адреса электронной почты сотрудников.

  • Файлы с личными данными (user_data.json, credentials.txt).

  • Фотографии или документы (например, случайно загруженные сканы).

7. Vulnerable or unprotected components:

  • Данные CI/CD (например, файлы из Jenkins или GitLab CI/CD).

  • Скрипты, содержащие уязвимости.

  • Логины и пароли для облачных сервисов.

Как использовать Github Dorking шаг за шагом ?.

1. Первое, что нужно сделать, - найти свою «цель» в github, для чего можно использовать несколько подходов:

1.1 по названию компании/сайта .

Основной и самый простой способ - ввести название компании или сайта и найти их репозиторий (target - заменить на любой сайт): https://github.com/search?q=target&type=repositories.
Чем крупнее и известнее компания, тем больше шума будет в поиске и похожих репозиториях

Возьмем для примера Google:

Выглядит устрашающи - 965K репозиториев, не так ли?

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

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

1.2 Поиск по исходному коду или коду с сайта

Здесь все индивидуально, нужно открыть ваш target:target.com и попытаться найти исходный код, используя fuzz и находя директории (пример target.com/login/FUZZ Здесь мы пытаемся найти .js файл, который отвечает за авторизацию) или уникальные строки кода/ключа на сайте. После их нахождения мы вводим в адрес Code и заменяем их на найденный код/ключ https://github.com/search?q=Code&type=code.
Что касается ключей, то они подойдут, так как чаще всего уникальны.

2 Поиск внутри репозитория/компании (Github Dorking)

После нахождения компании?:

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

Откройте организационный счет компании:
https://github.com/google
Для поиска в организационном аккаунте можно использовать строку поиска в github:

Или воспользуйтесь строкой поиска Google и замените в ней TEST на то, что вы ищете (другие примеры будут показаны в этой форме) https://github.com/search?q=org%3Agoogle%20TEST&type=code

Как искать скрытые данные в git? Github Dorking в помощь!

Начните с поиска на GitHub названия вашей целевой организации в сочетании с такими потенциально конфиденциальными типами информации, как «api key», «api keys», «apikey», «authorization: Bearer», „access_token“, „secret“ или „token“. (Более полный список Github Dorking приведен ниже в конце статьи).

Затем изучите различные вкладки репозитория GitHub, чтобы обнаружить конечные точки API и потенциальные слабые места. Проанализируйте исходный код на вкладке Code, найдите ошибки на вкладке Issues и просмотрите предлагаемые изменения на вкладке Pull Requests.

На вкладке «Code» вы можете просмотреть код в его текущем виде или использовать ctrl-F для поиска интересующих вас терминов (таких как API, key и secret). Кроме того, можно просмотреть исторические изменения кода с помощью кнопки «history», расположенной в правом верхнем углу на изображении выше. Если вы столкнулись с проблемой или комментарием, который наводит вас на мысль, что с кодом когда-то были связаны уязвимости, вы можете просмотреть исторические коммиты, чтобы узнать, доступны ли эти уязвимости для просмотра.

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

Кнопка «Split» (вверху справа на изображении выше) позволяет разделить предыдущий код (слева) и обновленный код (справа).

На вкладке «issuse» разработчики могут отслеживать ошибки, задачи и запросы на функции. Если проблема открыта, велика вероятность того, что уязвимость все еще присутствует в коде.

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

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

Я подумал, что будет неудобно размещать большое количество примеров Github Doking, поэтому вы можете использовать ссылку на примеры на отдельном сайте: https://book.hacktricks.wiki/en/generic-methodologies-and-resources/external-recon-methodology/github-leaked-secrets.html?highlight=git%20dorking#dorks
Там также есть автоматические инструменты.

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

Спасибо, что прочитали статью. Я буду признателен, если вы пролистаете статью и оставите комментарий, подпишитесь. Удачи вам в охоте! (Возможно, я что-то упустил, вы также можете дополнить статью своим комментарием).

Я на hackerone
bugcrowd

Для связи со мной можете использовать мой телеграмм: @Denisnn11

Комментарии (1)