Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gato — Strumento di Enumerazione e Attacco per Pipeline GitHub Actions | Kitploit
Strumenti/GitHubGitHub/praetorian-inc/gato
RicognizioneScanner di VulnerabilitàExploitRaccolta InformazioniPost-ExploitPenetration TestingDevSecOpsRilevamento SegretiSicurezza della Supply ChainRed TeamingArchived
GitHub
913 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
praetorian-inc/gato

gato

Strumento di Enumerazione e Attacco per Pipeline GitHub Actions

Vedi Repository

[!WARNING]

Questo repository è deprecato e archiviato

Gato è stato sostituito da Trajan, lo strumento multi-piattaforma di Praetorian per il rilevamento delle vulnerabilità CI/CD e l'automazione degli attacchi. Trajan consolida le capacità di attacco CI/CD di GitHub Actions (Gato) e GitLab (Glato) in un unico progetto mantenuto attivamente.

Per favore migra a Trajan: https://github.com/praetorian-inc/trajan

Non verranno effettuati ulteriori aggiornamenti, correzioni di bug o patch di sicurezza a questo repository.


Supported Python versions

Gato (GitHub Attack Toolkit)

gato

Gato, o GitHub Attack Toolkit, è uno strumento di enumerazione e attacco che consente sia ai blue team che ai professionisti della sicurezza offensiva di identificare e sfruttare le vulnerabilità delle pipeline all'interno dei repository pubblici e privati di un'organizzazione GitHub.

Lo strumento dispone di funzionalità post-exploitation per sfruttare un token di accesso personale compromesso, oltre a funzionalità di enumerazione per identificare vulnerabilità di esecuzione della pipeline avvelenata e segreti negli artefatti delle azioni nei repository pubblici.

GitHub raccomanda che i runner self-hosted siano utilizzati solo per repository privati, tuttavia ci sono migliaia di organizzazioni che utilizzano runner self-hosted. Le configurazioni predefinite sono spesso vulnerabili e Gato utilizza una combinazione di analisi dei file di workflow e dei log di esecuzione per identificare repository potenzialmente vulnerabili su larga scala.

Versione 1.7

La versione 1.7 di Gato introduce lo Scanner di Segreti negli Artefatti delle Azioni.

Lo Scanner di Segreti negli Artefatti delle Azioni enumera gli artefatti dei workflow di GitHub Actions alla ricerca di segreti. I ricercatori di Praetorian hanno utilizzato lo scanner per identificare vulnerabilità critiche in diversi importanti progetti open-source. I dettagli di queste vulnerabilità saranno rilasciati una volta completati i processi di divulgazione. Questo lavoro è stato inizialmente ispirato dalla ricerca di Palo Alto Networks.

Lo Scanner di Segreti negli Artefatti delle Azioni esegue le seguenti operazioni:

  1. Scarica gli artefatti dei workflow di GitHub Actions dal repository target
  2. Estrae ricorsivamente gli artefatti scaricati
  3. Scansiona gli artefatti alla ricerca di segreti con NoseyParker
  4. Riporta i risultati

NoseyParker deve essere installato nel $PATH del sistema che esegue lo Scanner di Segreti negli Artefatti delle Azioni.

I segreti negli artefatti dei workflow pubblici possono contenere molti falsi positivi. Per impostazione predefinita, lo Scanner di Segreti negli Artefatti delle Azioni esclude regole e risultati associati a falsi positivi comuni. Per includere tutti i risultati della scansione dei segreti, puoi utilizzare il flag --include_all_artifact_secrets.

Ecco un comando di esempio che esegue lo Scanner di Segreti negli Artefatti delle Azioni su un elenco di organizzazioni GitHub, disabilita l'enumerazione dei runner self-hosted, include tutti i risultati dei segreti negli artefatti e produce l'output in un file JSON.

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

Per impostazione predefinita, lo Scanner di Segreti negli Artefatti delle Azioni impone le seguenti limitazioni per ridurre il tempo speso su un singolo repository:

  • Scarica solo un artefatto per nome
  • Scarica un massimo di 50 artefatti per repository
  • Scarica un massimo di 10 file di dimensioni superiori a 536 MB
  • Non scarica file di dimensioni superiori a 2,68 GB

Questi vincoli sono stati ottimizzati in modo che lo Scanner di Segreti negli Artefatti delle Azioni possa scansionare le prime 200 organizzazioni GitHub entro 48 ore. Se desideri modificare questi vincoli, puoi aggiornarli nella funzione scan_wf_artifacts() di gato/enumerate/repository.py.

