Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gato — GitHub Actions Pipeline-Enumeration und Angriffstool | Kitploit
Tools/GitHubGitHub/praetorian-inc/gato
AufklärungSchwachstellenscannerExploitationInformationsbeschaffungPost-ExploitationPenetrationstestsDevSecOpsSecret-ErkennungLieferkettensicherheitRed TeamingArchived
GitHub
91vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
praetorian-inc/gato

gato

GitHub Actions Pipeline-Enumeration und Angriffstool

Repository anzeigen
Teilen

[!WARNING]

Dieses Repository ist veraltet und archiviert

Gato wurde durch Trajan ersetzt, das Multi-Plattform-CI/CD-Schwachstellenerkennungs- und Angriffsautomatisierungstool von Praetorian. Trajan vereint die GitHub Actions (Gato) und GitLab (Glato) CI/CD-Angriffsfunktionen in einem einzigen, aktiv gewarteten Projekt.

Bitte migrieren Sie zu Trajan: https://github.com/praetorian-inc/trajan

Für dieses Repository werden keine weiteren Updates, Fehlerbehebungen oder Sicherheitspatches bereitgestellt.


Supported Python versions

Gato (Github Attack TOolkit)

gato

Gato, auch bekannt als GitHub Attack Toolkit, ist ein Enumeration- und Angriffstool, das sowohl Blue Teams als auch Sicherheitspraktiker im Offensivbereich dabei unterstützt, Pipeline-Schwachstellen in öffentlichen und privaten Repositories einer GitHub-Organisation zu identifizieren und auszunutzen.

Das Tool bietet Post-Exploitation-Funktionen zur Nutzung eines kompromittierten persönlichen Zugriffstokens sowie Enumeration-Funktionen zur Identifizierung von vergifteten Pipeline-Ausführungs-Schwachstellen und Geheimnissen in Actions-Artefakten in öffentlichen Repositories.

GitHub empfiehlt, dass selbstgehostete Runner nur für private Repositories verwendet werden sollten, dennoch gibt es Tausende von Organisationen, die selbstgehostete Runner einsetzen. Standardkonfigurationen sind oft anfällig, und Gato nutzt eine Mischung aus Workflow-Datei-Analyse und Run-Log-Analyse, um potenziell angreifbare Repositories im großen Maßstab zu identifizieren.

Version 1.7

Gato Version 1.7 führt den Actions Artifacts Secrets Scanner ein.

Der Actions Artifacts Secrets Scanner durchsucht GitHub Actions Workflow-Artefakte nach Geheimnissen. Forscher von Praetorian haben den Scanner genutzt, um kritische Schwachstellen in mehreren bekannten Open-Source-Projekten zu identifizieren. Details zu diesen Schwachstellen werden veröffentlicht, sobald die Offenlegungsprozesse abgeschlossen sind. Diese Arbeit wurde ursprünglich durch Forschung von Palo Alto Networks inspiriert.

Der Actions Artifacts Secrets Scanner führt die folgenden Aktionen aus:

  1. Lädt GitHub Actions Workflow-Artefakte aus dem Ziel-Repository herunter
  2. Extrahiert die heruntergeladenen Artefakte rekursiv
  3. Scannt die Artefakte mit NoseyParker auf Geheimnisse
  4. Meldet die Ergebnisse

NoseyParker muss im $PATH des Systems installiert sein, auf dem der Actions Artifacts Secrets Scanner ausgeführt wird.

Geheimnisse in öffentlichen Workflow-Artefakten können viele Fehlalarme enthalten. Standardmäßig schließt der Actions Artifacts Secrets Scanner Regeln und Ergebnisse aus, die mit häufigen Fehlalarmen verbunden sind. Um alle Ergebnisse der Geheimnisscans einzuschließen, können Sie das Flag --include_all_artifact_secrets verwenden.

Hier ist ein Beispielbefehl, der den Actions Artifacts Secrets Scanner auf einer Liste von GitHub-Organisationen ausführt, die Selbsthost-Runner-Enumeration deaktiviert, alle Artefakt-Geheimnis-Ergebnisse einschließt und in eine JSON-Datei ausgibt.

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

Standardmäßig legt der Actions Artifacts Secrets Scanner die folgenden Einschränkungen fest, um die Zeit für ein einzelnes Repository zu reduzieren:

  • Lädt nur ein Artefakt pro Namen herunter
  • Lädt maximal 50 Artefakte pro Repository herunter
  • Lädt maximal 10 Dateien größer als 536 MB herunter
  • Lädt keine Dateien herunter, die größer als 2,68 GB sind

Diese Einschränkungen wurden so optimiert, dass der Actions Artifacts Secrets Scanner die Top-200-GitHub-Organisationen innerhalb von 48 Stunden scannen kann. Wenn Sie diese Einschränkungen ändern möchten, können Sie sie in der Funktion scan_wf_artifacts() von gato/enumerate/repository.py aktualisieren.

