mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-22 23:26:41 -08:00
104 lines
4.4 KiB
Markdown
104 lines
4.4 KiB
Markdown
# GCP - Cloud Functions Unauthenticated Enum
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
## Cloud Functions
|
|
|
|
More information about Cloud Functions can be found in:
|
|
|
|
{% content-ref url="../gcp-services/gcp-cloud-functions-enum.md" %}
|
|
[gcp-cloud-functions-enum.md](../gcp-services/gcp-cloud-functions-enum.md)
|
|
{% endcontent-ref %}
|
|
|
|
### Brute Force URls
|
|
|
|
**Brute Force the URL format**:
|
|
|
|
* `https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>`
|
|
|
|
It's easier if you know project names.
|
|
|
|
Check this page for some tools to perform this brute force:
|
|
|
|
{% content-ref url="./" %}
|
|
[.](./)
|
|
{% endcontent-ref %}
|
|
|
|
### Enumerate Open Cloud Functions
|
|
|
|
With the following code [taken from here](https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_misc/-/blob/master/find_open_functions.sh) you can find Cloud Functions that permit unauthenticated invocations.
|
|
|
|
```bash
|
|
#!/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
|
|
```
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|