Nuove Funzionalità

  • Aggiunto lo Scanner di Segreti negli Artefatti delle Azioni
  • Supporto per eseguire moduli su un elenco di organizzazioni GitHub
  • Possibilità di disabilitare l'enumerazione dei runner self-hosted
  • Opzione per disabilitare la sospensione
  • Diferenzia tra repository pubblici e privati nell'output
  • Diverse correzioni di bug
  • Supporto per l'enumerazione dei token di installazione delle app GitHub

A chi è rivolto?

  • Ingegneri della sicurezza che vogliono capire il livello di accesso che un PAT classico compromesso potrebbe fornire a un attaccante
  • Blue team che vogliono costruire rilevamenti per attacchi ai runner self-hosted
  • Red Teamers
  • Cacciatori di bug bounty che vogliono provare a dimostrare RCE su organizzazioni che utilizzano runner self-hosted

Funzionalità

  • Enumerazione dei privilegi del PAT classico di GitHub
  • Enumerazione basata sull'API di ricerca codice di GitHub
  • Enumerazione tramite ricerca SourceGraph
  • Analisi dei log di esecuzione delle azioni GitHub per identificare runner self-hosted
  • Funzionalità di clone sparso in blocco dei repository
  • Analisi dei workflow delle azioni GitHub
  • Creazione automatica di PR fork per esecuzione di comandi
  • Creazione automatica di workflow per esecuzione di comandi
  • Esfiltrazione automatica dei segreti dei workflow
  • Supporto proxy SOCKS5
  • Supporto proxy HTTPS
  • Scansione dei segreti negli artefatti dei workflow di GitHub Actions

Per Iniziare

Installazione

Gato supporta OS X e Linux con almeno Python 3.7.

Per installare lo strumento, basta clonare il repository e usare pip install. Raccomandiamo di farlo all'interno di un ambiente virtuale.

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

Gato richiede anche che git versione 2.27 o superiore sia installato e presente nel PATH di sistema. Per eseguire il modulo di attacco fork PR, sed deve essere installato e presente nel PATH di sistema.

Ramo Dev

Manteniamo un ramo di sviluppo che contiene funzionalità più recenti di Gato non ancora aggiunte al ramo principale. C'è una maggiore probabilità di incontrare bug; tuttavia, eseguiamo comunque la nostra suite di test di integrazione sul ramo dev, quindi non dovrebbero esserci bug palesi.

Se vuoi usare il ramo dev, basta passare ad esso prima di eseguire pip install - tutto qui!

Se incontri bug per il tuo caso d'uso specifico, sentiti libero di aprire un issue!

Utilizzo

Dopo aver installato lo strumento, può essere lanciato eseguendo gato o praetorian-gato.

Raccomandiamo di visualizzare i parametri per lo strumento base usando gato -h, e i parametri per ciascun modulo dello strumento eseguendo quanto segue:

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

Lo strumento richiede un token di accesso personale classico di GitHub o un token di installazione dell'app per funzionare. Per crearne uno, accedi a GitHub e vai su GitHub Developer Settings e seleziona Generate New Token e poi Generate new token (classic).

Dopo aver creato questo token, imposta la variabile d'ambiente GH_TOKEN nella tua shell eseguendo export GH_TOKEN=<IL_TUO_TOKEN_CREATO>. In alternativa, conserva il token in un gestore di password sicuro e inseriscilo quando l'applicazione te lo richiede.

Se stai creando un token di installazione dell'app GitHub, l'app deve avere almeno i permessi Actions:read e Contents:read per eseguire i moduli di enumerazione.

Per la risoluzione dei problemi e ulteriori dettagli, come l'installazione in modalità sviluppatore o l'esecuzione di test unitari, consulta il wiki.

Documentazione

Consulta il wiki per la documentazione dettagliata, nonché le considerazioni su OpSec per i vari moduli dello strumento!

Bug

Se ritieni di aver identificato un bug nel software, apri un issue contenente l'output dello strumento, insieme alle azioni che stavi cercando di eseguire.

Se non sei sicuro che il comportamento sia un bug, usa invece la sezione delle discussioni!

Contribuire

I contributi sono benvenuti! Per favore, rivedi la nostra metodologia di progettazione e gli standard di codifica prima di lavorare su una nuova funzionalità!

Inoltre, se proponi modifiche significative allo strumento, apri un issue per avviare una conversazione sulla motivazione delle modifiche.

Licenza

Gato è concesso in licenza secondo 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.
Scarica lo strumento