GCP - Cloud Functions Unauthenticated Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olacak şekilde AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Cloud Functions

Cloud Functions hakkında daha fazla bilgi şurada bulunabilir:

pageGCP - Cloud Functions Enum

URL'leri Kaba Kuvvet Yöntemiyle Bulma

URL formatını kaba kuvvet yöntemiyle bulun:

  • https://<bölge>-<proje-gcp-adı>.cloudfunctions.net/<func_adı>

Proje adlarını biliyorsanız daha kolaydır.

Bu sayfada bu kaba kuvvet yöntemini gerçekleştirmek için bazı araçları kontrol edin:

pageGCP - Unauthenticated Enum & Access

Açık Cloud Functions'ları Sıralama

Aşağıdaki kodu buradan alarak yetkilendirilmemiş çağrılara izin veren Cloud Functions'ları bulabilirsiniz.

#!/bin/bash

############################
# Run this tool to find Cloud Functions that permit unauthenticated invocations
# anywhere in your GCP organization.
# Enjoy!
############################

for proj in $(gcloud projects list --format="get(projectId)"); do
echo "[*] scraping project $proj"

enabled=$(gcloud services list --project "$proj" | grep "Cloud Functions API")

if [ -z "$enabled" ]; then
continue
fi


for func_region in $(gcloud functions list --quiet --project "$proj" --format="value[separator=','](NAME,REGION)"); do
# drop substring from first occurence of "," to end of string.
func="${func_region%%,*}"
# drop substring from start of string up to last occurence of ","
region="${func_region##*,}"
ACL="$(gcloud functions get-iam-policy "$func" --project "$proj" --region "$region")"

all_users="$(echo "$ACL" | grep allUsers)"
all_auth="$(echo "$ACL" | grep allAuthenticatedUsers)"

if [ -z "$all_users" ]
then
:
else
echo "[!] Open to all users: $proj: $func"
fi

if [ -z "$all_auth" ]
then
:
else
echo "[!] Open to all authenticated users: $proj: $func"
fi
done
done
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Last updated