Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gato — Инструмент для перечисления и атак на пайплайны GitHub Actions | Kitploit
Инструменты/GitHubGitHub/praetorian-inc/gato
РазведкаСканеры уязвимостейЭксплуатацияСбор информацииПост-эксплуатацияТестирование на ПроникновениеDevSecOpsОбнаружение СекретовБезопасность Цепочки ПоставокRed TeamingArchived
GitHub
913 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
praetorian-inc/gato

gato

Инструмент для перечисления и атак на пайплайны GitHub Actions

Репозиторий

[!WARNING]

Этот репозиторий устарел и архивирован

Gato заменён на Trajan — мультиплатформенный инструмент Praetorian для обнаружения уязвимостей и автоматизации атак на CI/CD. Trajan объединяет возможности атак на CI/CD для GitHub Actions (Gato) и GitLab (Glato) в единый активно поддерживаемый проект.

Пожалуйста, переходите на Trajan: https://github.com/praetorian-inc/trajan

Никакие дальнейшие обновления, исправления ошибок или патчи безопасности в этот репозиторий вноситься не будут.


Supported Python versions

Gato (Инструментарий атаки GitHub)

gato

Gato (GitHub Attack Toolkit) — это инструмент для перечисления и атак, который позволяет как специалистам синих команд, так и специалистам по наступательной безопасности выявлять и эксплуатировать уязвимости конвейеров (pipeline) в публичных и приватных репозиториях организации GitHub.

Инструмент обладает функциями пост-эксплуатации для использования скомпрометированного персонального токена доступа, а также функциями перечисления для выявления уязвимостей отравленных конвейеров выполнения (poisoned pipeline execution) и секретов в артефактах Actions в публичных репозиториях.

GitHub рекомендует использовать самодельные раннеры (self-hosted runners) только для приватных репозиториев, однако тысячи организаций используют их. Конфигурации по умолчанию часто уязвимы, и Gato использует смесь анализа файлов рабочих процессов и анализа журналов выполнения для масштабного выявления потенциально уязвимых репозиториев.

Версия 1.7

Gato версии 1.7 представляет Сканер секретов артефактов Actions (Actions Artifacts Secrets Scanner).

Сканер секретов артефактов Actions перечисляет артефакты рабочих процессов GitHub Actions на наличие секретов. Исследователи Praetorian использовали сканер для выявления критических уязвимостей в нескольких известных проектах с открытым исходным кодом. Подробности этих уязвимостей будут опубликованы после завершения процессов раскрытия. Эта работа была первоначально вдохновлена исследованием Palo Alto Networks.

Сканер секретов артефактов Actions выполняет следующие действия:

  1. Загружает артефакты рабочих процессов GitHub Actions из целевого репозитория.
  2. Рекурсивно извлекает загруженные артефакты.
  3. Сканирует артефакты на наличие секретов с помощью NoseyParker.
  4. Сообщает результаты.

NoseyParker должен быть установлен в $PATH системы, на которой запускается Сканер секретов артефактов Actions.

Секреты в публичных артефактах рабочих процессов могут содержать много ложных срабатываний. По умолчанию Сканер секретов артефактов Actions исключает правила и результаты, связанные с типичными ложными срабатываниями. Чтобы включить все результаты сканирования секретов, используйте флаг --include_all_artifact_secrets.

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

root@kitploit:~
gato e --enum_wf_artifacts --include_all_artifact_secrets --skip_sh_runner_enum -O testorgs.txt  -oJ testorgoutput.json

По умолчанию Сканер секретов артефактов Actions накладывает следующие ограничения для сокращения времени, затрачиваемого на один репозиторий:

  • Загружает только один артефакт на имя.
  • Загружает максимум 50 артефактов на репозиторий.
  • Загружает максимум 10 файлов размером более 536 МБ.
  • Не загружает файлы размером более 2,68 ГБ.

Эти ограничения были оптимизированы таким образом, чтобы Сканер секретов артефактов Actions мог просканировать топ-200 организаций GitHub в течение 48 часов. Если вы хотите изменить эти ограничения, вы можете обновить их в функции scan_wf_artifacts() файла gato/enumerate/repository.py.

