Вы находитесь на странице: 1из 2

GitGot

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


открытых данных на GitHub для секретных секретов

GitGot - это полуавтоматический инструмент с обратной связью, позволяющий


пользователям быстро находить секретные секретные секретные данные в GitHub среди
множества открытых данных.

Как это устроено


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

Черные списки, сгенерированные из предыдущих сессий, могут быть сохранены и


повторно использованы для аналогичных запросов (например, example.comvs
subdomain.example.comvs Example Org). Сессии также могут быть приостановлены и
возобновлены в любое время.

Узнайте больше о полуавтоматическом дизайне «человек в цикле» здесь:


https://know.bishopfox.com/blog/going-semi-automated-in-an-automated-world-using-
human-in- -петля-рабочие процессы к улучшению, наши-безопасности-инструменты

Инструкция по установке
Инструкции по эксплуатации
[1] Установите ssdeepзависимость для нечеткого хеширования.

Ubuntu / Debian (или эквивалент для вашего дистрибутива):

apt-get install libfuzzy-dev ssdeep


или, для Mac OSX:

brew install ssdeep


Для дистрибутивов Windows или * nix без ssdeepпакета, смотрите инструкции по
установке ssdeep .

[2] После установки ssdeepустановите зависимости Python, используя pip:

pip3 install -r requirements.txt


Инструкции по докеру
Запустите gitgot-docker.shдля создания образа докера GitGot (если он еще не
существует) и запустите докеризованную версию инструмента GitGot.

При вызове, gitgot-docker.shбудет создавать и монтировать logsи statesкаталоги из


текущего рабочего каталога хоста. Если это gitgot-docker.shвыполняется из каталога
проекта GitGot, он обновит контейнер докера с изменениями gitgot.pyили checks/:

./gitgot-docker.sh -q example.com
(См. gitgot-docker.shДля конкретных команд докера)

использование
GitHub требует токен для ограничения скорости. Создание API маркера GitHub с не
разрешениями / без области . Это будет эквивалентно общедоступному доступу к
GitHub, но позволит использовать API поиска GitHub. Установите этот токен в верхней
части, gitgot.pyкак показано ниже:

ACCESS_TOKEN = " <NO-PERMISSION-GITHUB-TOKEN-HERE> "


(В качестве альтернативы этот токен может быть установлен как
GITHUB_ACCESS_TOKENпеременная окружения)

После добавления токена вы готовы перейти:

# Запросить строку «example.com», используя список RegEx по умолчанию и


расположение файла журнала (/logs/<query>.log)
./gitgot.py -q example.com

# Запрос через GitHub Gists


./gitgot.py --gist -q CompanyName

# Использование синтаксиса расширенного поиска GitHub


./gitgot.py -q " org: github cats "

# Пользовательский список RegEx и расположение пользовательских файлов журнала


./gitgot.py -q example.com -f проверяет / default.list -o example1.log

# Восстановление из существующего сеанса


./gitgot.py -q example.com -r example.com.state

# Использование существующего сеанса (с черными списками) для нового запроса


./gitgot.py -q " Пример организации " -r example.com.state
Синтаксис запроса
Запросы GitGot передаются непосредственно в API поиска кода GitHub, поэтому
ознакомьтесь с документацией GitHub для более расширенного синтаксиса запросов.

Команды пользовательского интерфейса


Игнорировать подобное [c] ontent: помещает в черный список нечеткий хэш содержимого
файла, чтобы игнорировать будущие результаты, похожие на выбранный файл
Игнорировать [r] epo / [u] ser / [f] ilename: игнорирует будущие результаты путем
внесения в черный список выбранных строк
Поиск [/ (mykeyword)]: предоставляет пользовательское выражение регулярного
выражения с группой захвата для поиска на лету (например, /(secretToken))
[a] dd to Log: добавить совпадения RegEx в файл журнала, включая все результаты
поиска на лету из команды поиска
Далее [<Enter>], [b] ack: просмотр результатов поиска или возврат к предыдущим
результатам.
[s] ave state: сохраняет черные списки и результаты поиска в сеансе
[q] uit: выход