Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:20:36 +00:00
parent 4ffa248b02
commit 0a742969af
209 changed files with 1658 additions and 1652 deletions

View File

@@ -1,12 +1,12 @@
# Cloudflare Security
# Sécurité Cloudflare
{{#include ../../banners/hacktricks-training.md}}
Dans un compte Cloudflare, il y a certains **paramètres généraux et services** qui peuvent être configurés. Sur cette page, nous allons **analyser les paramètres de sécurité liés à chaque section :**
Dans un compte Cloudflare, il y a certains **paramètres généraux et services** qui peuvent être configurés. Sur cette page, nous allons **analyser les paramètres liés à la sécurité de chaque section :**
<figure><img src="../../images/image (117).png" alt=""><figcaption></figcaption></figure>
## Websites
## Sites Web
Examinez chacun avec :
@@ -14,9 +14,9 @@ Examinez chacun avec :
cloudflare-domains.md
{{#endref}}
### Domain Registration
### Enregistrement de domaine
- [ ] Dans **`Transfer Domains`**, vérifiez qu'il n'est pas possible de transférer un domaine.
- [ ] Dans **`Transférer des domaines`**, vérifiez qu'il n'est pas possible de transférer un domaine.
Examinez chacun avec :
@@ -24,7 +24,7 @@ Examinez chacun avec :
cloudflare-domains.md
{{#endref}}
## Analytics
## Analytique
_Je n'ai rien trouvé à vérifier pour un examen de sécurité de configuration._
@@ -32,12 +32,12 @@ _Je n'ai rien trouvé à vérifier pour un examen de sécurité de configuration
Sur chaque page de Cloudflare :
- [ ] Vérifiez les **informations sensibles** dans le **`Build log`**.
- [ ] Vérifiez les **informations sensibles** dans le **`Journal de construction`**.
- [ ] Vérifiez les **informations sensibles** dans le **dépôt Github** assigné aux pages.
- [ ] Vérifiez le potentiel compromis du dépôt github via **workflow command injection** ou compromis de `pull_request_target`. Plus d'infos sur la [**page de sécurité Github**](../github-security/).
- [ ] Vérifiez le potentiel compromis du dépôt github via **injection de commande de workflow** ou compromis de `pull_request_target`. Plus d'infos sur la [**page de sécurité Github**](../github-security/).
- [ ] Vérifiez les **fonctions vulnérables** dans le répertoire `/fuctions` (s'il y en a), vérifiez les **redirections** dans le fichier `_redirects` (s'il y en a) et les **en-têtes mal configurés** dans le fichier `_headers` (s'il y en a).
- [ ] Vérifiez les **vulnérabilités** dans la **page web** via **blackbox** ou **whitebox** si vous pouvez **accéder au code**.
- [ ] Dans les détails de chaque page `/<page_id>/pages/view/blocklist/settings/functions`. Vérifiez les **informations sensibles** dans les **`Environment variables`**.
- [ ] Dans les détails de chaque page `/<page_id>/pages/view/blocklist/settings/functions`. Vérifiez les **informations sensibles** dans les **`Variables d'environnement`**.
- [ ] Dans la page de détails, vérifiez également la **commande de construction** et le **répertoire racine** pour des **injections potentielles** pouvant compromettre la page.
## **Workers**
@@ -45,14 +45,14 @@ Sur chaque page de Cloudflare :
Sur chaque worker de Cloudflare, vérifiez :
- [ ] Les déclencheurs : Qu'est-ce qui fait déclencher le worker ? Un **utilisateur peut-il envoyer des données** qui seront **utilisées** par le worker ?
- [ ] Dans les **`Settings`**, vérifiez les **`Variables`** contenant des **informations sensibles**.
- [ ] Dans les **`Paramètres`**, vérifiez les **`Variables`** contenant des **informations sensibles**.
- [ ] Vérifiez le **code du worker** et recherchez des **vulnérabilités** (surtout dans les endroits où l'utilisateur peut gérer l'entrée).
- Vérifiez les SSRFs retournant la page indiquée que vous pouvez contrôler.
- Vérifiez les XSS exécutant du JS à l'intérieur d'une image svg.
- Il est possible que le worker interagisse avec d'autres services internes. Par exemple, un worker peut interagir avec un bucket R2 stockant des informations obtenues à partir de l'entrée. Dans ce cas, il serait nécessaire de vérifier quelles capacités le worker a sur le bucket R2 et comment cela pourrait être abusé à partir de l'entrée utilisateur.
> [!WARNING]
> Notez qu'un **Worker reçoit par défaut une URL** telle que `<worker-name>.<account>.workers.dev`. L'utilisateur peut le définir sur un **sous-domaine**, mais vous pouvez toujours y accéder avec cette **URL originale** si vous la connaissez.
> Notez qu'en règle générale, un **Worker reçoit une URL** telle que `<worker-name>.<account>.workers.dev`. L'utilisateur peut le définir sur un **sous-domaine**, mais vous pouvez toujours y accéder avec cette **URL d'origine** si vous la connaissez.
## R2
@@ -68,10 +68,10 @@ TODO
TODO
## Security Center
## Centre de sécurité
- [ ] Si possible, exécutez un **scan `Security Insights`** et un **scan `Infrastructure`**, car ils **mettront en évidence** des informations intéressantes sur la **sécurité**.
- [ ] Vérifiez simplement ces informations pour des erreurs de configuration de sécurité et des informations intéressantes.
- [ ] Vérifiez simplement **ces informations** pour des erreurs de configuration de sécurité et des informations intéressantes.
## Turnstile
@@ -83,51 +83,51 @@ TODO
cloudflare-zero-trust-network.md
{{#endref}}
## Bulk Redirects
## Redirections en masse
> [!NOTE]
> Contrairement aux [Dynamic Redirects](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), les [**Bulk Redirects**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) sont essentiellement statiques — ils ne prennent pas en charge les opérations de remplacement de chaîne ou les expressions régulières. Cependant, vous pouvez configurer des paramètres de redirection d'URL qui affectent leur comportement de correspondance d'URL et leur comportement d'exécution.
> Contrairement aux [Redirections dynamiques](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), les [**Redirections en masse**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) sont essentiellement statiques — elles ne prennent pas en charge les opérations de remplacement de chaîne ou les expressions régulières. Cependant, vous pouvez configurer des paramètres de redirection d'URL qui affectent leur comportement de correspondance d'URL et leur comportement d'exécution.
- [ ] Vérifiez que les **expressions** et **exigences** pour les redirections **ont du sens**.
- [ ] Vérifiez que les **expressions** et les **exigences** pour les redirections **ont du sens**.
- [ ] Vérifiez également les **points de terminaison cachés sensibles** qui contiennent des informations intéressantes.
## Notifications
- [ ] Vérifiez les **notifications.** Ces notifications sont recommandées pour la sécurité :
- `Usage Based Billing`
- `HTTP DDoS Attack Alert`
- `Layer 3/4 DDoS Attack Alert`
- `Advanced HTTP DDoS Attack Alert`
- `Advanced Layer 3/4 DDoS Attack Alert`
- `Flow-based Monitoring: Volumetric Attack`
- `Route Leak Detection Alert`
- `Access mTLS Certificate Expiration Alert`
- `SSL for SaaS Custom Hostnames Alert`
- `Universal SSL Alert`
- `Script Monitor New Code Change Detection Alert`
- `Script Monitor New Domain Alert`
- `Script Monitor New Malicious Domain Alert`
- `Script Monitor New Malicious Script Alert`
- `Script Monitor New Malicious URL Alert`
- `Script Monitor New Scripts Alert`
- `Script Monitor New Script Exceeds Max URL Length Alert`
- `Advanced Security Events Alert`
- `Security Events Alert`
- [ ] Vérifiez toutes les **destinations**, car il pourrait y avoir des **informations sensibles** (authentification http basique) dans les URLs de webhook. Assurez-vous également que les URLs de webhook utilisent **HTTPS**.
- `Facturation basée sur l'utilisation`
- `Alerte d'attaque DDoS HTTP`
- `Alerte d'attaque DDoS de couche 3/4`
- `Alerte d'attaque DDoS HTTP avancée`
- `Alerte d'attaque DDoS de couche 3/4 avancée`
- `Surveillance basée sur le flux : attaque volumétrique`
- `Alerte de détection de fuite de route`
- `Alerte d'expiration de certificat mTLS d'accès`
- `Alerte SSL pour les noms d'hôtes personnalisés SaaS`
- `Alerte SSL universel`
- `Alerte de détection de changement de code nouveau dans le moniteur de script`
- `Alerte de nouveau domaine dans le moniteur de script`
- `Alerte de nouveau domaine malveillant dans le moniteur de script`
- `Alerte de nouveau script malveillant dans le moniteur de script`
- `Alerte de nouvelle URL malveillante dans le moniteur de script`
- `Alerte de nouveaux scripts dans le moniteur de script`
- `Alerte de nouveau script dépassant la longueur maximale de l'URL dans le moniteur de script`
- `Alerte d'événements de sécurité avancés`
- `Alerte d'événements de sécurité`
- [ ] Vérifiez toutes les **destinations**, car il pourrait y avoir des **informations sensibles** (authentification http de base) dans les urls de webhook. Assurez-vous également que les urls de webhook utilisent **HTTPS**.
- [ ] En vérification supplémentaire, vous pourriez essayer de **imiter une notification Cloudflare** à un tiers, peut-être que vous pouvez d'une manière ou d'une autre **injecter quelque chose de dangereux**.
## Manage Account
## Gérer le compte
- [ ] Il est possible de voir les **4 derniers chiffres de la carte de crédit**, la **date d'expiration** et l'**adresse de facturation** dans **`Billing` -> `Payment info`**.
- [ ] Il est possible de voir le **type de plan** utilisé dans le compte dans **`Billing` -> `Subscriptions`**.
- [ ] Dans **`Members`**, il est possible de voir tous les membres du compte et leur **rôle**. Notez que si le type de plan n'est pas Enterprise, seuls 2 rôles existent : Administrateur et Super Administrateur. Mais si le **plan utilisé est Enterprise**, [**plus de rôles**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) peuvent être utilisés pour suivre le principe du moindre privilège.
- Par conséquent, chaque fois que cela est possible, il est **recommandé** d'utiliser le **plan Enterprise**.
- [ ] Dans Members, il est possible de vérifier quels **membres** ont **2FA activé**. **Chaque** utilisateur devrait l'avoir activé.
- [ ] Il est possible de voir les **4 derniers chiffres de la carte de crédit**, la **date d'expiration** et l'**adresse de facturation** dans **`Facturation` -> `Informations de paiement`**.
- [ ] Il est possible de voir le **type de plan** utilisé dans le compte dans **`Facturation` -> `Abonnements`**.
- [ ] Dans **`Membres`**, il est possible de voir tous les membres du compte et leur **rôle**. Notez que si le type de plan n'est pas Entreprise, seuls 2 rôles existent : Administrateur et Super Administrateur. Mais si le **plan utilisé est Entreprise**, [**plus de rôles**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) peuvent être utilisés pour suivre le principe du moindre privilège.
- Par conséquent, chaque fois que cela est possible, il est **recommandé** d'utiliser le **plan Entreprise**.
- [ ] Dans Membres, il est possible de vérifier quels **membres** ont **2FA activé**. **Chaque** utilisateur devrait l'avoir activé.
> [!NOTE]
> Notez qu'il est heureusement que le rôle **`Administrator`** ne donne pas de permissions pour gérer les adhésions (**ne peut pas élever les privilèges ou inviter** de nouveaux membres).
> Notez qu'il est heureusement que le rôle **`Administrateur`** ne donne pas de permissions pour gérer les adhésions (**ne peut pas élever les privilèges ou inviter** de nouveaux membres).
## DDoS Investigation
## Enquête DDoS
[Consultez cette partie](cloudflare-domains.md#cloudflare-ddos-protection).

View File

@@ -2,11 +2,11 @@
{{#include ../../banners/hacktricks-training.md}}
Dans chaque TLD configuré dans Cloudflare, il y a des **paramètres généraux et des services** qui peuvent être configurés. Sur cette page, nous allons **analyser les paramètres liés à la sécurité de chaque section :**
Dans chaque TLD configuré dans Cloudflare, il y a des **paramètres et services généraux** qui peuvent être configurés. Sur cette page, nous allons **analyser les paramètres liés à la sécurité de chaque section :**
<figure><img src="../../images/image (101).png" alt=""><figcaption></figcaption></figure>
### Aperçu
### Vue d'ensemble
- [ ] Avoir une idée de **combien** les services du compte sont **utilisés**
- [ ] Trouver également le **zone ID** et le **account ID**
@@ -36,19 +36,19 @@ TODO
### SSL/TLS
#### **Aperçu**
#### **Vue d'ensemble**
- [ ] Le **chiffrement SSL/TLS** doit être **Complet** ou **Complet (Strict)**. Tout autre enverra du **trafic en clair** à un moment donné.
- [ ] Le **Recommander SSL/TLS** doit être activé
- [ ] Le **chiffrement SSL/TLS** devrait être **Complet** ou **Complet (Strict)**. Tout autre enverra du **trafic en clair** à un moment donné.
- [ ] Le **Recommander SSL/TLS** devrait être activé
#### Certificats Edge
- [ ] **Always Use HTTPS** doit être **activé**
- [ ] **HTTP Strict Transport Security (HSTS)** doit être **activé**
- [ ] **La version minimale de TLS doit être 1.2**
- [ ] **TLS 1.3 doit être activé**
- [ ] **Automatic HTTPS Rewrites** doit être **activé**
- [ ] **Certificate Transparency Monitoring** doit être **activé**
- [ ] **Always Use HTTPS** devrait être **activé**
- [ ] **HTTP Strict Transport Security (HSTS)** devrait être **activé**
- [ ] **La version minimale de TLS devrait être 1.2**
- [ ] **TLS 1.3 devrait être activé**
- [ ] **Réécritures automatiques HTTPS** devraient être **activées**
- [ ] **Surveillance de la transparence des certificats** devrait être **activée**
### **Sécurité**
@@ -60,22 +60,22 @@ TODO
- [ ] Dans la section **`Paramètres`** :
- [ ] Vérifier que le **`Niveau de Sécurité`** est **moyen** ou supérieur
- [ ] Vérifier que le **`Challenge Passage`** est de 1 heure au maximum
- [ ] Vérifier que le **`Vérification de l'Intégrité du Navigateur`** est **activée**
- [ ] Vérifier que le **`Vérification de l'intégrité du navigateur`** est **activée**
- [ ] Vérifier que le **`Support de Privacy Pass`** est **activé**
#### **Protection DDoS CloudFlare**
#### **Protection DDoS de CloudFlare**
- Si vous le pouvez, activez le **Mode de Lutte contre les Bots** ou le **Mode de Lutte contre les Super Bots**. Si vous protégez une API accessible de manière programmatique (depuis une page frontale JS par exemple). Vous pourriez ne pas être en mesure d'activer cela sans rompre cet accès.
- Dans **WAF** : Vous pouvez créer des **limites de taux par chemin URL** ou pour des **bots vérifiés** (règles de limitation de taux), ou pour **bloquer l'accès** basé sur l'IP, le Cookie, le référent...). Ainsi, vous pourriez bloquer les requêtes qui ne proviennent pas d'une page web ou qui n'ont pas de cookie.
- Si vous le pouvez, activez le **Mode de Combat contre les Bots** ou le **Mode de Combat contre les Super Bots**. Si vous protégez une API accessible de manière programmatique (depuis une page frontale JS par exemple). Vous pourriez ne pas être en mesure d'activer cela sans rompre cet accès.
- Dans **WAF** : Vous pouvez créer des **limites de taux par chemin URL** ou pour des **bots vérifiés** (règles de limitation de taux), ou pour **bloquer l'accès** basé sur l'IP, le cookie, le référent...). Ainsi, vous pourriez bloquer les requêtes qui ne proviennent pas d'une page web ou qui n'ont pas de cookie.
- Si l'attaque provient d'un **bot vérifié**, au moins **ajoutez une limite de taux** aux bots.
- Si l'attaque est dirigée vers un **chemin spécifique**, comme mécanisme de prévention, ajoutez une **limite de taux** dans ce chemin.
- Vous pouvez également **whitelister** des adresses IP, des plages IP, des pays ou des ASN depuis les **Outils** dans WAF.
- Vous pouvez également **mettre sur liste blanche** des adresses IP, des plages IP, des pays ou des ASN dans les **Outils** de WAF.
- Vérifiez si les **règles gérées** pourraient également aider à prévenir les exploitations de vulnérabilités.
- Dans la section **Outils**, vous pouvez **bloquer ou donner un défi à des IP spécifiques** et **agents utilisateurs.**
- Dans DDoS, vous pourriez **remplacer certaines règles pour les rendre plus restrictives**.
- **Paramètres** : Réglez le **Niveau de Sécurité** sur **Élevé** et sur **Sous Attaque** si vous êtes Sous Attaque et que la **Vérification de l'Intégrité du Navigateur est activée**.
- Dans Cloudflare Domains -> Analytics -> Security -> Vérifiez si la **limite de taux** est activée
- Dans Cloudflare Domains -> Security -> Events -> Vérifiez les **Événements malveillants détectés**
- **Paramètres** : Réglez le **Niveau de Sécurité** sur **Élevé** et sur **Sous Attaque** si vous êtes sous attaque et que la **Vérification de l'intégrité du navigateur est activée**.
- Dans Domaines Cloudflare -> Analytique -> Sécurité -> Vérifiez si la **limite de taux** est activée
- Dans Domaines Cloudflare -> Sécurité -> Événements -> Vérifiez les **événements malveillants détectés**
### Accès
@@ -101,8 +101,8 @@ TODO
### Réseau
- [ ] Si **`HTTP/2`** est **activé**, **`HTTP/2 to Origin`** doit être **activé**
- [ ] **`HTTP/3 (avec QUIC)`** doit être **activé**
- [ ] Si **`HTTP/2`** est **activé**, **`HTTP/2 to Origin`** devrait être **activé**
- [ ] **`HTTP/3 (avec QUIC)`** devrait être **activé**
- [ ] Si la **vie privée** de vos **utilisateurs** est importante, assurez-vous que **`Onion Routing`** est **activé**
### **Trafic**
@@ -119,7 +119,7 @@ TODO
### Scrape Shield
- [ ] Vérifiez que l'**Obfuscation des Adresses Email** est **activée**
- [ ] Vérifiez que l'**Obfuscation des adresses email** est **activée**
- [ ] Vérifiez que les **Exclusions côté serveur** sont **activées**
### **Zaraz**

View File

@@ -22,19 +22,19 @@ Dans un compte **Cloudflare Zero Trust Network**, il y a certains **paramètres
Sur chaque application :
- [ ] Vérifiez **qui** peut accéder à l'application dans les **Policies** et vérifiez que **seulement** les **utilisateurs** qui **ont besoin d'accès** à l'application peuvent y accéder.
- [ ] Vérifiez **qui** peut accéder à l'application dans les **Policies** et assurez-vous que **seuls** les **utilisateurs** qui **ont besoin d'accès** à l'application peuvent y accéder.
- Pour permettre l'accès, des **`Access Groups`** vont être utilisés (et des **règles supplémentaires** peuvent également être définies)
- [ ] Vérifiez les **fournisseurs d'identité disponibles** et assurez-vous qu'ils **ne sont pas trop ouverts**
- [ ] Dans **`Settings`** :
- [ ] Vérifiez que **CORS n'est pas activé** (s'il est activé, vérifiez qu'il est **sécurisé** et qu'il ne permet pas tout)
- [ ] Les cookies doivent avoir l'attribut **Strict Same-Site**, **HTTP Only** et le **binding cookie** doit être **activé** si l'application est HTTP.
- [ ] Envisagez également d'activer le **rendu du navigateur** pour une meilleure **protection. Plus d'infos sur** [**l'isolement du navigateur à distance ici**](https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/)**.**
- [ ] Envisagez également d'activer le **rendu du navigateur** pour une meilleure **protection. Plus d'infos sur** [**l'isolement du navigateur distant ici**](https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/)**.**
#### **Access Groups**
- [ ] Vérifiez que les groupes d'accès générés sont **correctement restreints** aux utilisateurs qu'ils devraient autoriser.
- [ ] Vérifiez que les groupes d'accès générés sont **correctement restreints** aux utilisateurs qu'ils doivent autoriser.
- [ ] Il est particulièrement important de vérifier que le **groupe d'accès par défaut n'est pas très ouvert** (il **ne permet pas trop de personnes**) car par **défaut**, quiconque dans ce **groupe** pourra **accéder aux applications**.
- Notez qu'il est possible de donner **accès** à **TOUS** et d'autres **politiques très ouvertes** qui ne sont pas recommandées à moins d'être 100 % nécessaires.
- Notez qu'il est possible de donner **accès** à **TOUS** et d'autres **politiques très ouvertes** qui ne sont pas recommandées sauf si 100 % nécessaire.
#### Service Auth
@@ -55,7 +55,7 @@ TODO
### Settings
- [ ] Vérifiez le **type de plan**
- [ ] Il est possible de voir le **nom du propriétaire de la carte de crédit**, les **derniers 4 chiffres**, la **date d'expiration** et l'**adresse**
- [ ] Il est possible de voir le **nom du propriétaire de la carte de crédit**, **derniers 4 chiffres**, **date d'expiration** et **adresse**
- [ ] Il est recommandé d'**ajouter une expiration de siège utilisateur** pour supprimer les utilisateurs qui n'utilisent pas vraiment ce service
{{#include ../../banners/hacktricks-training.md}}