Не используйте 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
Там также есть автоматические инструменты.
Примечание: Вы можете проверять не только компанию в целом, но и пользователей по отдельности. Некоторые разработчики могут использовать ключи и доступы компании в своих проектах и коде.
Спасибо, что прочитали статью. Я буду признателен, если вы пролистаете статью и оставите комментарий, подпишитесь. Удачи вам в охоте! (Возможно, я что-то упустил, вы также можете дополнить статью своим комментарием).
Для связи со мной можете использовать мой телеграмм: @Denisnn11