
Identifique rutas de escalada de privilegios dentro y a través de diferentes nubes

Esta herramienta obtiene recursos de diferentes aplicaciones cloud/saas centrándose en permisos para identificar rutas de escalada de privilegios y permisos peligrosos en las configuraciones cloud/saas. Tenga en cuenta que PurplePanda busca tanto rutas de escalada de privilegios dentro de una plataforma como entre plataformas.
El nombre proviene del animal Panda Rojo. Este panda come guisantes, al igual que Purple Panda, que puede ingerir claves API/tokens encontrados por estos PEASS. El color fue cambiado a púrpura porque esta herramienta está pensada principalmente para Equipos Púrpura (ya que puede ser muy útil tanto para Equipos Azules como Rojos).
Cada carpeta dentro de /intel define una plataforma que puede ser enumerada y contiene un archivo README.md que explica cómo usar ese módulo específico.
Descarga Neo4jDesktop y crea una base de datos. Luego exporta las variables de entorno PURPLEPANDA_NEO4J_URL y PURPLEPANDA_PWD con la URL de la base de datos neo4j y la contraseña.
Si quieres que shodan se utilice con IPs públicas descubiertas durante la enumeración, exporta una variable de entorno llamada SHODAN_KEY con una clave api válida de shodan.
Luego solo instala y ejecuta el programa indicando las plataformas que deseas enumerar separadas por comas de la siguiente manera.
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 tiene 2 modos de análisis:
-e (enumerate): Este es el principal, intentará recopilar datos y analizarlos.-a (analyze): Este realizará un análisis rápido de las credenciales proporcionadas.Revisa cómo usar e inspeccionar los datos recopilados por PurplePanda:
Usa credenciales para cada plataforma con al menos acceso de lectura de administrador a todos los recursos de la plataforma. Esto te ayudará a ver exactamente las rutas de privesc que pueden ser abusadas dentro de tus configuraciones en cada plataforma y a través de
PurplePanda también está diseñado para ser usado por Equipos Rojos. En general, las plataformas cloud/saas no darán a todos acceso de lectura a la configuración de la plataforma, por eso PurplePanda soporta el uso de varias claves para la misma plataforma, con el fin de intentar enumerar todo con todas las claves que hayas comprometido y tener la vista más precisa de la configuración de la plataforma.
Usa el parámetro -d indicando un directorio. Luego, PurplePanda escribirá en este directorio varios análisis interesantes en formato csv de la información obtenida de todas las plataformas. La recomendación es encontrar cosas interesantes e inesperadas en esos archivos y luego pasar a analizar esos casos interesantes con los grafos.
Cada carpeta dentro de /intel define una plataforma que puede ser enumerada y contiene un archivo README.md que explica cómo usar ese módulo específico. Además, cada carpeta también contiene un archivo HOW_TO_USE.md y un archivo QUERIES.md.
En el archivo HOW_TO_USE.md puedes encontrar las mejores consultas para realizar una investigación sobre cómo escalar privilegios (para Equipos Púrpura, Azules y Rojos).
En el archivo QUERIES.md encontrarás todas las consultas propuestas para investigar los datos más fácilmente.
Sigue las instrucciones indicadas en VISUALIZE_GRAPHS.md
En la carpeta raíz y en cada carpeta dentro de intel/ encontrarás un archivo TODO.md. En esos archivos puedes encontrar cómo puedes ayudar. Solo envía un PR con la adición.
PRs con correcciones también son bienvenidos :)
Además, si tienes otras ideas que no están en esos archivos TODO, siéntete libre de enviar un PR.
By Carlos PolopTM