<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pentest - RiskInsight</title>
	<atom:link href="https://www.riskinsight-wavestone.com/tag/pentest/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/tag/pentest/</link>
	<description>Le blog cybersécurité des consultants Wavestone</description>
	<lastBuildDate>Tue, 07 Apr 2026 17:53:37 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>pentest - RiskInsight</title>
	<link>https://www.riskinsight-wavestone.com/tag/pentest/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>IA Agentique pour la Sécurité Offensive</title>
		<link>https://www.riskinsight-wavestone.com/2026/04/ia-agentique-pour-la-securite-offensive/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/04/ia-agentique-pour-la-securite-offensive/#respond</comments>
		
		<dc:creator><![CDATA[Thomas Rousseau]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 14:42:48 +0000</pubDate>
				<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[AI Hallucinations]]></category>
		<category><![CDATA[Autonomous Pentesting]]></category>
		<category><![CDATA[ctf]]></category>
		<category><![CDATA[pentest]]></category>
		<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[Web pentesting]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=29660</guid>

					<description><![CDATA[<p>L’IA s’intègre désormais dans un nombre croissant de processus de sécurité offensive. Le changement le plus visible est l’essor de services appliquant des grands modèles de langage (LLM) et une orchestration agentique à des activités de test autonomes. Certains éditeurs...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/04/ia-agentique-pour-la-securite-offensive/">IA Agentique pour la Sécurité Offensive</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[




<p style="text-align: justify;">L’IA s’intègre désormais dans un nombre croissant de processus de sécurité offensive. Le changement le plus visible est l’essor de services appliquant des grands modèles de langage (LLM) et une orchestration agentique à des activités de test autonomes. Certains éditeurs sont présents depuis plusieurs années, d’autres sont apparus récemment, mais le rythme d’évolution s’est clairement accéléré au cours des six derniers mois.<br />L’offre commerciale comprend des plateformes éditeurs telles que Horizon3.ai / NodeZero, Pentera, XBOW et RunSybil, tandis que l’écosystème open source inclut des projets comme Strix, Shannon, PentAGI, PentestGPT et PentestAgent. Leurs positionnements diffèrent, mais tous cherchent à traduire l’adaptabilité des systèmes IA modernes en résultats concrets de sécurité offensive.<br />L’objectif de cet article n’est pas de comparer les éditeurs. Il s’agit plutôt de clarifier le fonctionnement des systèmes de pentest agentiques, les prérequis techniques qu’ils nécessitent, et les limites qui empêchent encore de les considérer comme des testeurs autonomes pleinement fiables.</p>
<p> </p>
<h2>Une architecture commune pour les tests offensifs agentiques</h2>
<p style="text-align: justify;">Le paysage actuel est composé d’outils hétérogènes aux stratégies produit et cas d’usage très variés : tests de sécurité web externe, revues d’infrastructure interne et Active Directory, évaluations de sécurité cloud, ou analyse de code source proche du pipeline CI/CD.</p>
<p style="text-align: justify;">Dans leurs meilleures configurations, les systèmes les plus aboutis sont aujourd’hui capables de mener des revues de sécurité statiques et dynamiques autonomes avec de fortes capacités de raisonnement, et un workflow qui ressemble souvent à la posture analytique d’un pentesteur humain.</p>
<figure id="attachment_29661" aria-describedby="caption-attachment-29661" style="width: 1511px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="size-full wp-image-29661" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Capacite-de-raisonnement-autonome.png" alt="Capacité de raisonnement autonome" width="1511" height="767" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Capacite-de-raisonnement-autonome.png 1511w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Capacite-de-raisonnement-autonome-376x191.png 376w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Capacite-de-raisonnement-autonome-71x36.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Capacite-de-raisonnement-autonome-768x390.png 768w" sizes="(max-width: 1511px) 100vw, 1511px" /><figcaption id="caption-attachment-29661" class="wp-caption-text"><em>Capacité de raisonnement autonome</em></figcaption></figure>
<p style="text-align: justify;">L’efficacité de beaucoup de ces outils est évaluée en interne ou via des environnements de capture-the-flag, les CTF offrant un moyen objectif de comparer la profondeur de raisonnement, les capacités d’exploitation et l’usage des outils. Malgré la diversité des architectures, on retrouve les composants essentiels suivants dans la plupart des solutions :</p>
<figure id="attachment_29663" aria-describedby="caption-attachment-29663" style="width: 1818px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-29663" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise.png" alt="Architecture standard et composants d’une solution agentique de pentest automatisé" width="1818" height="580" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise.png 1818w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise-437x139.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise-71x23.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise-768x245.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Architecture-standard-et-composants-dune-solution-agentique-de-pentest-automatise-1536x490.png 1536w" sizes="(max-width: 1818px) 100vw, 1818px" /><figcaption id="caption-attachment-29663" class="wp-caption-text"><em>Architecture standard et composants d’une solution agentique de pentest automatisé</em></figcaption></figure>
<ul>
<li style="text-align: justify;"><strong>Un orchestrateur : </strong>Cette couche coordonne les agents et leur parallélisme, gère les blocages et timeout, orchestre les workflows préconfigurés, et relie les composants en une chaîne d’exécution cohérente.</li>
<li style="text-align: justify;"><strong>Un LLM sous-jacent : </strong>Le modèle constitue le noyau cognitif du système, alternant boucles de raisonnement, invocation d’outils et création de sous-agents selon les besoins. La capacité à utiliser des outils est indispensable et les LLM « state-of-the-art » donnent généralement de meilleurs résultats.</li>
<li style="text-align: justify;"><strong>Une boîte à outils offensive : </strong>La plupart des plateformes s’appuient sur un kit d’outils conteneurisé globalement aligné sur un standard de type Kali. Le contenu exact varie selon les cas d’usage, mais l’outillage typiquement requis pour des tests web reste par exemple assez standard et limité. De nombreuses solutions permettent également à l’agent de télécharger des outils supplémentaires ou de cloner des dépôts GitHub à la demande.</li>
<li style="text-align: justify;"><strong>Un ensemble de « skills » ou packs de connaissance : </strong>Ces bibliothèques locales formalisent une expertise réutilisable, incluant des techniques d’attaque spécifiques à certaines technologies, des <em>cheatsheet</em> de pentesteurs, des workflows d’exploitation standards, ou bien des détails sur les vulnérabilités ou scénarios d’attaque récents</li>
</ul>
<p style="text-align: justify;">Cette dernière couche est souvent celle où les éditeurs peuvent se différencier le plus clairement. Des capacités solides de veille cyber, de Threat Hunting et de Cyber Threat Intelligence permettent d’actualiser en continu cette base de connaissances et d’améliorer la confiance dans la couverture réelle assurée par ces agents automatisés.</p>
<p style="text-align: justify;">Ces agents étant capables d’exécuter des actions offensives en environnements de production, l’observabilité et la supervision sont essentielles. La plupart des implémentations incluent donc journalisation, télémétrie, et rejeu de session, ainsi que des mécanismes d’approbation humaine pour certaines actions, ou des garde-fous distinguant les modules à faible risque des commandes ou chemins d’exploitation plus dangereux.</p>
<p style="text-align: justify;">Il est également important de distinguer les systèmes pleinement agentiques des produits qui n’utilisent l’IA que de façon sélective. En pratique, de nombreuses plateformes éditeurs reposent sur des workflows majoritairement déterministes, parfois orchestrés par des modèles plus petits et spécialisés, avant de déléguer uniquement les étapes d’exploitation les plus ambiguës à un modèle généraliste plus capable.</p>
<p> </p>
<h2>Étude de cas : efficacité</h2>
<h3>Étude de cas : CTF</h3>
<p style="text-align: justify;">Pour évaluer l’efficacité actuelle du pentest agentique, nous avons réalisé des tests d’une telle solution (Strix) avec plusieurs modèles différents sur un ensemble interne de challenges CTF Wavestone pour lesquels aucun write-up public n’était disponible. L’objectif n’était pas de comparer des produits entre eux, mais de comprendre comment la qualité du modèle influence les résultats, sur un cas d’usage web.</p>
<p style="text-align: justify;">Le choix de l’exploitation web est pertinent, combinant une large couverture thématique avec des niveaux de difficulté variés. Toutefois, l’exercice ne doit pas être sur-généralisé : il ne représente pas fidèlement d’autres contextes spécifiques tels que les tests internes ou les évaluations Active Directory.</p>
<figure id="attachment_29665" aria-describedby="caption-attachment-29665" style="width: 1849px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-29665" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes.png" alt="Benchmark d‘un ensemble de LLMs sur des challenges CTF internes" width="1849" height="746" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes.png 1849w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes-437x176.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes-71x29.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes-768x310.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/3-Benchmark-d‘un-ensemble-de-LLMs-sur-des-challenges-CTF-internes-1536x620.png 1536w" sizes="(max-width: 1849px) 100vw, 1849px" /><figcaption id="caption-attachment-29665" class="wp-caption-text"><em>Benchmark d‘un ensemble de LLMs sur des challenges CTF internes</em></figcaption></figure>
<p style="text-align: justify;">Plusieurs conclusions ont émergé de cet exercice :</p>
<ul style="text-align: justify;">
<li>Les résultats ne deviennent véritablement impressionnants que lorsque le système est associé à un modèle LLM de pointe.</li>
<li>À l’inverse, les modèles pouvant réaliste​ment tourner sur un poste de travail haut de gamme tendent encore à produire des performances médiocres en test offensif, ce qui fait des fournisseurs IA SaaS la seule solution effective aujourd’hui.</li>
<li>Des modèles puissants peuvent toutefois manquer des vulnérabilités exploitables, tandis que certains modèles de grande taille, mais moins optimisés, peuvent sous-performer, potentiellement car Strix n’a pas été conçu et calibré pour eux.</li>
<li>Des modèles plus petits font parfois preuve d’éclairs de génie, résolvant des challenges qui résistent aux modèles plus puissants.</li>
<li>Sans surprise, on observe une tendance persistante à l’hallucination de chemins d’exploitation, notamment lorsque les LLM atteignent une impasse (dans les CTF, cela se manifeste souvent par des flags inventés).</li>
<li>Pour ne pas polluer leur contexte avec de grands volumes de données, les agents ont tendance à tronquer massivement les données (pages web, fichiers de code, …) et à être trop spécifiques dans leurs recherches (“grep” ou “find”). Dans les deux cas, ce comportement peut limiter leur couverture du périmètre et leur efficacité globale.</li>
</ul>
<p style="text-align: justify;">Ces résultats doivent être interprétés avec prudence. Pour chaque modèle et chaque challenge, le benchmark a été limité à au plus deux exécutions. Dans plusieurs cas, un modèle pouvait être très proche de la solution avant d’halluciner la dernière étape, ou nécessiter une intervention humaine pour clore l’investigation. Typiquement, ces cas pourraient être rattrapés par une revue humain.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Il est clair que les meilleurs résultats du benchmark ont été obtenus avec des modèles propriétaires de pointe. D’après nos observations, ces modèles peuvent résoudre une part substantielle des tâches offensives tout en restant opérationnellement abordables; du moins tant que les sessions convergent rapidement.</p>
<figure id="attachment_29667" aria-describedby="caption-attachment-29667" style="width: 1576px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29667" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5.png" alt="Performance et métriques clés de consommation pour GPT-5" width="1576" height="886" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5.png 1576w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5-340x191.png 340w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5-69x39.png 69w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5-768x432.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5-1536x864.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/4-Performance-et-metriques-cles-de-consommation-pour-GPT-5-800x450.png 800w" sizes="auto, (max-width: 1576px) 100vw, 1576px" /><figcaption id="caption-attachment-29667" class="wp-caption-text"><em>Performance et métriques clés de consommation pour GPT-5</em></figcaption></figure>
<p> </p>
<figure id="attachment_29669" aria-describedby="caption-attachment-29669" style="width: 1588px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29669" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6.png" alt="Performance et métriques clés de consommation pour Sonnet4.6" width="1588" height="892" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6.png 1588w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6-340x191.png 340w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6-69x39.png 69w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6-768x431.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6-1536x863.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/5-Performance-et-metriques-cles-de-consommation-pour-Sonnet4.6-800x450.png 800w" sizes="auto, (max-width: 1588px) 100vw, 1588px" /><figcaption id="caption-attachment-29669" class="wp-caption-text"><em>Performance et métriques clés de consommation pour Sonnet4.6</em></figcaption></figure>
<p style="text-align: justify;">Ce que cela nous montre :</p>
<ul>
<li style="text-align: justify;">Le coût par challenge peut rester relativement modeste, de l’ordre de quelques euros lorsque l’agent converge efficacement.</li>
<li style="text-align: justify;">L’exécution peut être étonnamment rapide, avec de nombreux CTF résolus en moins de cinq minutes lorsque le modèle identifie le bon chemin tôt dans son investigation.</li>
<li style="text-align: justify;">Les échecs peuvent se révéler coûteux. Sans garde-fous stricts sur la durée et le budget, la consommation de tokens peut augmenter considérablement, et ce sur quelques heures.</li>
<li style="text-align: justify;">Dans notre configuration, le taux de réussite des modèles commerciaux de pointe étaient identiques, mais l’efficacité variait substantiellement en termes de temps, de consommation de tokens et de nombre d’invocations d’outils. De façon surprenante, dans ce contexte CTF, malgré un prix au token plus élevé pour Sonnet 4.6, le coût total des sessions tend à s&rsquo;équilibrer avec GPT-5, le modèle d&rsquo;Anthropic compensant par une meilleure efficacité en tokens. </li>
</ul>
<p> </p>
<h3>Étude de cas : application web réelle</h3>
<p style="text-align: justify;">Pour compléter les benchmarks CTF, nous avons également testé l’une de nos applications web développées en interne (utilisée pour la gestion des RH et des performances). Le système a été évalué avec plusieurs approches, notamment des modes authentifiés dans lesquels l’agent se voit fournir des identifiants ou des jetons d’authentification.</p>
<p style="text-align: justify;">Au cours d’une session représentative, 25 agents et sous-agents ont été déployés, 366 appels d’outils ont été exécutés, pour un coût total d’environ 5 USD, la session ayant duré environ une heure. Le rapport généré automatiquement affichait une synthèse managériale, une section méthodologique orientée OWASP, des conclusions techniques avec scoring CVSS v3, ainsi qu’une feuille de route de remédiation priorisée.</p>
<figure id="attachment_29671" aria-describedby="caption-attachment-29671" style="width: 657px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29671" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/6-Hierarchie-dagents-deployee-lors-dune-revue-de-securite-automatisee.png" alt="Hiérarchie d’agents déployée lors d’une revue de sécurité automatisée" width="657" height="716" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/6-Hierarchie-dagents-deployee-lors-dune-revue-de-securite-automatisee.png 657w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/6-Hierarchie-dagents-deployee-lors-dune-revue-de-securite-automatisee-175x191.png 175w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/6-Hierarchie-dagents-deployee-lors-dune-revue-de-securite-automatisee-36x39.png 36w" sizes="auto, (max-width: 657px) 100vw, 657px" /><figcaption id="caption-attachment-29671" class="wp-caption-text"><em>Hiérarchie d’agents déployée lors d’une revue de sécurité automatisée</em></figcaption></figure>
<p style="text-align: justify;">Les résultats sont mitigés, mais globalement instructifs après revue humaine et re-test :</p>
<ul style="text-align: justify;">
<li style="text-align: justify;">L’agent a identifié plusieurs axes d’amélioration mineurs mais pertinents, bien que les conclusions n’aient pas toujours été bien contextualisées et aient pu devenir excessivement alarmistes.</li>
<li style="text-align: justify;">Lacune critique : l&rsquo;agent a complètement manqué une interface d&rsquo;administration exposée avec des identifiants par défaut; une vulnérabilité qu&rsquo;aucun pentesteur humain n&rsquo;aurait ignorée. C&rsquo;est l&rsquo;illustration la plus nette du plafond de fiabilité actuel de ces systèmes.</li>
<li style="text-align: justify;">De plus, le rapport présentait également une vulnérabilité inexistante (confusion d’algorithme JWT) relevée comme critique, accompagné de scripts <em>Proof-of-Exploitation</em> ne fonctionnant logiquement pas. Cela illustre le risque persistant de faux positifs au sein des LLM.</li>
</ul>
<p style="text-align: justify;">Plusieurs remarques complémentaires :</p>
<ul style="text-align: justify;">
<li>Comme pour les benchmarks CTF, la qualité de la revue s&rsquo;améliore significativement avec un modèle SaaS de pointe.</li>
<li>La nature non déterministe des LLM reste visible : deux exécutions peuvent produire des conclusions et des rapports substantiellement différents pour une même cible.</li>
<li>Si les contrôles de périmètre sont insuffisants, certains modèles ont une tendance à élargir le périmètre du pentest, sondant des ports, applications ou sous-domaines adjacents.</li>
<li>La couverture et la pertinence s’améliorent nettement en modes boîte blanche ou hybride boîte blanche/boîte grise, où l’agent peut inspecter le code source, identifier des faiblesses candidates, puis tenter de les valider dynamiquement sur l’application en production. Même dans ce cas, certains agents peuvent encore se focaliser sur des problèmes inexistants. De plus, en boîte blanche, de très grandes bases de code peuvent saturer le système et réduire l’efficacité globale.</li>
<li>Les capacités de ces solutions à émuler un comportement humain a nettement progressé, notamment les interactions pilotées avec les navigateurs web. Toutefois, certains types d’applications restent difficiles à évaluer de manière autonome, notamment des cas de figures « multi-fenêtres » ou les clients lourds, pour lesquels une interaction navigateur en mode <em>headless</em> peut ne pas suffire.</li>
<li>Ces systèmes construisent rarement une compréhension approfondie de la logique métier. Leurs résultats restent fortement alignés sur des patterns génériques de type OWASP et ne challengent pas les risques métier réels ou les scénarios d’attaque de manière suffisamment contextuelle.</li>
</ul>
<p style="text-align: justify;">On notera que la majorité de ces reproches peuvent également être applicables à des pentesters humains, ces derniers restant toutefois davantage responsabilisable.</p>
<p style="text-align: justify;">Le problème de passage à l’échelle reste central. Les CTF ne sont que partiellement représentatifs des applications réelles. Un CTF aura généralement tendance à guider le participant vers un chemin d’attaque étroit et délibéré, alors que même une application métier modeste exposera une surface bien plus large. Aujourd’hui, garantir une couverture exhaustive pour des applications réelles reste complexe.</p>
<p> </p>
<h2>Verdict et limites actuelles</h2>
<h3>Verdict</h3>
<p style="text-align: justify;">Si l’on considère des solutions reposant entièrement sur un LLM pour leur arbre de décision, la conclusion est claire à ce stade : seuls les modèles de pointe des principaux fournisseurs IA produisent systématiquement des résultats à la fois pertinents et raisonnablement vérifiables.</p>
<p style="text-align: justify;">Nous pouvons considérer quatre options de déploiement pratiques :</p>
<ul>
<li style="text-align: justify;">Les <strong>services LLM SaaS</strong>, qui offrent actuellement la meilleure qualité via des LLM avancés (&gt;1T paramètres), sur une base de paiement à l’utilisation.</li>
<li style="text-align: justify;">Les <strong>déploiements en grands datacenters privés</strong>, capables de faire tourner des modèles puissants (500b) et pouvant devenir de plus en plus pertinents pour le pentest, mais restant encore sensiblement en deçà des meilleurs systèmes frontier commerciaux.</li>
<li style="text-align: justify;">Les <strong>déploiements en datacenters privés plus modestes</strong>, capables de faire tourner des modèles compétents (300b), mais clairement insuffisants pour orchestrer efficacement des pentests autonomes.</li>
<li style="text-align: justify;">Les <strong>postes de travail dédiés</strong>, qui, même avec des spécifications très élevées, peinent rapidement au-delà de 100b de paramètres et restent largement insuffisants aujourd’hui.</li>
</ul>
<figure id="attachment_29673" aria-describedby="caption-attachment-29673" style="width: 1698px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29673" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale.png" alt="Distribution illustrative des modèles locaux open source par nombre de paramètres et taille totale" width="1698" height="899" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale.png 1698w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale-361x191.png 361w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale-768x407.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/7-Distribution-illustrative-des-modeles-locaux-open-source-par-nombre-de-parametres-et-taille-totale-1536x813.png 1536w" sizes="auto, (max-width: 1698px) 100vw, 1698px" /><figcaption id="caption-attachment-29673" class="wp-caption-text"><em>Distribution illustrative des modèles locaux open source par nombre de paramètres et taille totale</em></figcaption></figure>
<p style="text-align: justify;">La dépendance aux fournisseurs SaaS soulève des questions inévitables de souveraineté et de confidentialité. Les tests d’intrusion consolident souvent des informations techniques très sensibles sur les faiblesses cyber d’une organisation. L’externalisation des prompts, traces, conclusions ou hypothèses d’attaque nécessite ainsi une gouvernance rigoureuse. En complément, l&rsquo;anonymisation des données en amont du LLM n&rsquo;est pas une solution fiable : elle dégrade les performances de l&rsquo;agent tout en laissant fuiter des métadonnées potentiellement exploitables vers le fournisseur SaaS.</p>
<p style="text-align: justify;">Dans leur état actuel, même équipés des LLMs les plus capables, ces systèmes présentent également des limitations structurelles qui affectent directement la fiabilité :</p>
<ul>
<li style="text-align: justify;">Des phénomènes de “tunnel”, avec une fixation trop prolongée de l’agent sur un unique chemin d’attaque non pertinent.</li>
<li style="text-align: justify;">Une tendance à lancer des activités de bruteforce chronophages et consommatrice sans appréciation de la complexité ou du coût computationnel.</li>
<li style="text-align: justify;">La problèmatique des hallucinations, sur laquelle d’immenses progrès ont été réalisés, mais qui peut encore affecter les LLM, y compris les plus complexes.</li>
</ul>
<figure id="attachment_29675" aria-describedby="caption-attachment-29675" style="width: 1511px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29675" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/8-Facilite-a-halluciner-ou-mal-interpreter-les-resultats-ici-avec-kimi-k2-1T.png" alt="Facilité à halluciner ou mal interpréter les résultats, ici avec kimi-k2 (1T)" width="1511" height="334" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/8-Facilite-a-halluciner-ou-mal-interpreter-les-resultats-ici-avec-kimi-k2-1T.png 1511w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/8-Facilite-a-halluciner-ou-mal-interpreter-les-resultats-ici-avec-kimi-k2-1T-437x97.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/8-Facilite-a-halluciner-ou-mal-interpreter-les-resultats-ici-avec-kimi-k2-1T-71x16.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/8-Facilite-a-halluciner-ou-mal-interpreter-les-resultats-ici-avec-kimi-k2-1T-768x170.png 768w" sizes="auto, (max-width: 1511px) 100vw, 1511px" /><figcaption id="caption-attachment-29675" class="wp-caption-text"><em>Facilité à halluciner ou mal interpréter les résultats, ici avec kimi-k2 (1T)</em></figcaption></figure>
<ul>
<li style="text-align: justify;">La nature non déterministe des LLM, rendant certaines exécutions bien moins efficaces et pertinentes que d’autres, confirmant l’utilité de ces agents dans une approche continue ou régulière.</li>
<li style="text-align: justify;">Des difficultés de passage à l’échelle liées aux contraintes de fenêtre de contexte : ces outils permettent un passage à l’échelle dans le sens où l’on peut lancer autant de sessions parallèles que de cibles. Cependant, le passage à l’échelle est plus complexe lorsqu’une session unique est lancée contre une unique application hautement complexe. Il devient alors beaucoup plus difficile de maintenir une couverture exhaustive et une continuité de mémoire sur des applications larges et riches en contenu. D’importantes améliorations sont possibles sur ce volet, une gestion efficace de la mémoire à long terme permettant des exécutions plus cohérentes pour les grandes applications et améliorant la confiance dans le couverture.</li>
<li style="text-align: justify;">Une verbosité élevée et une furtivité limitée, qui rendent ces systèmes peu adaptés dans leur configuration par défaut aux opérations Red Team, qui nécessitent davantage de discrétion. Cela peut toutefois être amélioré par une configuration dédiée, sans toutefois promettre d’égaler les capacités d’un Red Teamer humain.</li>
</ul>
<p style="text-align: justify;">De manière plus générale, un processus autonome piloté en SaaS et ayant la capacité d’exécuter des commandes à distance dans vos SI pose d’emblée la question de la responsabilité :</p>
<ul style="text-align: justify;">
<li>Classer les modules comme dangereux ou sûrs peut ne pas suffire, par exemple avec des outils couteaux-suisses, capables d’une reconnaissance anodine et d’exploits agressifs et potentiellement dangereux. Le niveau de menace de chaque commande devrait être évalué dynamiquement, en tenant compte du contexte et des tests précédents.</li>
<li>S’appuyer sur une approbation humaine peut également avoir ses limites : au même titre que pour les solutions de vibe coding, une « fatigue » humaine peut rapidement s’installer, où les utilisateurs deviennent trop confiants et cessent de remettre en question les conclusions de l’agent.</li>
</ul>
<p style="text-align: justify;">Et bien entendu, toute vulnérabilité au niveau du LLM, telle qu’une susceptibilité au <em>prompt injection</em> ou à l’empoisonnement, pourrait être exploitée pour détourner l’agent de pentest automatisé. En substance, ces outils autonomes, s’ils sont déployés en interne, doivent être considérés comme des actifs critiques, très interessants pour de potentiels attaquants.</p>
<p> </p>
<h3>Où l’architecture peut s’améliorer</h3>
<p style="text-align: justify;">Au-delà de la qualité du modèle lui-même, une part substantielle des améliorations possibles réside dans la conception globale du système. Plusieurs directions architecturales apparaissent prometteuses :</p>
<ul style="text-align: justify;">
<li>Multiplier les sessions et les passes de validation, en utilisant une exploration continue, des phases de zoom ciblées et des boucles de confirmation explicites. La fiabilité s’en voit améliorée, au prix d’une augmentation du coût, de la durée, et de la complexité de la solution.</li>
<li>Introduire des instances de validation dédiées pour confirmer l’exploitabilité dans un environnement contrôlé avant que les conclusions ne soient intégrées dans un rapport.</li>
<li>Utiliser des arbres de décision plus légers ou des modules spécialisés en amont de l’exploitation, en réservant les modèles haut de gamme uniquement pour les parties du workflow qui nécessitent vraiment adaptabilité et raisonnement.</li>
<li>Faire précéder la phase autonome d’une phase préliminaire de tests scriptés, puis alimenter l’agent avec les sorties structurées. C’est approche apparait bien plus rentable que de dépenser du contexte et des tokens LLM sur des tâches déjà faciles à automatiser sans IA. Le principe de base doit être simple : ne pas utiliser l’IA là où l’automatisation conventionnelle fonctionne déjà bien. Déléguer au LLM uniquement les taches véritablement ambiguës, et éviter de surcharger le modèle avec un long historique de commandes.</li>
</ul>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">En pratique, ce dernier point est déjà la direction prise par de nombreuses plateformes éditeurs. Elles ne s’appuient pas entièrement sur l’IA agentique ; elles combinent plutôt une logique déterministe avec une exploitation agentique.</p>
<figure id="attachment_29677" aria-describedby="caption-attachment-29677" style="width: 1842px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29677" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele.png" alt="Architecture multi-étapes potentielle conçue pour améliorer la fiabilité des résultats et réduire la charge inutile sur le modèle" width="1842" height="764" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele.png 1842w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele-437x181.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele-71x29.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele-768x319.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/9-Architecture-multi-etapes-potentielle-concue-pour-ameliorer-la-fiabilite-des-resultats-et-reduire-la-charge-inutile-sur-le-modele-1536x637.png 1536w" sizes="auto, (max-width: 1842px) 100vw, 1842px" /><figcaption id="caption-attachment-29677" class="wp-caption-text"><em>Architecture multi-étapes potentielle conçue pour améliorer la fiabilité des résultats et réduire la charge inutile sur le modèle</em></figcaption></figure>
<p style="text-align: justify;">Enfin, une réflexion intéressante : ces solutions automatisées pouvant être utilisées par de vrais attaquants, nous pourrions voir émerger des mécanismes “anti-IA” intégrés dans les applications, tels que des “labyrinthes de liens” et des <em>honeypots</em> draineurs de tokens conçus spécifiquement pour induire en erreur ou épuiser les systèmes de test automatisés.</p>
<p style="text-align: justify;">Avec des modèles suffisamment puissants, les systèmes agentiques peuvent déjà exceller dans des environnements contraints comme les CTF. Leurs performances dans les évaluations d’applications réelles sont plus mitigées : souvent utiles, parfois impressionnantes, mais encore trop incohérentes pour être utilisées sans supervision humaine.</p>
<p style="text-align: justify;">La voie la plus pragmatique aujourd’hui est donc un modèle opérationnel hybride : un système agentique réalisant la majorité des tests et proposant des directions d’investigation, accompagné de pentesters humains arbitrant, validant et prenant le relai dans les cas les plus complexes. On a ainsi une évaluation sécurité bien moins longues, tout en garantissant un degré de couverture et de pertinence des résultats.</p>
<p style="text-align: justify;">L’IA agentique ne s’annonce donc pas comme remplacement à l’humain. À son niveau de maturité actuel, elle est mieux appréhendée comme un multiplicateur de force, capable d&rsquo;accélérer l&rsquo;exploration et le tri, mais qui dépend encore de la supervision d&rsquo;experts pour transformer une activité autonome brute en résultats de sécurité fiables. Dans tous les cas, ces systèmes doivent être considérés comme hautement sensibles en raison de leur nature autonome, et les contraintes actuelles liées aux modèles hébergés en SaaS doivent être prises en compte, en termes de confidentialité des données et de souveraineté numérique.</p>
<p style="text-align: justify;">Sans être encore pleinement matures, ces solutions commencent à laisser une empreinte dans le paysage de la cybersécurité, et modifieront très probablement la trajectoire du marché du pentest, vers un écosystème davantage centré autour d’outils et de ressources de calcul, tout en conservant une approche hybride. Nous pourrions même voir des audits suivre un modèle “Bring Your Own Compute”, où les audités fournissent le LLM, et les auditeurs fournissent les outils et « skills ».</p>
<p style="text-align: justify;"> </p>
<p> </p>
<p> </p>






<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/04/ia-agentique-pour-la-securite-offensive/">IA Agentique pour la Sécurité Offensive</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/04/ia-agentique-pour-la-securite-offensive/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Compromission d’un domaine Windows à l’aide des délégations Kerberos</title>
		<link>https://www.riskinsight-wavestone.com/2017/04/compromission-domaine-windows-delegation-kerberos/</link>
		
		<dc:creator><![CDATA[Nicolas Daubresse]]></dc:creator>
		<pubDate>Wed, 19 Apr 2017 17:18:23 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Active directory]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[authentification]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[pentest]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=15795</guid>

					<description><![CDATA[<p>Quelques rappels sur le protocole d’authentification Kerberos Kerberos est un protocole d’authentification réseau reposant sur un mécanisme de clés secrètes (chiffrement symétrique) et l’utilisation de tickets. Il fait partie intégrante des système d’exploitation Windows depuis la version Serveur 2000. Différents...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2017/04/compromission-domaine-windows-delegation-kerberos/">Compromission d’un domaine Windows à l’aide des délégations Kerberos</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Quelques rappels sur le protocole d’authentification Kerberos</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Kerberos est un protocole d’authentification réseau reposant sur un mécanisme de clés secrètes (chiffrement symétrique) et l’utilisation de tickets. Il fait partie intégrante des système d’exploitation Windows depuis la version Serveur 2000. Différents termes spécifiques sont utilisés pour détailler ce protocole :</p>
<ul style="font-weight: 400;">
<li>KDC (<em>Key Distribution Center</em>) : Le KDC est un service installé sur les contrôleurs de domaine et permettant l’obtention des différents tickets par un utilisateur.</li>
<li>TGT (<em>Ticket-Granting Ticket</em>) : Le TGT est un ticket attribué par le KDC à un utilisateur. Ce ticket représente l’identité de l’utilisateur, et lui permet d’effectuer des demandes de TGS auprès du KDC.</li>
<li>TGS (<em>Ticket-Granting Service</em>) : Le TGS est également un ticket attribué par le KDC pour représenter un utilisateur. Il permet à l’utilisateur de s’authentifier auprès d’un service spécifique, dont le nom est inscrit dans le ticket. Un exemple d’un tel ticket est le suivant :</li>
</ul>
<figure id="post-15796 media-15796" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15796 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/1.png" alt="" width="454" height="83" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/1.png 454w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/1-437x80.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/1-71x13.png 71w" sizes="auto, (max-width: 454px) 100vw, 454px" /></figure>
<p>Le schéma d’une authentification Kerberos classique est le suivant :</p>
<figure id="post-15798 media-15798" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15798 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/2.png" alt="" width="514" height="315" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/2.png 514w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/2-312x191.png 312w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/2-64x39.png 64w" sizes="auto, (max-width: 514px) 100vw, 514px" /></figure>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Dans la première étape, l’utilisateur envoi au contrôleur de domaine un <em>timestamp</em> chiffré à l’aide du hash NTLM de son mot de passe. Ayant accès à ce hash, le contrôleur de domaine, et plus précisément le KDC, peut déchiffrer l’information reçue et vérifier le <em>timestamp</em>, ce qui prouve l’identité de l’utilisateur. Le KDC fournit alors à l’utilisateur son TGT (étape 2).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’utilisateur peut alors fournir le TGT préalablement récupéré pour effectuer une demande de TGS (étape 3). Le TGT étant représentatif de l’utilisateur, le KDC peut valider son identité et lui fournir un TGS pour le service demandé (étape 4).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Enfin, l’utilisateur transmet ce TGS comme preuve de son identité auprès du service (étape 5).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Dans le protocole Kerberos, ce sont donc bien les tickets qui permettent d’assurer l’identité d’un utilisateur, au même titre qu’un couple nom d’utilisateur / mot de passe le fait dans une authentification classique.</p>
<h2>Introduction aux délégations Kerberos</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Microsoft a introduit les délégations Kerberos dans l’objectif de permettre à une application de réutiliser l’identité d’un utilisateur pour accéder à une ressource hébergée sur un serveur différent. Un cas d’usage est par exemple l’accès à des documents hébergés sur un serveur dédié depuis une plateforme SharePoint :</p>
<figure id="post-15800 media-15800" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15800 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/3.png" alt="" width="385" height="249" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/3.png 385w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/3-295x191.png 295w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/3-60x39.png 60w" sizes="auto, (max-width: 385px) 100vw, 385px" /></figure>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’utilisateur n’ayant pas d’accès direct au serveur de fichiers, il s’authentifie sur la plateforme SharePoint qui doit alors transmettre l’identité de l’utilisateur au serveur de fichiers.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Cependant, les tickets de service étant délivrés pour une application spécifique, le SharePoint ne peut transmettre directement le ticket qu’il a reçu de l’utilisateur. C’est donc pour répondre à cette problématique que Microsoft a mis en place les délégations Kerberos, qui existent sous deux formes :</p>
<ul style="font-weight: 400;">
<li>Les délégations non contraintes, apparues avec le système d’exploitation Windows Serveur 2000, et qui donnent l’autorisation à un compte de service de réutiliser l’identité de l’utilisateur sur n’importe quel service du domaine ou de la forêt.</li>
<li>Les délégations contraintes, apparues avec le système d’exploitation Windows Serveur 2003, et qui permettent un meilleur contrôle en limitant les services sur lesquels un compte de service donné peut s’authentifier en tant que l’utilisateur.</li>
</ul>
<h2 data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Les délégations Kerberos non contraintes</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Le schéma d’authentification d’un utilisateur désirant accéder à une ressource dans le cas d’une délégation Kerberos non contrainte est le suivant :</p>
<figure id="post-15802 media-15802" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15802 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/4.png" alt="" width="734" height="314" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/4.png 734w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/4-437x187.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/4-71x30.png 71w" sizes="auto, (max-width: 734px) 100vw, 734px" /></figure>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Lors de la première étape de ce schéma, l’utilisateur effectue une demande de TGT auprès du contrôleur de domaine, en lui transmettant un <em>timestamp</em> chiffré avec le hash NTLM de son mot de passe. Après avoir validé son identité, le contrôleur de domaine fournit un TGT à l’utilisateur (étape 2), comme il le ferait pour une authentification Kerberos classique.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Pour s’authentifier auprès de l’application SharePoint, l’utilisateur demande alors un TGS au contrôleur de domaine, en lui fournissant le TGT précédemment récupéré (étape 3). Dans le cas d’une délégation Kerberos non contrainte, le contrôleur de domaine construit le TGS de l’utilisateur à partir de son TGT, qu’il chiffre à l’aide du hash NTLM du mot de passe du compte de service utilisé par l’application SharePoint (étape 4).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’utilisateur s’authentifie alors sur l’application SharePoint (étape 5) en transmettant le TGS que lui a fourni le contrôleur de domaine lors de l’étape précédente.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Le compte de service de l’application SharePoint peut déchiffrer ce TGS étant donné qu’il est chiffré avec son propre hash. Il récupère ainsi le TGT de l’utilisateur, qu’il peut fournir au contrôleur de domaine pour effectuer une demande de TGS pour le serveur de fichier (étape 6). Le TGT étant celui de l’utilisateur, le TGS renvoyé par le contrôleur de domaine (étape 7) représente son identité, et non celle du compte de service.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Le compte de service de l’application SharePoint peut alors transmettre ce TGS (étape 8), que le serveur de fichiers validera comme s’il provenait de l’utilisateur lui-même, donnant accès au document demandé (étape 9).  Ayant récupéré ce document, l’application SharePoint peut le fournir à l’utilisateur, pour lequel les phases d’authentification intermédiaires auront été transparentes.</p>
<h2 data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Les délégations Kerberos contraintes</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Dans le cas d’une délégation Kerberos contrainte, deux extensions de protocole sont utilisées pour permettre à une application de réutiliser l’identité de l’un de ses utilisateurs :</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">S4U2Self (Server-for-User-to-Self) qui autorise un service à obtenir un TGS pour lui-même en tant qu’un utilisateur.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">S4U2Proxy (Server-for-User-to-Proxy) qui autorise un service à obtenir un TGS pour un autre service en tant qu’un utilisateur.</p>
<p data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">La cinématique d’authentification et d’accès aux ressources dans le cas d’une telle délégation est alors la suivante :</p>
<figure id="post-15804 media-15804" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15804 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/5.png" alt="" width="734" height="325" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/5.png 734w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/5-431x191.png 431w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/5-71x31.png 71w" sizes="auto, (max-width: 734px) 100vw, 734px" /></figure>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Dans la première étape de cette cinématique, l’utilisateur s’authentifie après du premier service en lui transmettant ses identifiants. L’authentification n’utilisant pas Kerberos, l’utilisateur n’a pas besoin de s’authentifier auprès du contrôleur de domaine.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Le compte de service demande alors un TGS représentant l’identité de l’utilisateur et permettant de s’authentifier auprès de son propre service (étape 2). Le compte de service possédant l’extension S4U2Self, le contrôleur de domaine accorde ce ticket (étape 3).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Ce même compte de service demande ensuite un TGS représentant l’identité de l’utilisateur et permettant de s’authentifier auprès du second service (étape 4). Après validation de l’extension S4U2Proxy, le contrôleur de domaine accorde ce TGS (étape 5)</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Grâce à ce second ticket de service, le compte de service du SharePoint peut accéder aux ressources du serveur de fichier avec l’identité de l’utilisateur (étape 6). Le serveur de fichiers valide les privilèges de l’utilisateur, et transmet le document demandé au compte de service SharePoint (étape 7), qui le transmet à l’utilisateur (étape 8).</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Contrairement au cas des délégations non contraintes, l’utilisation de l’extension de protocole S4U2Proxy permet de spécifier les services accessibles au compte de service SharePoint. Ainsi, même si l’utilisateur dispose des privilèges nécessaires pour accéder à un autre serveur, le compte de service ne pourra récupérer de TGS valide représentant l’identité de l’utilisateur. Dans le cas d’une délégation contrainte, cette restriction se fait à l’aide d’un paramètre du compte de service, appelé SPN pour <em>Service Principal Name</em>.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Il est à noter que depuis la version Serveur 2012 du système d’exploitation Windows, un troisième type de délégation Kerberos est proposée, les délégations Kerberos contraintes basées sur les ressources. Le fonctionnement de ces délégations est similaire à celui des délégations contraintes, mais la restriction est effectuée en spécifiant explicitement le compte ayant accès aux ressources.</p>
<h2 data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Exploiter les délégations non contraintes</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Les faiblesses induites par les délégations Kerberos non-contraintes sont connues depuis plusieurs années. Sean Metcalf a, par exemple, présenté les dangers de telles délégations à la Black Hat USA 2015. Dans la cinématique d’authentification présentée précédemment, il est en effet évident que le compte de service de l’application SharePoint peut, une fois que l’utilisateur lui a transmis un TGS contenant son TGT, accéder à l’ensemble des services pour lesquels l’utilisateur dispose de privilèges nécessaires.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’objectif d’un attaquant est alors d’obtenir le TGT d’un administrateur du domaine, ce qui lui permet de se connecter au contrôleur de domaine avec les privilèges maximum pour changer le mot de passe du compte <em>krbtgt </em>afin de pouvoir forger ses propres tickets à la demande.</p>
<p style="font-weight: 400; text-align: left;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Pour parvenir à cela, il est d’abord nécessaire d’identifier les services qui disposent de délégations non contraintes. Pour cela, il suffit de filtrer les objets de l’Active Directory à la recherche de paramètres <em>TrustedForDelegation </em>valant <em>True</em>. Ce paramètre indique en effet la présence d’une délégation non contrainte, et est de plus accessible sans privilège particulier, par exemple à l’aide de la commande <em>Get-ADComputer</em> du module <em>ActiveDirectory </em>:</p>
<table class="MsoNormalTable" style="background: #dacdeb; border-collapse: collapse; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 551.5pt;" valign="top" width="735">
<div class="MsoNormal" style="mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; text-align: justify;">
<div style="text-align: left;"><span lang="EN-GB"><span style="font-family: 'courier new' , 'courier' , monospace;">PS C:\&gt; Import-Module ActiveDirectory</span></span></div>
</div>
<div class="MsoNormal" style="mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; text-align: justify;">
<div style="text-align: left;"><span style="font-family: inherit;"><span lang="EN-GB"><span style="font-family: 'courier new' , 'courier' , monospace;">PS C:\&gt; Get-ADComputer –Filter {(TrustedForDelegation –eq $True) –and (PrimaryGroupID –eq 515)}</span></span></span></div>
</div>
</td>
</tr>
</tbody>
</table>
<p style="font-weight: 400; text-align: left;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Une fois les services disposant d’une délégation Kerberos non contrainte identifiés, il est nécessaire d’obtenir des privilèges administrateur sur l’un des serveurs sur lesquels ils sont utilisés. Les méthodes de compromission classiques peuvent alors être utilisées, mais ne seront pas abordées dans cet article.</p>
<p style="font-weight: 400; text-align: left;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">En cas d’accès au service par un administrateur du domaine, l’attaquant sera en mesure d’extraire le TGS fourni à l’aide par exemple de l’outil <em>mimikatz </em>et de la commande suivante :</p>
<table class="MsoNormalTable" style="background: #dacdeb; border-collapse: collapse; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 551.5pt;" valign="top" width="735">
<div class="MsoNormal" style="mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; text-align: justify;">
<div style="text-align: left;"><span style="font-family: inherit;"><span style="font-family: 'courier new' , 'courier' , monospace;">mimikatz # kerberos::list /export</span></span></div>
</div>
</td>
</tr>
</tbody>
</table>
<p style="font-weight: 400; text-align: left;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Comme indiqué dans le scénario d’authentification, ce TGS contient le TGT de l’administrateur, que l’attaquant pourra extraire afin de réaliser une attaque <em>Pass-The-Ticket</em> pour se connecter au contrôleur de domaine.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Les recommandations pour protéger un domaine d’une telle attaque sont alors les suivantes :</p>
<ul>
<li>Utiliser des délégations Kerberos contraintes qui sont plus restrictives</li>
<li>Configurer l’ensemble des comptes à privilèges avec le paramètre « Le compte est sensible et ne peut être délégué » qui empêche la réutilisation de l’identité du compte par une application possédant une délégation</li>
</ul>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Dans le cas d’un domaine au niveau fonctionnel supérieur à Windows Serveur 2012 R2, le groupe de sécurité « Utilisateurs protégés » peut être utilisé pour les comptes à privilèges étant donné que les délégations ne sont pas autorisées pour les comptes de ce groupe.</p>
<h2>Qu’en est-il des délégations contraintes ?</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’utilisation de délégations contraintes semble être une alternative plus sécurisée. Cependant, différents éléments sont à noter concernant ce mécanisme d’authentification, comme l’a présenté Matan Hart lors de la Black Hat 2017. En effet, les deux extensions de protocole utilisées ont été pensées avec les principes suivants :</p>
<ul>
<li>Les deux extensions permettent à un service Kerberos d’obtenir des TGS sans même que l’utilisateur n’ait besoin de s’authentifier auprès du contrôleur de domaine.</li>
<li>L’extension S4U2Self permet au service d’obtenir un TGS pour l’utilisateur sans qu’aucun mot de passe ne soit nécessaire.</li>
</ul>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">De ce fait, un service qui possèderait les deux extensions pourrait obtenir un TGS pour n’importe quel autre service en se faisant passer pour un utilisateur, et ce sans nécessiter son mot de passe.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Matan Hart a publié son outil « Mystique[1] » qui permet d’identifier des configurations à risque pour les délégations. Pour cela, il liste les comptes qui disposent du paramètre <em>TrustedToAuthForDelegation </em>valant True, indiquant une délégation contrainte, ainsi que d’un paramètre <em>MsDS-AllowedToDelegateTo</em> non nul, indiquant l’utilisation d’un SPN, ce qui est obligatoire pour les comptes de délégation.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Il est également à noter que les TGS sont validés selon deux critères, le hash du mot de passe de l’utilisateur, et le SPN possédé par le compte de service qui possède la délégation contrainte. En cas de multiples SPNs associés à un même compte de service, et de mot de passe partagé entre différents comptes, les tickets pour deux services distincts seront complétement interchangeables, ce qui pourrait permettre à un service de réutiliser l’identité d’un utilisateur de manière illégitime.</p>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">Ces faiblesses ne sont pas considérées comme des vulnérabilités par Microsoft, et ne sont donc pas amenées à changer. Lors de la création d’une délégation Kerberos contrainte, il est alors nécessaire de faire attention aux points suivants pour se protéger des attaques :</p>
<ul>
<li>Configurer les services à l’aide de comptes de service dédiés, évitant ainsi le partage des comptes qui pourrait aboutir à des tickets interchangeables. Il est également important d’assurer une bonne complexité des mots de passe, ainsi qu’une rotation régulière.</li>
<li>Configurer des SPNs uniques comme étant autorisés pour la délégation, en évitant les SPNs par défaut de Microsoft, et en spécifiant les ports utilisés.</li>
<li>Comme pour les délégations non contraintes, configurer les comptes à privilèges comme étant des comptes sensibles ne pouvant être délégués.</li>
</ul>
<h2>Conclusion</h2>
<p style="font-weight: 400;" data-original-attrs="{&quot;style&quot;:&quot;mso-element-anchor-horizontal: column; mso-element-anchor-vertical: paragraph; mso-element-frame-hspace: .75pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;}">L’utilisation de délégations contraintes n’est pas totalement à proscrire. Il est cependant nécessaire de bien maitriser leur configuration et les ressources auxquelles elles permettent d’accéder afin d’éviter les travers détaillés dans cet article.</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2017/04/compromission-domaine-windows-delegation-kerberos/">Compromission d’un domaine Windows à l’aide des délégations Kerberos</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Le fardeau du pentesteur</title>
		<link>https://www.riskinsight-wavestone.com/2015/03/le-fardeau-du-pentesteur/</link>
		
		<dc:creator><![CDATA[Arnaud Soullié]]></dc:creator>
		<pubDate>Mon, 23 Mar 2015 13:41:45 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[pentest]]></category>
		<category><![CDATA[pentesteur]]></category>
		<category><![CDATA[test d'intrusion]]></category>
		<category><![CDATA[vulnérabilités]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=15499</guid>

					<description><![CDATA[<p>La sécurité informatique a fait du chemin ces dernières années. Désormais, toute entreprise de taille respectable dispose de sa politique de sécurité des systèmes d’information. Des sessions de sensibilisation des utilisateurs à la sécurité sont réalisées. Une gouvernance sécurité s’est...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2015/03/le-fardeau-du-pentesteur/">Le fardeau du pentesteur</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div style="margin: 0cm 0cm 10.0pt 0cm;">
<div class="visually-hidden" style="text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/-NjLVhBfmbGA/VRBVoMyJu8I/AAAAAAAAAAs/8gCWgLP6Xf4/s1600/%C2%A9%2BAndrea%2BDanti%2B-%2BFotolia.com.jpg"><img loading="lazy" decoding="async" src="http://3.bp.blogspot.com/-NjLVhBfmbGA/VRBVoMyJu8I/AAAAAAAAAAs/8gCWgLP6Xf4/s1600/%C2%A9%2BAndrea%2BDanti%2B-%2BFotolia.com.jpg" width="320" height="240" border="0" /></a></div>
<p style="text-align: left;"><i><span style="color: #666666;"><span style="font-family: inherit;">La sécurité informatique a fait du chemin ces dernières années. Désormais, toute entreprise de taille respectable dispose de sa politique de sécurité des systèmes d’information. Des sessions de sensibilisation des utilisateurs à la sécurité sont réalisées. Une gouvernance sécurité s’est même mise en place : le RSSI pilote, définit des KPI, analyse ses tableaux de bords SSI. Mais la technique n’est pas non plus oubliée ; on sait désormais que rien ne vaut un test d’intrusion pour vérifier, en imitant les méchants hackers, le niveau de sécurité d’une application ou d’un SI. Et ils vécurent heureux et ne subirent aucune attaque ? Pas si sûr&#8230;</span></span></i></p>
</div>
<div style="margin: 0cm 0cm 10.0pt 0cm;">
<h2>Le test d’intrusion n’est pas une science exacte</h2>
</div>
<div>
<div class="MsoNormal"><span style="font-family: inherit;">Non, malheureusement, le test d’intrusion n’est pas une science exacte. C’est une démarche qui relève plus de la pratique que de la théorie. Et c’est tant mieux. Pourquoi ? Le test d’intrusion n’est pas un audit. L’objectif du test d’intrusion est d’avoir une vision réaliste, “terrain”, du niveau de sécurité d’une application, d’un environnement ou d’un système. Le pentesteur dispose alors d’informations limitées sur sa cible, et doit faire appel à ses connaissances et compétences pour essayer de comprendre les rouages de son fonctionnement, afin d’identifier les éventuelles vulnérabilités. C’est en cela qu’un test d’intrusion automatique est un non-sens ! L’automatisation ne permet pas cette compréhension fine du fonctionnement de la cible, et se contente de dérouler des scénarii de tests prédéfinis.</span></div>
<div class="MsoNormal"></div>
<div class="MsoNormal"><span style="font-family: inherit;">Par ailleurs, même si le pentesteur vise l’exhaustivité dans ses tests, les conditions de réalisation jouent souvent contre lui ! Le test a forcément une durée limitée, qui ne permet d’explorer qu’un nombre limité d’options. De plus, l’environnement sur lequel se déroulent les tests est rarement identique à 100% à l’environnement de production, que ce soit par des différences de configuration, des fonctionnalités non-disponibles, ou des comptes utilisateurs.</span></div>
<div class="MsoNormal"><b style="color: #00477f;"></b><br />
<b style="color: #00477f;"><span style="font-family: inherit;">Une première frustration pour le pentesteur : savoir que son travail, même dévoué, n’est jamais totalement complet.</span></b></div>
<h2>Des tests d’intrusion souvent mal exploités</h2>
</div>
<div><span style="font-family: inherit;">Les tests d’intrusion sont de plus en plus fréquemment gérés par “campagne”, mission d’une durée plus longue et qui regroupe plusieurs audits, réalisés souvent par le même prestataire. On peut ainsi assurer une certaine homogénéité dans les audits, profiter d’un contexte client mieux connu, et proposer des recommandations plus adaptées.</span><span style="font-family: inherit;"><br />
</span><br />
<span style="font-family: inherit;">Malheureusement, une fois cette information obtenue, il convient de traiter les risques (ou de les accepter, pourquoi pas&#8230;). Force est de constater que cette étape n’est pas la plus maîtrisée, dans la plupart des cas. Les campagnes d’audit menées de manière récurrente sur des périmètres comparables font souvent apparaître des rapports d’audit grandement similaires, voir identiques.</span><span style="font-family: inherit;"><br />
</span><br />
<span style="font-family: inherit;">Pourquoi cette situation ? Malheureusement, si les budgets SSI permettent les audits, ils sont rarement dimensionnés pour absorber le coût de la mise en œuvre des recommandations. De plus, les équipes projets sont bien trop souvent réfractaires aux changements, d’autant plus qu’ils sont à appliquer globalement (problématiques de contrôle d’accès, de filtrage des entrées,…).</span><br />
<span class="Miseenvaleur"><span style="font-family: inherit;"><br />
</span></span></p>
<div class="MsoNormal"><span class="Miseenvaleur"><span style="font-family: inherit;">Par ailleurs, au-delà des querelles sur la réelle nécessité d’implémenter tel ou tel mécanisme de sécurité (d’autant plus vigoureuse que l’application est “interne”), c’est très souvent l’implémentation des mécanismes de sécurité qui fait défaut. Les risques sont identifiés, des mesures de protection identifiées et validées, et pourtant, le jour du test d’intrusion, les illusions volent en éclat.</span></span></div>
</div>
<div></div>
<div></div>
<div></div>
<div>
<p>&nbsp;</p>
<div class="MsoNormal"><span class="Miseenvaleur"><span style="font-family: inherit;"><b style="font-family: inherit;"><span style="color: #00477f;"><span style="font-family: inherit;">C’est bien là le regret du pentesteur : découvrir que son travail n’a servi à rien; qu’un an plus tard, les vulnérabilités sont toujours présentes et que d’autres sont même venues s’ajouter.</span></span></b></span></span></div>
</div>
<div>
<h2></h2>
<h2>Quelles conclusions pour la réalisation de tests<br />
d’intrusion ?</h2>
</div>
<div><span style="font-family: inherit;">Faut-il stopper la réalisation de tests d’intrusion ? Non, sans doute pas. En revanche, il convient peut-être de modifier la manière dont on utilise ces ressources. </span><span class="Miseenvaleur"><span style="font-family: inherit;"><br />
</span></span></p>
<div class="MsoNormal"><span class="Miseenvaleur"><span style="font-family: inherit;">D’abord, il faut savoir choisir ses cibles : inutile de tester le même périmètre que l’an dernier tant que l’on n’a pas obtenu la confirmation que les recommandations existantes ont été appliquées !</span></span></div>
<div></div>
<div class="MsoNormal"><span class="Miseenvaleur"><span style="font-family: inherit;">Ensuite, il faut tenter de traiter le problème à la racine : il est inefficace d’empiler les recommandations sur les failles XSS tant que les développeurs ne savent pas correctement traiter les entrées utilisateurs ! Et pour cela, le pentesteur peut apporter plus qu’une liste de vulnérabilités à la Prévert. Il doit s’assurer de l’adhésion des équipes techniques aux recommandations, ainsi que de leur implémentation technique. Pour cela, la réalisation d’ateliers avec les équipes techniques, visant à identifier dans le détail l’implémentation des recommandations, est un vrai plus ! En </span></span><span class="Miseenvaleur"><span style="font-family: inherit;">complément de cet accompagnement sur la mise en œuvre de moyens de protection, les résultats du test d’intrusion doivent également permettre la fiabilisation des mécanismes de supervision sécurité. Pour cela, un travail main dans la main avec les équipes de supervision est nécessaire, ainsi qu’un bilan à froid des actions qui ont été menées, celles qui ont été détectées et celles ne l’ayant pas été. On initie ainsi un cercle vertueux d’amélioration de la détection au cours du temps, concentré sur des éléments « terrain ».</span></span></div>
<div></div>
<div class="MsoNormal"><span class="Miseenvaleur"><span style="font-family: inherit;">Cette collaboration plus étroite entre les équipes de sécurité et les pentesteurs est sans doute la clé pour un meilleur ROI sur les tests d’intrusion. On trouve des références à cette approche sous le nom de “purple team”, une référence aux notions de “blue team” (défense) et de “red team” (attaque) utilisée dans le domaine militaire.</span></span></div>
<div></div>
</div>
<div></div>
<div></div>
<div>
<p>&nbsp;</p>
<div><b style="color: #00477f; font-family: inherit;">Le salut du pentesteur pourrait donc résider dans </b><b style="color: #00477f; font-family: inherit;">cette approche : offrir plus qu’un rapport et des slides, et avoir une démarche </b><b style="color: #00477f; font-family: inherit;">plus intégrée pour, enfin, améliorer la sécurité.</b></div>
</div>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2015/03/le-fardeau-du-pentesteur/">Le fardeau du pentesteur</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
