> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-web/aws-s3.md).

# AWS S3

## Enumeration

Plusieurs outils présentés dans la partie "OSINT/Recon" => "Cloud" vous permettrons d'enumérer les buckets AWS S3 pour une entreprise.

{% content-ref url="/pages/qX4GlS5yoTnKI9IZGGcY" %}
[Cloud](/osint-recon/cloud.md)
{% endcontent-ref %}

### Sites:

* <https://buckets.grayhatwarfare.com/>

### Manuel

1. Rechercher dans les réponses HTTP des headers "Amazon S3"
2. Rechercher des urls random si elles donnent ou non un code 404 (bruteforce)
3. Essayer d'accèder à la racine de l'url (Si le directory indexing est autorisé, vous pourrez retrouver le nom du bucket).
4. [Google dork](/osint-recon/manuel-dorks/google-dorks.md)
5. Rechercher dans les metadatas et les liens dans le code source.
6. Utiliser la waybackmachine.

## Exploitation

1. Accès anonyme
2. listing de fichier arbitraire
3. File upload => File overwrite (autorisé par défaut)
4. Copie / Deplacement / Supression des données
5. Lecture / Ecriture arbitraire des objets

Interaction avec les S3 Buckets via AWS-CLI:

CP = COPY, MV = MOVE, RM = REMOVE

exemples:

```
aws s3api get-bucket-acl --bucket <BucketName> --no-sign-request
aws s3 ls s3://<BuckketName> --no-sign-request
aws s3 mv test.txt s3://<BucketName> --no-sign-request
aws s3 cp test.txt s3://<BucketName> --no-sign-request
aws s3 rm test.txt s3://<BucketName> --no-sign-request
```

## File Overwrite Amazon S3

Les buckets Amazon s3 autorisent par défaut le File Overwrite. Il est donc possible de réécrire les fichiers appelés par l'application testée ce qui peut mener à différents exploit tels que des xss en réécrivant un fichier .js par exemple.

## Ressources

{% embed url="<https://hackerone.com/reports/1598347>" %}
