
Identifier les chemins d'escalade de privilèges au sein et entre différents clouds

Cet outil récupère des ressources de différentes applications cloud/saas en se concentrant sur les permissions afin d'identifier les chemins d'escalade de privilèges et les permissions dangereuses dans les configurations cloud/saas. Notez que PurplePanda recherche à la fois les chemins d'escalade de privilèges au sein d'une plateforme et entre plateformes.
Le nom vient de l'animal Panda Roux. Ce panda mange des pois, tout comme Purple Panda, qui peut ingérer les clés API / jetons trouvés par ces PEASS. La couleur a été changée en violet parce que cet outil est principalement destiné aux Équipes Pourpres (car il peut être très utile à la fois pour les Équipes Bleues et Rouges).
Chaque dossier dans /intel définit une plateforme qui peut être énumérée et contient un fichier README.md expliquant comment utiliser ce module spécifique.
Téléchargez Neo4jDesktop et créez une base de données. Ensuite, exportez les variables d'environnement PURPLEPANDA_NEO4J_URL et PURPLEPANDA_PWD avec l'URL de la base de données neo4j et le mot de passe.
Si vous souhaitez utiliser shodan avec les IP publiques découvertes lors de l'énumération, exportez une variable d'environnement appelée SHODAN_KEY avec une clé API valide de shodan.
Ensuite, installez et lancez le programme en indiquant les plateformes que vous souhaitez énumérer, séparées par des virgules, comme suit.
git clone https://github.com/carlospolop/PurplePanda
cd PurplePanda
python3 -m venv .
source bin/activate
python3 -m pip install -r requirements.txt
export PURPLEPANDA_NEO4J_URL="bolt://neo4j@localhost:7687"
export PURPLEPANDA_PWD="s3cr3tpassword"
# Install this if you are going to use GCP
gcloud components install gke-gcloud-auth-plugin
python3 main.py -h # Get help
python3 main.py -e -p google,github,k8s --github-only-org --k8s-get-secret-values --gcp-get-secret-values # Enumerate google, github and k8s
# Consider adding the API keys in the Dockerfile
docker rm -f purplepanda
docker build --tag=purplepanda .
# Execute -h
## CHange -h for the params you want to run purplepanda with
docker run -t \
-e PURPLEPANDA_NEO4J_URL="bolt://[email protected]:7687" \
-e PURPLEPANDA_PWD="s3cr3tpassword" \
-e GOOGLE_DISCOVERY=... \
-e GITHUB_DISCOVERY=... \
-e K8S_DISCOVERY=... \
-e CONCOURSE_DISCOVERY=... \
-e CIRCLECI_DISCOVERY=... \
purplepanda python3 main.py -h
## -t is needed to see the output properly
## If you are using Neo4Desktop to connec to the DB use the domain host.docker.internal
## You might need to use the option '-v' to mount files with configurations
PurplePanda a 2 modes d'analyse :
-e (énumération) : C'est le principal, il essaiera de collecter des données et de les analyser.-a (analyse) : Cela effectuera une analyse rapide des informations d'identification fournies.Découvrez comment utiliser et inspecter les données collectées par PurplePanda :
Utilisez des identifiants pour chaque plateforme avec au moins un accès en lecture admin à toutes les ressources de la plateforme. Cela vous aidera à voir exactement les chemins d'escalade de privilèges qui peuvent être abusés dans vos configurations sur chaque plateforme et entre
PurplePanda est également conçu pour être utilisé par les Équipes Rouges. En général, les plateformes cloud/saas ne donneront pas à tout le monde un accès en lecture à la configuration de la plateforme, c'est pourquoi PurplePanda supporte l'utilisation de plusieurs clés pour la même plateforme, afin d'essayer d'énumérer tout avec toutes les clés que vous avez compromises et d'avoir la vue la plus précise de la configuration de la plateforme.
Utilisez le paramètre -d en indiquant un répertoire. Ensuite, PurplePanda écrira dans ce répertoire plusieurs analyses intéressantes au format csv des informations obtenues depuis toutes les plateformes. La recommandation est de trouver des choses intéressantes et inattendues dans ces fichiers puis de passer à l'analyse de ces cas intéressants avec les graphes.
Chaque dossier dans /intel définit une plateforme qui peut être énumérée et contient un fichier README.md expliquant comment utiliser ce module spécifique. De plus, chaque dossier contient également un fichier HOW_TO_USE.md et un fichier QUERIES.md.
Dans le fichier HOW_TO_USE.md, vous pouvez trouver les meilleures requêtes pour mener une enquête sur la manière d'escalader les privilèges (pour les Équipes Pourpres, Bleues et Rouges).
Dans le fichier QUERIES.md, vous trouverez toutes les requêtes proposées pour investiguer les données plus facilement.
Suivez les instructions indiquées dans VISUALIZE_GRAPHS.md
Dans le dossier racine et dans chaque dossier à l'intérieur de intel/ vous trouverez un fichier TODO.md. Vous pouvez trouver dans ces fichiers comment vous pouvez aider. Il suffit d'envoyer une PR avec l'ajout.
Les PR avec des corrections sont également les bienvenues :)
De plus, si vous avez d'autres idées qui ne figurent pas dans ces fichiers TODO, n'hésitez pas à envoyer une PR.
Par Carlos PolopTM