Hacking
December 8, 2021

GitHub. Находим то, что плохо лежит

Что на самом деле разработчики публикуют на GitHub?

Салют, Аноним! На связи Golden - глава Hacker Place

Часто так бывает, что разработчики оставляют много полезной информации в публичных репозиториях. Например, иногда можно найти ключи доступа или авторизационные токены. Один из таких ресурсов — github.com. У подавляющего большинства разработчиков и сотрудников есть на нём аккаунт. Поэтому в этой статье я расскажу тебе, какие существуют инструменты и что можно найти.


GitHub Dorks

Файл sftp-config.json используется плагином SFTP в редакторе Sublime. Он предназначен для передачи файлов, в том числе через SSH. Таким образом, можно найти хост, и данные для доступа.

filename:sftp-config.json password

Учетные данные безопасности в Amazon содержат два параметра (aws_access_key_id и aws_secret_access_key). Запрос:

filename:credentials aws_access_key_id

Файл .netrc предназначен для хранения паролей и логинов для FTP. Хранения логина и пароля в файле позволяет не вводить их каждый раз.

filename:.netrc password
filename:_netrc password

Например, если тебе не хватает ключа Shodan для API, то можно его найти на просторах GitHub:

shodan_api_key language:python
shodan_api_key language:
shellshodan_api_key language:json
shodan_api_key language:ruby

Файл filezilla.xml от популярного файлового менеджера filezilla с возможным логином и паролем от FTP. Подключайся, скачивай чужие данные по самое «не хочу».

filename:filezilla.xml Pass

А что насчет приватных ключей RSA? У GitHub есть чем нас порадовать. Почти 4к записей.

filename:id_rsa
filename:id_dsa 

Есть еще один хороший способ — для просмотра списка ранее введенных команд в bash — имеется команда history. По умолчанию она выводит список команд, хранящихся в истории. По умолчанию все пишется в файл ~/.bash_history, а его размер — 500 команд.

filename:.bash_history


Утилиты, которые позволяют автоматизировать процесс

https://github.com/techgaun/github-dorks

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


https://github.com/Hell0W0rld0/Github-Hunter/blob/master/GithubHunter.py

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


https://github.com/zricethezav/gitleaks

Эта утилита позволяет находить уязвимости и креды (данные для входа - логин и пароль) в конкретном репозитории. Если у тебя есть сайт и у него есть выгруженный проект можно прогнать этой утилитой на предмет наличия известных уязвимостей и слабых мест.


Заключение

Нужно внимательно следить за разработчиками. Они оставляют достаточно много "хлеба" для нас. Это могут быть пароли, конфиги, разные API ключи, истории команд и т.д. В зависимости от того, что вам нужно ― это всегда можно найти. Используйте свои дорки для конкретных кейсов, они повышают шанс найти что-то новое, то, что еще не перелопатили другие. Также очень важно смотреть, есть ли у ресурса/проекта выгруженный код на репозиторий. Если да, то теперь ты знаешь что там нужно искать. Хочу только добавить, что GitHub — это далеко не единственный репозиторий.


- Хочешь освоить хакинг и зарабатывать на нем?

- Совсем скоро у тебя будет такая возможность. Следи за новостями.