Neue Funktionen

  • Actions Artifacts Secrets Scanner hinzugefügt
  • Unterstützung zum Ausführen von Modulen auf einer Liste von GitHub-Organisationen
  • Möglichkeit, die Selbsthost-Runner-Enumeration zu deaktivieren
  • Option zum Deaktivieren von Pausen (Sleep)
  • Unterscheidung zwischen öffentlichen und privaten Repos in der Ausgabe
  • Mehrere Fehlerbehebungen
  • Enumeration-Unterstützung für GitHub App Installation Tokens

Für wen ist es geeignet?

  • Sicherheitsingenieure, die verstehen möchten, welchen Zugriff ein kompromittiertes klassisches PAT einem Angreifer bieten könnte
  • Blue Teams, die Erkennungen für Angriffe auf selbstgehostete Runner entwickeln möchten
  • Red Teamers
  • Bug-Bounty-Jäger, die versuchen möchten, RCE auf Organisationen zu beweisen, die selbstgehostete Runner einsetzen

Funktionen

  • Enumeration klassischer GitHub PAT-Berechtigungen
  • Enumeration basierend auf der GitHub Code Search API
  • SourceGraph-Such-Enumeration
  • Parsen von GitHub Action Run Logs zur Identifizierung selbstgehosteter Runner
  • Bulk-Repo-Sparse-Clone-Funktionen
  • Parsen von GitHub Action Workflows
  • Automatische Erstellung von Fork-PRs zur Befehlsausführung
  • Automatische Erstellung von Workflows zur Befehlsausführung
  • Automatische Exfiltration von Workflow-Geheimnissen
  • SOCKS5-Proxy-Unterstützung
  • HTTPS-Proxy-Unterstützung
  • Scannen von GitHub Actions Workflow-Artefakten auf Geheimnisse

Erste Schritte

Installation

Gato unterstützt OS X und Linux mit mindestens Python 3.7.

Um das Tool zu installieren, klonen Sie einfach das Repository und verwenden Sie pip install. Wir empfehlen, dies in einer virtuellen Umgebung durchzuführen.

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

Gato erfordert außerdem, dass git in Version 2.27 oder höher installiert und im PATH des Systems vorhanden ist. Um das Fork-PR-Angriffsmodul auszuführen, muss sed ebenfalls installiert und im System-Pfad vorhanden sein.

Entwicklungszweig (Dev Branch)

Wir pflegen einen Entwicklungszweig, der neuere Gato-Funktionen enthält, die noch nicht zum Hauptzweig hinzugefügt wurden. Es besteht eine erhöhte Wahrscheinlichkeit, auf Fehler zu stoßen; dennoch führen wir unsere Integrationstestsuite auf dem dev-Zweig aus, sodass es keine offensichtlichen Fehler geben sollte.

Wenn Sie den dev-Zweig verwenden möchten, checken Sie ihn einfach vor der Ausführung von pip install aus – das war's!

Sollten Sie auf Fehler für Ihren spezifischen Anwendungsfall stoßen, eröffnen Sie bitte ein Issue!

Verwendung

Nach der Installation des Tools kann es durch Ausführen von gato oder praetorian-gato gestartet werden.

Wir empfehlen, die Parameter für das Basistool mit gato -h anzuzeigen und die Parameter für jedes der Module des Tools durch Ausführen der folgenden Befehle anzusehen:

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

Das Tool benötigt ein klassisches GitHub- oder App-Installationstoken, um zu funktionieren. Um eines zu erstellen, melden Sie sich bei GitHub an, gehen Sie zu GitHub Developer Settings und wählen Sie Generate New Token und dann Generate new token (classic).

Setzen Sie nach der Erstellung dieses Tokens die Umgebungsvariable GH_TOKEN in Ihrer Shell, indem Sie export GH_TOKEN=<IHR_ERSTELLTES_TOKEN> ausführen. Alternativ speichern Sie das Token in einem sicheren Passwort-Manager und geben Sie es ein, wenn die Anwendung Sie dazu auffordert.

Wenn Sie ein GitHub App Installation Token erstellen, benötigt die App mindestens Actions:read und Contents:read, um die Enumeration-Module auszuführen.

Informationen zur Fehlerbehebung und weitere Details, wie die Installation im Entwicklermodus oder das Ausführen von Komponententests, finden Sie im Wiki.

Dokumentation

Weitere Informationen finden Sie im Wiki sowie OpSec-Überlegungen für die verschiedenen Module des Tools!

Fehler

Wenn Sie glauben, einen Fehler in der Software gefunden zu haben, eröffnen Sie bitte ein Issue, das die Ausgabe des Tools sowie die Aktionen enthält, die Sie ausführen wollten.

Wenn Sie sich nicht sicher sind, ob das Verhalten ein Fehler ist, nutzen Sie stattdessen den Diskussionsbereich!

Mitwirken

Beiträge sind willkommen! Bitte lesen Sie unsere Designmethodik und Codierungsstandards durch, bevor Sie an einer neuen Funktion arbeiten!

Wenn Sie wesentliche Änderungen am Tool vorschlagen, eröffnen Sie bitte ein Issue, um ein Gespräch über die Beweggründe für die Änderungen zu beginnen.

Lizenz

Gato ist unter der Apache License, Version 2.0 lizenziert.

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.
Tool herunterladen