Новые возможности

  • Добавлен Сканер секретов артефактов Actions
  • Поддержка запуска модулей по списку организаций GitHub
  • Возможность отключать перечисление самодельных раннеров
  • Опция отключения задержек (sleep)
  • Различие между публичными и приватными репозиториями в выводе
  • Несколько исправлений ошибок
  • Поддержка перечисления с использованием токенов установки GitHub App

Для кого предназначен?

  • Инженеры по безопасности, желающие понять уровень доступа, который скомпрометированный классический PAT может предоставить злоумышленнику.
  • Синие команды, которые хотят построить детекции для атак на самодельные раннеры.
  • Красные команды.
  • Охотники за багами, которые хотят попытаться доказать RCE на организациях, использующих самодельные раннеры.

Возможности

  • Перечисление привилегий классического PAT GitHub
  • Перечисление на основе API поиска кода GitHub
  • Перечисление с помощью поиска SourceGraph
  • Анализ журналов выполнения GitHub Action для выявления самодельных раннеров
  • Функции массового разреженного клонирования репозиториев
  • Анализ рабочих процессов GitHub Action
  • Автоматизированное создание Fork PR с выполнением команд
  • Автоматизированное создание рабочего процесса с выполнением команд
  • Автоматизированная эксфильтрация секретов рабочих процессов
  • Поддержка прокси SOCKS5
  • Поддержка прокси HTTPS
  • Сканирование секретов в артефактах рабочих процессов GitHub Actions

Начало работы

Установка

Gato поддерживает OS X и Linux с версией Python не ниже 3.7.

Для установки инструмента просто клонируйте репозиторий и используйте pip install. Мы рекомендуем выполнять это в виртуальном окружении.

root@kitploit:~
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .

Gato также требует, чтобы git версии 2.27 или выше был установлен и находился в PATH системы. Для запуска модуля атаки через Fork PR также требуется установленный sed в PATH.

Ветка разработки (Dev Branch)

Мы поддерживаем ветку разработки, которая содержит новые функции Gato, ещё не добавленные в основную ветку. Вероятность столкнуться с ошибками выше; однако мы всё ещё запускаем наш интеграционный тестовый набор на ветке dev, поэтому явных ошибок быть не должно.

Если вы хотите использовать ветку dev, просто переключитесь на неё перед запуском pip install — вот и всё!

Если вы столкнётесь с какими-либо ошибками для вашего конкретного случая использования, пожалуйста, создайте issue!

Использование

После установки инструмент можно запустить командой gato или praetorian-gato.

Мы рекомендуем просмотреть параметры базового инструмента с помощью gato -h, а параметры каждого из модулей инструмента — с помощью следующих команд:

  • gato search -h
  • gato enum -h
  • gato attack -h

Для работы инструменту требуется классический токен GitHub или токен установки приложения. Чтобы создать его, войдите в GitHub и перейдите в Настройки разработчика GitHub, выберите Generate New Token, а затем Generate new token (classic).

После создания токена установите переменную окружения GH_TOKEN в вашей оболочке, выполнив export GH_TOKEN=<ВАШ_СОЗДАННЫЙ_ТОКЕН>. В качестве альтернативы сохраните токен в безопасном менеджере паролей и вводите его при запросе приложения.

Если вы создаёте токен установки GitHub App, приложению необходимы как минимум права Actions:read и Contents:read для выполнения модулей перечисления.

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

Документация

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

Ошибки

Если вы считаете, что обнаружили ошибку в программном обеспечении, пожалуйста, создайте issue, содержащее вывод инструмента, а также действия, которые вы пытались выполнить.

Если вы не уверены, является ли поведение ошибкой, воспользуйтесь разделом обсуждений (Discussions)!

Вклад

Вклад приветствуется! Пожалуйста, ознакомьтесь с нашей методологией проектирования и стандартами кодирования перед работой над новой функцией!

Кроме того, если вы предлагаете значительные изменения в инструменте, пожалуйста, создайте issue, чтобы начать обсуждение мотивации изменений.

Лицензия

Gato лицензирован в соответствии с Apache License, Version 2.0.

root@kitploit:~
Copyright 2023 Praetorian Security, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Скачать инструмент