January 20, 2023

Взламываем репозиторий GitHub при помощи GitHub Dorks

С помощью Github Dorks можно найти интересную информацию и использовать ее для получения вознаграждения, при участии в программе Багбаунти.

Всем салют, дорогие друзья!
С помощью Github Dorks можно найти интересную информацию и использовать ее для получения вознаграждения, при участии в программе Багбаунти. В этой статье я поделюсь списком GitHub Dorks и покажу, как с его помощью взломал сайт разработчиков.


Что такое GitHub Dorks и как их использовать

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

Багбаунти — это программа, которую владелец сайта (web-приложения) проводит для привлечения сторонних специалистов в области ИБ к поиску уязвимостей. При участии в программе Bug Bounty нужно действовать этично и придерживаться установленных правил.

Недавно мы писали о Google dorks. Так вот, в GitHub тоже есть свои дор­ки, которые мож­но исполь­зовать для поис­ка вкус­ных дан­ных.

GitHub Dorks — это поисковые запросы, которые помогают найти репозитории с приватными данным.

С помощью Гитхаб дорков можно найти:

  • Имена пользователей
  • Пароли
  • Адреса электронной почты
  • Токены
  • Секретные ключи
  • Файлы резервных копий
  • И многое другое

На сегодняшний день существует более 500 Гитхаб дорков. Некоторые из них можно использовать в поисковике Google, добавив к к поисковому запросу:

site:github.com

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

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

  • language:javascript
  • language:python
  • language:php

Для поиска по именам файлов в репозиториях Гитхаб используется оператор filename:

Для поиска по расширению файлов нужно использовать оператор extension:

Надо отметить, что все свежие дорки GitHub быстро попадают в руки к экспертам ИБ. Поэтому, лучше искать по репозиториям, созданным за последние несколько дней, чувствительные данные в которых могли быть незамеченными, другими багхантерами. Для этой задачи используется оператор created:

extension:sql created:>2022-10-20


Список GitHub Dorks

Синтаксис GitHub Dorks простой:

“название-компании” filename:database

Полный список поисковых операторов и синтаксис в справке Github.

GitHub Dorks для поиска файлов:

  • “компания” filename:database
  • “компания” filename:secrets.yml
  • “компания” filename:passwd
  • “компания” filename:LocalSettings.php
  • “компания” filename:config.php
  • “компания” filename:config.inc.php
  • “компания” filename:configuration.php
  • “компания” filename:shadow
  • “компания” filename:.env
  • “компания” filename:wp-config.php
  • “компания” filename:credentials
  • “компания” filename:id_rsa
  • “компания” filename:id_dsa
  • “компания” filename:.sqlite
  • “компания” filename:secret_token.rb
  • “компания” filename:settings.py
  • “компания” filename:credentials.xml

GitHub Dorks для поиска API-ключей, токенов и паролей:

  • “компания” api_key
  • “компания” client_secret
  • “компания” api_token:
  • “компания” client_id
  • “компания” shodan_api_key
  • “компания” password
  • “компания” user_password
  • “компания” client_secret
  • “компания” secret
  • “компания” user auth

GitHub Dorks для поиска на основе языка программирования:

  • “компания” language:python
  • “компания” language:bash
  • “компания” language:shell
  • “компания” language:bash
  • “компания” language:SQL
  • “компания” language:Shell
  • “компания” db_password
  • “компания” apikey
  • “компания” name” pwd
  • “компания” fb_secret
Еще один большой список дорков. Не благодарите!

Инструменты для работы GitHub Dorks

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

gdorklinks.sh

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


GirDorker

GitDorker не прос­то генери­рует ссыл­ки, а сра­зу ищет информа­цию, исполь­зуя GitHub Search API и обширный спи­сок дор­ков, которых на дан­ный момент 513. Этот инс­тру­мент мож­но наз­вать более прод­винутым вари­антом пре­дыду­щего скрип­та.

Для работы пот­ребу­ется завес­ти GitHub Personal Access Token, а луч­ше минимум два таких токена. Это свя­зано с тем, что поис­ковый API огра­ничен 30 зап­росами в минуту: если токен все­го один, очень быс­тро упремся в лимиты.


Взлом сайта с помощью GitHub Dorks

Итак. Участвуя в программе Багбаунти и имея определенную информацию, я решил проверить свою цель на Гитхаб. Добавил название компании и ввел в поисковой строке следующий дорк:

“компания” language:python

И нашел файл, который был изменен 5 дней назад

Файл содержал много информации. Я использовал Ctrl + F для поиска домена по файлу. И в результате, нашел данные учетной записи (электронная почта и пароль).

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

И, как видите на скрине ниже, у меня получилось. Я взломал репозиторий GitHub.

После чего, сообщил об этом разработчикам и получил свое вознаграждение.