Как стать автором
Обновить

Раздел OSINT (разведка): Что такое Github Dorking?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.5K

Не используйте 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
Там также есть автоматические инструменты.

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

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

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 9: ↑4 и ↓5-1
Комментарии1

Публикации