Разведка на основе открытых источников (OSINT): инструменты и методы сбора информации на GitHub

Разведка на основе открытых источников (OSINT): инструменты и методы сбора информации на GitHub

В этой статье мы рассмотрим, какие инструменты и методы можно применить в OSINT-расследовании на GitHub.

GitHub — крупнейшая в мире платформа для разработки программного обеспечения и контроля версий, на которой размещены миллионы публичных и приватных репозиториев с кодом. Построенный на основе распределённой системы контроля версий Git, он позволяет разработчикам хранить код, отслеживать изменения с течением времени, совместно работать над проектами и управлять ими.

Для OSINT аналитиков GitHub — это нечто большее, чем просто место для хранения кода; это один из богатейших источников разведывательной информации в интернете. Поскольку разработчики используют его в повседневной работе, не задумываясь о формировании своего публичного профиля, GitHub нередко даёт полное представление о том, как организации функционируют на самом деле. Он охватывает используемые технологии, людей, работающих над проектами, создаваемые продукты, а иногда и конфиденциальные сведения, которые не предназначались для публичного доступа.

В этой статье мы рассмотрим, какие методы можно применить для OSINT-расследования на GitHub. Приступим!

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


Шаг №1: Google Dorks для поиска людей на GitHub

Встроенный поиск GitHub весьма функционален, однако имеет существенные ограничения: в частности, требует авторизации, а также не обеспечивает полного индексирования контента и ряда типов файлов. Веб-краулеры, такие как Google, напротив, индексируют значительную часть публичного контента GitHub.

Попробуем найти профиль по имени:

site:github.com "Полное имя"

Попробуем найти людей, упомянутых на страницах компаний:

site:github.com "Название компании" "members"

Помимо этого, можно попытаться найти конфигурационный файл следующим образом:

site:github.com filename:config.json

Разумеется, поиск не ограничивается этими расширениями. Можно искать, например, базы данных:

site:github.com/targetorg filename:*.sql


Шаг №2: Эндпоинты GitHub API

GitHub предоставляет REST API по адресу api.github.com, возвращающий структурированные данные в формате JSON для всего, что доступно на сайте, а также для некоторых данных, недоступных через веб-интерфейс. Запросы к публичным данным можно выполнять без авторизации, однако следует учитывать ограничение: 60 запросов в час. При использовании персонального токена доступа (PAT) этот лимит увеличивается до 5 000 запросов в час.

Для сбора информации о пользователе откройте в браузере следующий URL:

https://api.github.com/users/[имя_пользователя]

Эти данные раскрывают ценную информацию, такую как местоположение и дата создания аккаунта.

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

https://api.github.com/repos/[владелец]/[репозиторий]/commits

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


Шаг №3: Автоматизация GitHub OSINT

TruffleHog — один из наиболее функциональных и активно поддерживаемых инструментов с открытым исходным кодом, для обнаружения секретов.

Ещё один инструмент, заслуживающий внимания, — Octosuite. Фреймворк написан на Python и отлично подходит для автоматизации GitHub OSINT’а. Он объединяет несколько API эндпоинтов в единый streamlined-воркфлоу и предоставляет форматированный вывод.

Установка выполняется следующими командами:

kali> python3 -m venv .venv

kali> source .venv/bin/activate

kali> pip3 install octosuite

Далее можно выполнять запросы к GitHub непосредственно из командной строки. Например, обратимся к API эндпоинту users:

kali> octosuite user username

Кроме того, можно получить информацию обо всех сотрудниках компании, упомянутых на GitHub:

kali> octosuite org company_name –members

Octosuite особенно полезен в случаях, когда необходимо сформировать структурированный отчёт на основе открытых данных с GitHub, без написания собственных скриптов.


Итоги

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

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

OSINT разведка по открытым источникам GitHub
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
VO2
MAX
КУЛЬТ
Антипов жжет
5 УТРА. СМУЗИ. МАРАФОНЫ. ВЫ СГОРАЕТЕ, ДУМАЯ, ЧТО ЖИВЕТЕ.
Вместо бога — трекер Oura. Человек просто меняет литургию и платит за неё по подписке. Вы — землеройка в кроссовках.

Life Hack

Сообщество по информационной безопасности. Мы в телеграме - https://t.me/haccking