
Strumento di enumerazione e attacco per GitHub Self-Hosted Runner
Gato, o GitHub Attack Toolkit, è uno strumento di enumerazione e attacco che consente sia ai blue teamer che ai professionisti della sicurezza offensiva di valutare il raggio d'azione di un personal access token compromesso all'interno di un'organizzazione GitHub.
Lo strumento consente inoltre di cercare ed enumerare in modo approfondito i repository pubblici che utilizzano self-hosted runner. GitHub raccomanda che i self-hosted runner vengano utilizzati solo per repository privati, tuttavia esistono migliaia di organizzazioni che utilizzano self-hosted runner.
Gato supporta OS X e Linux con almeno Python 3.7.
Per installare lo strumento, è sufficiente clonare il repository e usare pip install.
Consigliamo di eseguire questa operazione all'interno di un virtual environment.
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .
Gato richiede inoltre che la versione 2.27 o superiore di git sia installata e
presente nel PATH del sistema. Per eseguire il modulo di attacco fork PR, anche sed deve
essere installato e presente nel path del sistema.
Dopo aver installato lo strumento, può essere avviato eseguendo gato o
praetorian-gato.
Consigliamo di visualizzare i parametri dello strumento di base usando gato -h, e i
parametri di ciascuno dei moduli dello strumento eseguendo quanto segue:
gato search -hgato enum -hgato attack -hLo strumento richiede un GitHub classic PAT 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=<YOUR_CREATED_TOKEN>. In alternativa, conserva
il token all'interno di un gestore di password sicuro e inseriscilo quando l'applicazione
te lo richiede.
Per la risoluzione dei problemi e ulteriori dettagli, come l'installazione in modalità sviluppatore o l'esecuzione degli unit test, consulta la wiki.
Consulta la wiki per la documentazione dettagliata, nonché le considerazioni di OpSec per i vari moduli dello strumento!
Se ritieni di aver identificato un bug all'interno del software, apri una 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 discussions!
I contributi sono benvenuti! Ti invitiamo a consultare la nostra metodologia di progettazione e i nostri standard di codifica prima di lavorare a una nuova funzionalità!
Inoltre, se stai proponendo modifiche significative allo strumento, apri una issue apri una issue per avviare una conversazione sulla motivazione delle modifiche.
Gato è distribuito sotto la Apache License, Version 2.0.
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.