<?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>Valentin Thirion, Auteur</title>
	<atom:link href="https://www.riskinsight-wavestone.com/author/valentin-thirion/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/author/valentin-thirion/</link>
	<description>Le blog cybersécurité des consultants Wavestone</description>
	<lastBuildDate>Thu, 18 Sep 2025 08:03:10 +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>Valentin Thirion, Auteur</title>
	<link>https://www.riskinsight-wavestone.com/author/valentin-thirion/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>BarbHack : Ce qu&#8217;il faut en retenir</title>
		<link>https://www.riskinsight-wavestone.com/2025/09/barbhack-ce-quil-faut-en-retenir/</link>
					<comments>https://www.riskinsight-wavestone.com/2025/09/barbhack-ce-quil-faut-en-retenir/#respond</comments>
		
		<dc:creator><![CDATA[Valentin Thirion]]></dc:creator>
		<pubDate>Thu, 18 Sep 2025 08:03:03 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[AsRepCatcher]]></category>
		<category><![CDATA[Barbhack]]></category>
		<category><![CDATA[Barbhack 2025]]></category>
		<category><![CDATA[binaires malveillants]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[conférence cybersécurité]]></category>
		<category><![CDATA[cybersecurité]]></category>
		<category><![CDATA[Flipper Zero]]></category>
		<category><![CDATA[OSINT]]></category>
		<category><![CDATA[r2ai]]></category>
		<category><![CDATA[réponse à incident]]></category>
		<category><![CDATA[SOC]]></category>
		<category><![CDATA[WebDAV]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=27459</guid>

					<description><![CDATA[<p>Wavestone était présent lors de l’édition 2025 de Barb’hack, une conférence française dédiée à la cybersécurité qui se tient chaque année à Toulon. Vous trouverez ci-dessous quelques extraits de ce que nous avons jugé être les présentations les plus intéressantes....</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/09/barbhack-ce-quil-faut-en-retenir/">BarbHack : Ce qu&rsquo;il faut en retenir</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;">Wavestone était présent lors de l’édition 2025 de Barb’hack, une conférence française dédiée à la cybersécurité qui se tient chaque année à Toulon. Vous trouverez ci-dessous quelques extraits de ce que nous avons jugé être les présentations les plus intéressantes.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Faire vivre Responder avec son temps: le potentiel caché de l&#8217;empoisonnement de résolution de noms</h2>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="2"><em>Conférencier : Quentin Roland</em></p>
<h6 class="sr-only" style="text-align: justify;">ChatGPT said:</h6>
<div class="text-base my-auto mx-auto [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)" style="text-align: justify;">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="decf2b76-e43d-47ff-9e72-ba1d5cec44a5" data-message-model-slug="gpt-5-t-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p data-start="0" data-end="606" data-is-last-node="" data-is-only-node="">L’intervention de Quentin Roland a revisité un ensemble de techniques souvent jugées « old-school » : l’empoisonnement des protocoles de résolution de noms locaux tels que LLMNR, NBNS ou mDNS. Si ces attaques sont généralement perçues comme un moyen discret de capturer des authentifications SMB, la présentation a montré que les comportements natifs de Windows peuvent les transformer en une menace bien plus sérieuse. En particulier, le mécanisme de repli WebDAV et le relais Kerberos peuvent être combinés pour transformer un simple bruit de fond réseau en une voie d’accès menant à la compromission du domaine.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="text-align: justify;">
<h3> </h3>
<h3>L’astuce du repli vers WebDAV</h3>
</div>
<p style="text-align: justify;" data-start="34" data-end="497">Dans un environnement Windows typique, l’authentification SMB est omniprésente. L’empoisonnement des requêtes SMB avec des outils comme <strong data-start="170" data-end="183">Responder</strong> permet de capturer des identifiants, mais la plupart du temps il s’agit de <strong data-start="259" data-end="278">comptes machine</strong> ou d’authentifications qui ne peuvent pas être relayées parce que SMB applique des contrôles stricts d’intégrités. En conséquence, beaucoup d’authentifications capturées sont en pratique inutilisables pour un attaquant.</p>
<p style="text-align: justify;" data-start="499" data-end="1245">La conférence a mis en lumière un comportement souvent négligé : Windows réessaie parfois des connexions SMB échouées en se repliant vers HTTP et en utilisant le protocole WebDAV. Cela se fait via le service <strong data-start="687" data-end="700">WebClient</strong>, installé par défaut sur la plupart des machines. L’astuce tient à la façon dont Windows interprète certains codes d’erreur. Par défaut, lorsqu’une authentification SMB échoue, le serveur renvoie le statut « <code data-start="909" data-end="931">STATUS_ACCESS_DENIED</code> » et Windows s’arrête là. Mais si le serveur renvoie à la place « <code data-start="996" data-end="1018">STATUS_LOGON_FAILURE</code> », le système d’exploitation interprète cela comme un problème lié au protocole plutôt qu’aux identifiants. Il retente alors la connexion via le protocole WebDAV, transformant de facto une authentification SMB en une authentification HTTP.</p>
<p style="text-align: justify;" data-start="1247" data-end="1789">Ce mécanisme de repli ouvre une voie surprenante pour les attaquants. Les authentifications HTTP <strong data-start="1344" data-end="1374">n’exigent pas la signature</strong> par défaut, ce qui signifie qu’elles peuvent être relayées vers des services comme LDAP sans être bloquées par les protections qui rendent SMB moins exploitables. Une requête SMB empoisonnée qui serait sinon perdue devient soudainement une <strong data-start="1615" data-end="1653">authentification relayée en direct</strong> pouvant servir à <strong data-start="1671" data-end="1700">énumérer Active Directory</strong>, effectuer du <strong data-start="1715" data-end="1741">spray de mots de passe</strong>, ou même <strong data-start="1751" data-end="1788">créer de nouveaux comptes machine</strong>.</p>
<p style="text-align: justify;" data-start="1791" data-end="2128" data-is-last-node="" data-is-only-node="">La principale limitation est que le service <strong data-start="1835" data-end="1848">WebClient</strong> doit être en cours d’exécution. Bien qu’il soit installé par défaut, il n’est pas toujours actif sauf si l’utilisateur ou un processus a accédé à un partage WebDAV. Néanmoins, lorsqu’il est activé, ce repli constitue un moyen discret mais puissant de pivoter au sein d’un réseau.</p>
<div style="text-align: justify;"> </div>
<div>
<h3 id="combining-webdav-fallback-with-kerberos-relaying" class="code-line" dir="auto" style="text-align: justify;" data-line="16">Repli WebDAV + relais Kerberos : une combinaison dangereuse</h3>
<p style="text-align: justify;" data-start="140" data-end="632">La seconde partie de la présentation a exploré comment ce mécanisme de repli pouvait être étendu à Kerberos, ce qui est particulièrement pertinent dans des environnements où <strong data-start="314" data-end="338">NTLM a été désactivé</strong>. Le relais Kerberos est en général complexe, car les tickets sont liés à des services spécifiques. Toutefois, en contrôlant la résolution de noms via <strong data-start="489" data-end="498">LLMNR</strong> ou <strong data-start="502" data-end="510">NBNS</strong>, un attaquant peut piéger un client et l’amener à demander un ticket Kerberos pour n’importe quel service de son choix.</p>
<p style="text-align: justify;" data-start="634" data-end="1199">Avec un empoisonnement LLMNR, l’attaquant prend le contrôle de la résolution de noms. En répondant avec un nom de service choisi — par exemple en le faisant pointer vers une instance <strong data-start="817" data-end="825">ADCS</strong> (Active Directory Certificate Services) — la victime génère un ticket Kerberos pour ce service et l’envoie directement à l’attaquant. En utilisant <strong data-start="973" data-end="986">krbrelayx</strong>, ce dernier peut alors relayer le ticket vers ADCS et demander un certificat. Une fois un certificat valide obtenu, il peut servir à demander un <strong data-start="1132" data-end="1139">TGT</strong>, ouvrant la voie à une compromission complète du domaine.</p>
<p style="text-align: justify;" data-start="1201" data-end="1593">Vient ensuite la partie ingénieuse : enchaîner les deux idées. En combinant le repli WebDAV (<em data-start="1294" data-end="1300">flag</em> <code data-start="1301" data-end="1305">-E</code> de Responder) avec l’astuce du relais Kerberos (<em data-start="1354" data-end="1360">flag</em> <code data-start="1361" data-end="1365">-N</code> de Responder), le trafic SMB peut être transformé en tentatives WebDAV via HTTP qui transportent des tickets Kerberos. Ces tickets peuvent alors être directement relayés vers ADCS. La chaîne d’attaque est étonnamment courte :</p>
<ol style="text-align: justify;">
<li data-start="1598" data-end="1661">La victime tente de se connecter à un partage SMB inexistant.</li>
<li data-start="1598" data-end="1661"><strong data-start="1665" data-end="1678">Responder</strong> empoisonne la requête, forçant un repli WebDAV.</li>
<li data-start="1598" data-end="1661">Le repli s’effectue en HTTP avec une authentification Kerberos, utilisant le nom de service choisi par l’attaquant.</li>
<li data-start="1598" data-end="1661">Le ticket Kerberos est relayé vers ADCS avec <strong data-start="1898" data-end="1911">krbrelayx</strong>.</li>
<li data-start="1598" data-end="1661">ADCS délivre un certificat, que l’attaquant utilise pour obtenir un TGT.</li>
</ol>
<p style="text-align: justify;" data-start="1994" data-end="2217">La démonstration a mis en avant exactement ce scénario : ce qui n’était au départ qu’une requête SMB anodine s’est terminé par l’obtention d’un certificat valide et la possibilité d’usurper l’identité d’utilisateurs du domaine.</p>
<p dir="auto" style="text-align: justify;" data-line="30"> </p>
<h3 id="takeaways" class="code-line" dir="auto" style="text-align: justify;" data-line="32">Points clés</h3>
<ul style="text-align: justify;">
<li data-start="100" data-end="286"><strong data-start="100" data-end="134">Il faut considérer les solutions alternatives aux protocoles connus</strong> : le service <strong data-start="148" data-end="161">WebClient</strong> de Windows peut transformer silencieusement du trafic SMB en HTTP, contournant les protections censées empêcher le relais.</li>
<li data-start="289" data-end="427"><strong data-start="289" data-end="314">LLMNR reste dangereux</strong> : même lorsque NTLM est désactivé, les tickets Kerberos peuvent être contraints et relayés si LLMNR est actif.</li>
<li data-start="289" data-end="427"><strong data-start="430" data-end="441">Défense</strong> : désactiver le service <strong data-start="466" data-end="479">WebClient</strong>, bloquer ou désactiver <strong data-start="503" data-end="517">LLMNR/NBNS</strong>, et renforcer les protections d’ADCS. Sinon, les attaquants peuvent enchaîner ces primitives pour réaliser des relays dévastateurs.</li>
</ul>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="40">En conclusion, la présentation a montré comment les comportements de repli intégrés à Windows et les détails de certains protocoles souvent négligés peuvent transformer un trafic réseau apparemment anodin en une menace sérieuse. Des authentifications SMB qui seraient autrement ignorées peuvent être converties en requêtes HTTP pouvant être relayées, et des tickets Kerberos peuvent être redirigés vers des services sensibles pour obtenir des certificats valides. Pour les équipes Blue Team, les leçons sont claires : désactiver LLMNR et NBNS, arrêter le service WebClient sauf si nécessaire, et durcir les politiques de délivrance de certificats ADCS. Sans ces mesures, ce qui semble être un simple bruit de fond réseau peut devenir une voie d’accès menant à la compromission complète du domaine.</p>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="42"><em>Lien vers l&rsquo;article :</em></p>
<ul class="code-line" dir="auto" style="text-align: justify;" data-line="44">
<li class="code-line" dir="auto" data-line="44"><span style="color: #000080;"><a style="color: #000080;" href="https://www.synacktiv.com/publications/taking-the-relaying-capabilities-of-multicast-poisoning-to-the-next-level-tricking#4-implications-regarding-ntlm-relaying" data-href="https://www.synacktiv.com/publications/taking-the-relaying-capabilities-of-multicast-poisoning-to-the-next-level-tricking#4-implications-regarding-ntlm-relaying">Taking the relaying capabilities of multicast poisoning to the next</a></span></li>
</ul>
</div>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Piratage d&rsquo;un ticket de métro</h2>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="50"><em>Conférencier : Raphael Attias (rapatt)</em></p>
<p style="text-align: justify;" data-start="182" data-end="356">Cette présentation était à la fois amusante et un peu inquiétante : elle montrait à quel point il peut être facile de pirater des tickets de métro avec un <strong data-start="337" data-end="353">Flipper Zero</strong>.</p>
<p style="text-align: justify;" data-start="358" data-end="737">Pour ceux qui ne connaissent pas, le Flipper Zero est un <strong data-start="415" data-end="449">outil multi-fonctions de poche</strong> capable d’interagir avec divers protocoles radio, RFID, NFC, et plus encore. Même s’il ne peut pas lire tous les types de NFC, il fonctionne avec beaucoup de cartes courantes — y compris les <strong data-start="641" data-end="662">MiFare Ultralight</strong> utilisées dans de nombreux systèmes de métro, festivals, voire hôpitaux.</p>
<p style="text-align: justify;" data-start="739" data-end="1083">Le conférencier a commencé par expliquer l’évolution des tickets de métro : d’abord le papier perforé, puis les bandes magnétiques, et maintenant RFID/NFC. Dans la ville dans laquelle il réside, les tickets utilisent <strong data-start="932" data-end="953">MiFare Ultralight</strong>, qui offrent entre 48 et 144 octets de mémoire et un UID de 7 octets : très petits et simples comparés aux cartes plus modernes.</p>
<p style="text-align: justify;" data-start="1085" data-end="1655">Le détail clé : lors de la validation d’un ticket à une porte de métro, le système <strong data-start="1168" data-end="1228">met simplement à jour un octet sur la page 3 de la carte</strong> pour le marquer comme « utilisé ». Cela signifie que si l’on peut lire et écrire dans ce secteur, il est possible de remettre le ticket à « non utilisé » et de voyager à nouveau. Le conférencier a passé <strong data-start="1432" data-end="1465">neuf mois à analyser sa carte</strong>, en extrayant les données avant et après validation et en cartographiant quels octets contrôlaient quoi. Finalement, il a réussi à modifier les données pour obtenir des trajets illimités.</p>
<p style="text-align: justify;" data-start="1657" data-end="1990">Mais cela ne s’est pas arrêté là. Il a même pu <strong data-start="1704" data-end="1745">cloner le ticket sur son Flipper Zero</strong>, l’utiliser directement aux portillons, le montrer aux contrôleurs, et même le recharger sur les bornes officielles. Tout cela parce que le système <strong data-start="1894" data-end="1949">faisait confiance aux données stockées sur la carte</strong> plutôt que de tout gérer côté serveur.</p>
<p style="text-align: justify;" data-start="1992" data-end="2477">Bien sûr, cette attaque a ses limites. Elle dépend fortement du système de billetterie — toutes les villes n’utilisent pas MiFare Ultralight, et des implémentations plus avancées détecteraient ce type de manipulation. De plus, gérer des fonctionnalités comme les correspondances ou les dates d’expiration nécessite de modifier des champs supplémentaires, ce qui complique le piratage. Pourtant, dans ce cas précis, la conception faible du système rendait possible le voyage illimité.</p>
<p style="text-align: justify;" data-start="2479" data-end="2850">La solution semble simple : <strong data-start="2507" data-end="2598">ne conserver que l’UID sur la carte et déplacer toute la logique du ticket côté serveur</strong>. Ainsi, même si quelqu’un restaure ou clone sa carte, le système serveur saura si elle est valide ou non. Pour l’instant, la ville en question <strong data-start="2742" data-end="2773">n’a pas corrigé le problème</strong>, ce qui signifie que des trajets gratuits restent techniquement possibles.</p>
<p dir="auto" style="text-align: justify;" data-line="64"> </p>
<div style="text-align: justify;">
<h2>AsRepCatcher – ASRepRoast pour le VLAN utilisateur!</h2>
</div>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="53"><em>Conférencier : Yassine OUKESSOU</em></p>
<p style="text-align: justify;" data-start="61" data-end="359">Un nouvel outil nommé <strong data-start="83" data-end="99">AsRepCatcher</strong> a été développé par le <strong data-start="123" data-end="142">SOC Team Leader</strong> de l’équipe <strong data-start="155" data-end="165">ITrust</strong>. Comme l’auteur doit réaliser des audits internes réguliers, il se trouve confronté au problème suivant : <strong data-start="272" data-end="357">comment compromettre un compte de domaine valide sans disposer des identifiants ?</strong></p>
<p style="text-align: justify;" data-start="361" data-end="552">Bien qu’il existe de nombreuses techniques pour obtenir un accès initial, les environnements deviennent de plus en plus sécurisés et les remédiations sont appliquées de manière croissante :</p>
<ul style="text-align: justify;">
<li>EternalBlue / PrintNightmare / ZeroLogon : <strong>machines patchées</strong></li>
<li>LLMNR / NBT-NS / mDNS Poisoning : <strong>protocoles désactivés</strong></li>
<li>AsRep Roasting : <strong style="font-size: revert; color: initial;">pré-authentification activée</strong><span style="font-size: revert; color: initial;"> par défaut sur tous les comptes</span></li>
<li>Kerberoasting : <strong style="font-size: revert; color: initial;">SPN placés uniquement sur les comptes de service</strong><span style="font-size: revert; color: initial;"> et utilisation de </span><strong style="font-size: revert; color: initial;">gMSA</strong></li>
<li>Partages réseau : <strong style="font-size: revert; color: initial;">lecture désactivée</strong><span style="font-size: revert; color: initial;"> pour les comptes anonymes ou invités</span></li>
<li>Brute force sur mots de passe faibles : <strong style="font-size: revert; color: initial;">politique de mot de passe forte</strong></li>
<li>Relais : <strong style="font-size: revert; color: initial;">protocoles signés</strong></li>
<li>Phishing : <strong style="font-size: revert; color: initial;">sensibilisation des utilisateurs</strong></li>
</ul>
<p dir="auto" style="text-align: justify;" data-line="70"> </p>
<p style="text-align: justify;" data-start="61" data-end="179">Bien que cette liste ne soit pas exhaustive, elle représente la majorité des tests réalisés par un auditeur interne.</p>
<p style="text-align: justify;" data-start="181" data-end="528">Cependant, l’auteur a remarqué que <strong data-start="216" data-end="267">l’accès réseau est toujours fourni à l’auditeur</strong>, généralement dans la zone réservée aux utilisateurs standard : le <strong data-start="335" data-end="355">VLAN utilisateur</strong>. Dans ce VLAN, si un utilisateur capture le trafic, il pourra observer des paquets liés à l’authentification, en particulier avec les protocoles <strong data-start="501" data-end="509">NTLM</strong> ou <strong data-start="513" data-end="525">Kerberos</strong>.</p>
<p style="text-align: justify;" data-start="530" data-end="719">Il se trouve qu’avec le protocole Kerberos, <strong data-start="574" data-end="622">une dérivée du mot de passe de l’utilisateur</strong> est utilisée (appelée <strong data-start="645" data-end="653">hash</strong>) pour créer la requête <strong data-start="677" data-end="691">KRB_AS_REP</strong> (dans la clé de session).</p>
<p data-start="530" data-end="719"> </p>
<p dir="auto" data-line="76"><img fetchpriority="high" decoding="async" class="wp-image-27488 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Kerberos-authentication-229x191.png" alt="Kerberos authentication explicative scheme" width="664" height="554" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Kerberos-authentication-229x191.png 229w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Kerberos-authentication-47x39.png 47w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Kerberos-authentication.png 707w" sizes="(max-width: 664px) 100vw, 664px" /></p>
<p dir="auto" data-line="76"> </p>
<p style="text-align: justify;">Ainsi, <strong>un attaquant capable de récupérer cette requête</strong> pourrait ensuite tenter de casser le mot de passe de l’utilisateur. C’est exactement ce que tente de faire l’outil <strong>AsRepCatcher</strong> (d’où son nom).</p>
<p style="text-align: justify;">Pour récupérer la requête <strong>KRB_AS_REP</strong>, l’outil utilise une technique bien connue appelée ARP Spoofing :</p>
<p> </p>
<p dir="auto" data-line="82"><img decoding="async" class="wp-image-27484 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/ARP-Spoofing-Attack-416x191.png" alt="" width="741" height="340" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/ARP-Spoofing-Attack-416x191.png 416w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/ARP-Spoofing-Attack-71x33.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/ARP-Spoofing-Attack-768x353.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/ARP-Spoofing-Attack.png 925w" sizes="(max-width: 741px) 100vw, 741px" /></p>
<p dir="auto" data-line="82"> </p>
<p style="text-align: justify;" data-start="66" data-end="254">Un article de <strong data-start="80" data-end="92">Veracode</strong> explique ce qu’est l’ARP Spoofing et comment s’en protéger : <a class="decorated-link" href="https://www.veracode.com/security/arp-spoofing/" target="_new" rel="noopener" data-start="154" data-end="252"><span style="color: #333399;">https://www.veracode.com/security/arp-spoofing/</span></a></p>
<p style="text-align: justify;" data-start="256" data-end="575"><strong data-start="256" data-end="272">AsRepCatcher</strong> modifie la table ARP des utilisateurs légitimes du VLAN, qui enverront désormais leurs requêtes <strong data-start="369" data-end="383">KRB_AS_REQ</strong> vers l’attaquant. Ce dernier peut les modifier à la volée en changeant l’adresse IP source par la sienne et en ajustant également les algorithmes de chiffrement utilisés pour créer le hash.</p>
<p style="text-align: justify;" data-start="577" data-end="879">Cette information est cruciale car elle permet à l’attaquant de récupérer des <strong data-start="655" data-end="700">hashes chiffrés avec un algorithme faible</strong> (dans ce cas <strong data-start="714" data-end="721">RC4</strong>, si le KDC autorise son utilisation), ce qui facilite grandement le craquage de mots de passe (quelques secondes avec RC4 contre plusieurs jours avec AES).</p>
<p style="text-align: justify;" data-start="881" data-end="1105">L’outil propose également des fonctionnalités pour rester <strong data-start="939" data-end="969">plus discret sur le réseau</strong>, comme l’option <code data-start="986" data-end="1006">--disable-spoofing</code> permettant de <strong data-start="1021" data-end="1102">réinitialiser les tables ARP des utilisateurs dont le hash a déjà été capturé</strong>.</p>
<p style="text-align: justify;" data-start="1107" data-end="1303">Pour se protéger contre cet outil, il est donc recommandé de <strong data-start="1168" data-end="1226">mettre en place des remédiations contre l’ARP Spoofing</strong> et de <strong data-start="1233" data-end="1285">ne pas autoriser l’algorithme de chiffrement RC4</strong> sur le domaine.</p>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="96"><em>Lien vers l&rsquo;outil : <a href="https://github.com/Yaxxine7/ASRepCatcher" data-href="https://github.com/Yaxxine7/ASRepCatcher"><span style="color: #000080;">https://github.com/Yaxxine7/ASRepCatcher</span></a></em></p>
<p dir="auto" style="text-align: justify;" data-line="96"> </p>
<div style="text-align: justify;">
<h2 style="text-align: justify;">OSINT : comment la police nationale piste les personnes recherchées ?</h2>
</div>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="144"><em>Conférencier : Nidhal BEN ALOUI</em></p>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="146">Chaque année, <strong data-start="75" data-end="96">580 000 personnes</strong> sont inscrites dans le <strong data-start="120" data-end="157">Fichier des Personnes Recherchées</strong>. Chaque dossier contient des informations sur l’identité de la personne (nom, prénom, âge, etc.), une photographie, le motif de la recherche et les mesures à prendre si l’individu est retrouvé.</p>
<p dir="auto" data-line="146"> </p>
<p dir="auto" data-line="146"><img decoding="async" class=" wp-image-27486 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Fichier-des-personnes-recherchees-logo-202x191.png" alt="Fichier des personnes recherchées logo" width="304" height="287" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Fichier-des-personnes-recherchees-logo-202x191.png 202w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Fichier-des-personnes-recherchees-logo-41x39.png 41w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Fichier-des-personnes-recherchees-logo.png 357w" sizes="(max-width: 304px) 100vw, 304px" /></p>
<p dir="auto" data-line="146"> </p>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-23" data-testid="conversation-turn-46" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="12d468c9-5e69-4fd9-ad47-f3b25c902bb3" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p style="text-align: justify;" data-start="39" data-end="141" data-is-only-node="">Pour <strong data-start="44" data-end="84">faciliter le classement des dossiers</strong>, des <strong data-start="90" data-end="104">catégories</strong> ont été créées, parmi lesquelles :</p>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
<ul style="text-align: justify;">
<li data-start="107" data-end="157"><strong data-start="107" data-end="113">AL</strong> : personnes atteintes de troubles mentaux</li>
<li data-start="107" data-end="157"><strong data-start="160" data-end="166">IT</strong> : interdites de territoire</li>
<li data-start="198" data-end="224"><strong data-start="198" data-end="203">M</strong> : mineurs en fuite</li>
<li data-start="227" data-end="272"><strong data-start="227" data-end="233">PJ</strong> : recherches de la police judiciaire</li>
<li data-start="275" data-end="320"><strong data-start="275" data-end="280">R</strong> : opposition à la résidence en France</li>
<li data-start="323" data-end="351"><strong data-start="323" data-end="328">S</strong> : sécurité de l’État</li>
<li data-start="354" data-end="383"><strong data-start="354" data-end="359">T</strong> : débiteurs du Trésor</li>
<li data-start="386" data-end="402"><strong data-start="386" data-end="391">V</strong> : évadés</li>
<li data-start="405" data-end="434"><strong data-start="405" data-end="410">X</strong> : personnes disparues</li>
<li data-start="437" data-end="447"><strong data-start="437" data-end="445">etc.</strong></li>
</ul>
<p style="text-align: justify;" data-start="65" data-end="319">La <strong data-start="68" data-end="93">gendarmerie française</strong> est souvent sollicitée pour rechercher les personnes figurant sur cette liste dans le cadre d’enquêtes. Pour les retrouver, elle utilise <strong data-start="231" data-end="316">une combinaison de renseignements en source ouverte (OSINT) et de renseignements en source fermée</strong>.</p>
<p style="text-align: justify;" data-start="321" data-end="596">Pour la partie OSINT, <strong data-start="343" data-end="440">l’utilisation des réseaux sociaux, d’outils et de sites web publics est largement privilégiée</strong>. Une attention particulière est portée aux résultats fournis par ces outils publics, qui <strong data-start="530" data-end="593">ne sont jamais considérés comme sûrs par la gendarmerie</strong>.</p>
<p style="text-align: justify;" data-start="598" data-end="782">En ce qui concerne les sources fermées, la gendarmerie dispose d’<strong data-start="663" data-end="738">outils internes, de bases de données et de registres nationaux partagés</strong> qu’elle peut consulter lors des enquêtes.</p>
<p style="text-align: justify;" data-start="784" data-end="1084" data-is-only-node="">Il est également possible pour les <strong data-start="819" data-end="859">officiers de police judiciaire (OPJ)</strong> de <strong data-start="863" data-end="973">demander l’accès à des informations privées détenues par des entreprises via des « demandes dérogatoires »</strong>, ou même de <strong data-start="986" data-end="1081">communiquer en ligne avec de potentiels suspects dans le cadre d’une « enquête sous pseudonyme »</strong>.</p>
<p style="text-align: justify;" data-start="66" data-end="172">Cependant, <strong data-start="77" data-end="135">la loi encadre très précisément les actions autorisées</strong> par la gendarmerie, généralement :</p>
<ul style="text-align: justify;">
<li data-start="176" data-end="268">Les <strong data-start="180" data-end="205">demandes dérogatoires</strong> ne sont autorisées que dans le cadre d’<strong data-start="245" data-end="265">enquêtes pénales</strong>.</li>
<li data-start="271" data-end="393">Les <strong data-start="275" data-end="310">enquêtes menées sous pseudonyme</strong> nécessitent une <strong data-start="327" data-end="390">certification du Commandement de la Cyberdéfense (ComCyber)</strong>.</li>
<li data-start="396" data-end="626">Chaque <strong data-start="403" data-end="427">pseudonyme et avatar</strong> utilisé dans le cadre d’une enquête sous pseudonyme est <strong data-start="484" data-end="523">unique et enregistré dans une liste</strong> accessible à tous les officiers de police judiciaire, afin d’éviter qu’ils s’enquêtent mutuellement.</li>
<li data-start="629" data-end="768">Il est <strong data-start="636" data-end="689">interdit d’inciter quelqu’un à commettre un délit</strong> (par exemple, demander à un suspect potentiel d’acheter des biens illégaux).</li>
</ul>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-26" data-testid="conversation-turn-52" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="4e8b6ef7-e07a-4ddb-88a9-683307a06482" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p style="text-align: justify;" data-start="48" data-end="147" data-is-only-node="">Lors de la conférence, <strong data-start="71" data-end="97">deux histoires réelles</strong> ont été présentées pour illustrer ces concepts.</p>
<p data-start="48" data-end="147" data-is-only-node=""> </p>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
<h2 id="5---purple-team-methodology-and-tooling" class="code-line" dir="auto" style="text-align: justify;" data-line="0">Purple Team: méthodologie et outillage</h2>
<p style="text-align: justify;"><em>Conférencier: Mael Auzias</em></p>
<p style="text-align: justify;">Cette présentation, réalisée par Naval Group, abordait la problématique de la création d’une méthodologie et d’outils permettant de mettre en œuvre des Purple Teams et de les intégrer dans un plan d’audit plus large, afin de suivre l’évolution du niveau de sécurité et de comparer différents périmètres audités.</p>
<p style="text-align: justify;">En effet, dans le cadre des missions d’une équipe d’audit interne, il est essentiel de disposer de référentiels d’audit définis afin de mener correctement les évaluations et de comparer leurs résultats.</p>
<p style="text-align: justify;">Pour cela, un membre de la Red Team a collaboré avec la Blue Team de Naval Group afin de définir un cadre spécifique de tests et de restitution des résultats, qui sera utilisé pour évaluer les capacités de détection et de réponse de chaque entité auditée.</p>
<p dir="auto" style="text-align: justify;" data-line="6"> </p>
<h3 id="purple-team-presentation" class="code-line" dir="auto" style="text-align: justify;" data-line="7">Présentation Purple Team</h3>
<p style="text-align: justify;">Une Purple Team est un exercice au cours duquel la Red Team et la Blue Team collaborent étroitement, en partageant librement les actions malveillantes exécutées ainsi que les détections réalisées. L’objectif final est d’améliorer à la fois les capacités de détection et les réponses apportées.</p>
<p style="text-align: justify;">Pour bien préparer un exercice Purple Team, il est donc essentiel de définir :</p>
<ul style="text-align: justify;">
<li>Quel type de profil d’attaquant doit être simulé ?</li>
<li>Quels TTPs (Techniques, Tactiques et Procédures) seront ciblées pendant l’exercice ?</li>
<li>Quels sont les objectifs de la mission ?</li>
<li>Quelles sont les détections et réponses attendues ?</li>
</ul>
<p style="text-align: justify;">Une fois ces éléments clarifiés, l’exercice Purple Team peut débuter.</p>
<p dir="auto" style="text-align: justify;" data-line="16"> </p>
<h3 id="methodology-and-tooling-dedicated-to-the-internal-purple-team-exercises" class="code-line" dir="auto" style="text-align: justify;" data-line="18">Méthodologie et outils dédiés aux exercices internes de Purple Team</h3>
<h4 id="perform-tests" class="code-line" dir="auto" style="text-align: justify;" data-line="19">Phase de test</h4>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="20">Tout d’abord, la <strong data-start="66" data-end="112">méthodologie mise en place par Naval Group</strong> repose sur <a href="https://vectr.io"><strong data-start="124" data-end="133">VECTR</strong></a>, un outil destiné à <strong data-start="154" data-end="219">automatiser les tests et mesurer l’efficacité de la détection</strong>, en offrant un espace de collaboration entre les <strong data-start="269" data-end="276">Red</strong> et <strong data-start="280" data-end="294">Blue Teams</strong>. Dans ce cas précis, il n’est utilisé que comme <strong data-start="343" data-end="449">interface pour lancer automatiquement des attaques spécifiques et collecter les résultats des réponses</strong>.</p>
<p dir="auto" data-line="20"> </p>
<h4 id="grading-system" class="code-line" dir="auto" style="text-align: justify;" data-line="21">Système de notation</h4>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-29" data-testid="conversation-turn-58" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="f1e4e064-4dfc-4504-8beb-07351ef4aea5" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p style="text-align: justify;" data-start="51" data-end="168" data-is-only-node="">Une fois les attaques réalisées et les détections évaluées, les actions sont <strong data-start="128" data-end="164">classées dans le tableau suivant</strong> :</p>
<p data-start="51" data-end="168" data-is-only-node=""> </p>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
<figure id="attachment_27482" aria-describedby="caption-attachment-27482" style="width: 753px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-27482" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_table-437x144.png" alt="Expected/Observed detection rating" width="753" height="248" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_table-437x144.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_table-71x23.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_table-768x253.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_table.png 1255w" sizes="auto, (max-width: 753px) 100vw, 753px" /><figcaption id="caption-attachment-27482" class="wp-caption-text"><em>Evaluation des détections observées vis-à-vis des attentes</em></figcaption></figure>
<p dir="auto" style="text-align: justify;" data-line="22"> </p>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="26">Quatre situations peuvent être identifiées :</p>
<ul style="text-align: justify;">
<li data-start="68" data-end="202">Si une <strong data-start="75" data-end="125">détection observée correspond à celle attendue</strong>, l’action malveillante testée obtient la <strong data-start="167" data-end="190">note la plus élevée</strong> (ici, 7).</li>
<li data-start="205" data-end="327">Si une <strong data-start="212" data-end="270">détection observée est « inférieure » à celle attendue</strong>, elle reçoit une <strong data-start="288" data-end="305">mauvaise note</strong> (entre 1 et 3 ici).</li>
<li data-start="330" data-end="535">Si une <strong data-start="337" data-end="385">détection observée est légèrement supérieure</strong> (par exemple, le déclenchement d’une enquête d’incident plutôt qu’un simple événement), elle obtient une <strong data-start="491" data-end="513">note plutôt élevée</strong> (entre 5 et 6 ici).</li>
<li data-start="538" data-end="804">Enfin, si une <strong data-start="552" data-end="623">réaction observée est disproportionnée par rapport à celle attendue</strong>, elle reçoit une <strong data-start="641" data-end="656">note faible</strong> : déclencher une crise cyber globale pour une action qui n’aurait pas dû générer d’alerte peut s&rsquo;avérer très impactant pour le quotidien du<strong data-start="757" data-end="801"> système d’information</strong>.</li>
</ul>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="32">PS : ici, les différentes catégories ne correspondent pas exactement à celles présentées lors de l’événement.</p>
<p dir="auto" style="text-align: justify;" data-line="32"> </p>
<h4 id="final-grade" class="code-line" dir="auto" style="text-align: justify;" data-line="33">Note finale</h4>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-32" data-testid="conversation-turn-64" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="9bb668a7-2d64-4a61-a078-21649d61f167" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p style="text-align: justify;" data-start="49" data-end="262" data-is-last-node="" data-is-only-node="">Enfin, une fois que toutes les <strong data-start="80" data-end="121">catégories d’attaques ont été testées</strong>, une <strong data-start="127" data-end="162">formule mathématique spécifique</strong> permet de <strong data-start="173" data-end="200">calculer la note finale</strong> de la portée auditée, représentée dans le graphique suivant :</p>
</div>
</div>
</div>
</div>
<div class="mt-3 w-full empty:hidden">
<div class="text-center"> </div>
</div>
</div>
</div>
</article>
<figure id="attachment_27480" aria-describedby="caption-attachment-27480" style="width: 449px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-27480" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_graph-253x191.png" alt="Final grading graph" width="449" height="339" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_graph-253x191.png 253w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_graph-52x39.png 52w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Rating_graph.png 351w" sizes="auto, (max-width: 449px) 100vw, 449px" /><figcaption id="caption-attachment-27480" class="wp-caption-text"><em>Graphe final de notation</em></figcaption></figure>
<p dir="auto" style="text-align: justify;" data-line="34"> </p>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="38">Cette note finale permet de déduire les performances de la Blue Team, mais également de suivre l’évolution de cet indicateur dans le temps.</p>
<p dir="auto" data-line="38"> </p>
<h3 id="conclusion" class="code-line" dir="auto" style="text-align: justify;" data-line="40">Conclusion</h3>
<p data-start="49" data-end="350">Ainsi, en <strong data-start="59" data-end="140">définissant un cadre d’audit clair pour réaliser les exercices de Purple Team</strong>, Naval Group s’assure de <strong data-start="166" data-end="347">pouvoir évaluer correctement les performances des détections effectuées dans les différents périmètres de l’entreprise, de les comparer et de suivre leur évolution dans le temps</strong>.</p>
<p data-start="352" data-end="446" data-is-last-node="" data-is-only-node="">Cela <strong data-start="357" data-end="393">s’avérera d’autant plus efficace</strong> que le nombre d’exercices de Purple Team sera élevé.</p>
<p dir="auto" style="text-align: justify;" data-line="43"> </p>
<div style="text-align: justify;">
<h2><strong data-start="182" data-end="257">Logiciels peu populaires : comment les attaquants dupent les chercheurs</strong></h2>
<div>
<p class="code-line" dir="auto" data-line="228"><em>Confériencier : Georgy Kucherin</em></p>
<p data-start="65" data-end="202">Le conférencier, un <strong data-start="85" data-end="131">chercheur en vulnérabilités chez Kaspersky</strong>, présente une <strong data-start="146" data-end="199">étude de cas rencontrée lors d’une mission réelle</strong>.</p>
<p data-start="204" data-end="325">En tant qu’<strong data-start="215" data-end="249">analyste réseau pour un client</strong>, le chercheur a été interpellé par un résultat collecté dans le <strong data-start="314" data-end="322">SIEM</strong>.</p>
<p data-start="327" data-end="567">Le domaine <strong data-start="338" data-end="359">eventuallogic.com</strong> est récupéré et analysé sur la célèbre plateforme <strong data-start="410" data-end="424">VirusTotal</strong>, avec un score de <strong data-start="443" data-end="451">1/97</strong> (c’est-à-dire qu’un seul antivirus considère le domaine comme suspect ou dangereux, contre 96 qui le jugent sûr).</p>
<p data-start="569" data-end="680">Face à ce résultat, beaucoup se seraient arrêtés là, mais Georgy a poursuivi son investigation par curiosité.</p>
<p data-start="682" data-end="929">En visitant le site web, il constate que la société propose un logiciel de <strong data-start="757" data-end="784">compression de fichiers</strong>. Georgy le télécharge dans une <strong data-start="816" data-end="837">machine virtuelle</strong> et le teste. L’outil fonctionne correctement malgré la présence récurrente de publicités.</p>
<p data-start="931" data-end="1506">À ce stade, de nombreux chercheurs auraient classé le logiciel comme <strong data-start="1000" data-end="1042">PUA (Potentially Unwanted Application)</strong>, c’est-à-dire <strong data-start="1057" data-end="1100">application potentiellement indésirable</strong>, signifiant que le logiciel n’est pas souhaité sur un poste professionnel (principalement à cause des publicités), mais n’est pas considéré comme dangereux. Cependant, <strong data-start="1269" data-end="1350">seul le département informatique peut décider d’interdire ce type de logiciel</strong> ; il n’appartient pas aux analystes du <strong data-start="1390" data-end="1426">SOC (Security Operations Center)</strong> de trancher, sauf en cas de preuves d’activité malveillante liée au logiciel.</p>
<p data-start="1508" data-end="1654">Georgy décide de <strong data-start="1525" data-end="1587">prendre le temps d’analyser le logiciel plus en profondeur</strong>, en commençant par une <strong data-start="1610" data-end="1630">sandbox en ligne</strong> : <strong data-start="1633" data-end="1651">joesandbox.com</strong>.</p>
<p data-start="1656" data-end="1826">La sandbox exécute le logiciel dans un environnement contrôlé et l’analyse. Cette fois, le résultat est <strong data-start="1760" data-end="1770">56/100</strong>, indiquant que le logiciel a échoué à certains tests.</p>
<p data-start="1828" data-end="2131">Un fichier nommé <strong data-start="1845" data-end="1860">decrypt.exe</strong> est trouvé dans la mémoire de l’ordinateur pendant l’exécution du logiciel. Ce fichier est récupéré par Georgy et analysé sur VirusTotal, avec un score de <strong data-start="2016" data-end="2024">5/97</strong>. Toujours peu élevé, mais dans l’onglet des relations, un autre domaine apparaît : <strong data-start="2108" data-end="2128">decryptables.com</strong>.</p>
<p data-start="2133" data-end="2286">En répétant cette méthode plusieurs fois, Georgy remonte le fichier jusqu’à un autre domaine proposant un logiciel de compression : <strong data-start="2265" data-end="2283">Let’s Compress</strong>.</p>
<p data-start="2288" data-end="2461" data-is-only-node="">Le logiciel est de nouveau analysé sur <strong data-start="2327" data-end="2341">joesandbox</strong>, et cette fois Georgy découvre que le logiciel de compression exécute <strong data-start="2412" data-end="2458">un fichier Python compilé avec PyInstaller</strong>.</p>
<p class="code-line" dir="auto" data-line="252">Georgy a ensuite réalisé les analyses suivantes :</p>
<ul>
<li><strong>Extraire</strong> le contenu avec pyinstxtractor</li>
<li><strong>Convertir</strong> le fichier main.pyc en script Python lisible</li>
<li><strong>Déobfusquer</strong> le script .py obtenu</li>
<li><strong>Déchiffrer</strong> un fichier .json créé par le script</li>
<li>Identifier un appel à une <strong>infrastructure de Command &amp; Control (C2)</strong> dans ce fichier .json</li>
</ul>
<p data-start="65" data-end="151">Ces investigations réalisées, le chercheur tient la <strong data-start="107" data-end="148">preuve que le fichier est malveillant</strong>.</p>
<p data-start="153" data-end="277">Il a ensuite suffi  de suivre le chemin en sens inverse afin de <strong data-start="195" data-end="274">vérifier le lien entre le fichier malveillant et le domaine de base détecté</strong>.</p>
<p data-start="279" data-end="577" data-is-only-node="">L’objectif de tout cela est de montrer que <strong data-start="322" data-end="417">les acteurs malveillants mettent en place de nombreuses couches pour tromper les chercheurs</strong>, et que <strong data-start="426" data-end="574">même un score faible sur un outil largement reconnu comme VirusTotal n’est pas suffisant pour juger de la fiabilité d’un binaire ou d’un domaine</strong>.</p>
</div>
</div>
<p dir="auto" style="text-align: justify;" data-line="264"> </p>
<div style="text-align: justify;">
<h2>Analyse de binaires Linux malveillants avec r2ai</h2>
<div>
<p class="code-line" dir="auto" data-line="1"><em>Conférencière : Axelle Apvrille</em></p>
<p data-start="65" data-end="529">À une époque où <strong data-start="81" data-end="132">l’IA et la cybersécurité travaillent plus que jamais de concert</strong>, il était impossible de ne pas aborder ce type de sujet. Lors de cette présentation, <strong data-start="210" data-end="220">Axelle</strong> a présenté <strong data-start="232" data-end="240">r2ai</strong>, un nouveau plugin pour <strong data-start="265" data-end="276">radare2</strong>, le célèbre framework de reverse engineering. L’idée est <strong data-start="334" data-end="359">simple mais puissante</strong> : combiner les capacités de désassemblage de radare2 avec un <strong data-start="421" data-end="451">Large Language Model (LLM)</strong> afin de <strong data-start="460" data-end="526">traduire l’assembleur brut en un code source plus intelligible</strong>.</p>
<p data-start="531" data-end="706" data-is-only-node="">La conférence a illustré le potentiel de l’outil à travers l’analyse de <strong data-start="603" data-end="642">deux échantillons de malwares réels</strong>, mettant en évidence à la fois <strong data-start="674" data-end="703">ses forces et ses limites</strong>.</p>
<p dir="auto" data-line="5"> </p>
<h3 id="case-study-1-a-tiny-but-crafty-shellcode" class="code-line" dir="auto" data-line="6">Étude de cas #1 : Un shellcode petit mais astucieux</h3>
<p data-start="65" data-end="342">Le premier échantillon était un <strong data-start="97" data-end="128">shellcode ELF léger de 4 Ko</strong>, rempli d’astuces pour complexifier l’analyse statique. La recherche de chaînes dans la section .data <strong data-start="228" data-end="260">n’a rien donné d’intéressant</strong>, et même <strong data-start="270" data-end="280">Ghidra</strong> n’a fourni guère plus qu’une instruction <strong data-start="322" data-end="329">swi</strong> cryptique.</p>
<p data-start="344" data-end="804">Avec <strong data-start="349" data-end="357">r2ai</strong>, cependant, les résultats furent différents : le <strong data-start="403" data-end="453">désassemblage est devenu beaucoup plus lisible</strong>. Le modèle a mis en évidence la <strong data-start="486" data-end="509">création de sockets</strong> et une <strong data-start="517" data-end="550">routine connect-back suspecte</strong>. Mais un avertissement important est à noter : les <strong data-start="602" data-end="632">LLM peuvent « halluciner »</strong>. Par exemple, le modèle a initialement suggéré une connexion vers <strong data-start="699" data-end="717">127.0.0.1:4444</strong>, ce qui s’est révélé incorrect après un examen plus approfondi de l’assembleur réel.</p>
<p data-start="806" data-end="1069">Pour autant, le plugin a correctement <strong data-start="844" data-end="882">souligné un autre comportement clé</strong> : un appel à <strong data-start="896" data-end="908">mprotect</strong> modifiant les permissions de la pile en <strong data-start="949" data-end="956">RWX</strong>, un indicateur typique d’un <em>stager</em> se préparant à récupérer et exécuter une charge utile depuis un serveur C2.</p>
<p data-start="1071" data-end="1286" data-is-only-node="">Dans ce premier cas, <strong data-start="1092" data-end="1180">r2ai a montré comment il pouvait accélérer la découverte de la logique à haut niveau</strong>, tandis que les <strong data-start="1197" data-end="1283">analystes humains restaient essentiels pour valider et corriger son interprétation</strong>.</p>
<p dir="auto" data-line="14"> </p>
<h3 class="code-line" dir="auto" data-line="6">Étude de cas #2 : Ransomware Trigona sur Linux</h3>
<p data-start="65" data-end="375">Le second échantillon était <strong data-start="93" data-end="104">Trigona</strong>, une famille de <strong data-start="121" data-end="135">ransomware</strong> généralement observée dans des environnements Windows, mais avec une <strong data-start="205" data-end="234">variante Linux inattendue</strong> datant de mai 2023. Fait intéressant, le code avait été écrit en <strong data-start="300" data-end="310">Delphi</strong> — un choix surprenant qui a intrigué de nombreux participants.</p>
<p data-start="377" data-end="519">Bien que Trigona soit supposé inactif, <strong data-start="416" data-end="469">des échantillons circulaient encore en avril 2025</strong>, rendant l’analyse particulièrement pertinente.</p>
<p data-start="521" data-end="738">Ici, <strong data-start="526" data-end="534">r2ai</strong> a nécessité un <strong data-start="550" data-end="579">ajustement supplémentaire</strong> (augmentation du nombre maximum de tokens dans le contexte du modèle) pour compenser la taille du binaire, mais il a révélé des <strong data-start="708" data-end="734">comportements cruciaux</strong> :</p>
<ul>
<li data-start="742" data-end="808"><strong data-start="742" data-end="774">Arrêt de machines virtuelles</strong> pour maximiser la perturbation,</li>
<li data-start="811" data-end="858"><strong data-start="811" data-end="855">Localisation et chiffrement de documents</strong>,</li>
<li data-start="861" data-end="909"><strong data-start="861" data-end="888">Exfiltration de données</strong> avant chiffrement.</li>
</ul>
<p class="code-line" dir="auto" data-line="28">Les chercheurs ont souligné <strong data-start="939" data-end="1013">la rapidité avec laquelle ils ont pu cartographier toute la kill chain</strong>, comparé aux flux de travail traditionnels dans <strong data-start="1062" data-end="1073">IDA Pro</strong> ou <strong data-start="1077" data-end="1087">Ghidra</strong>.</p>
<p dir="auto" data-line="28"> </p>
<h3 id="limits-and-takeaways" class="code-line" dir="auto" data-line="30">Limites et leçons tirées de l&rsquo;analyse</h3>
<p data-start="65" data-end="146">La présentation s’est terminée par une discussion sur les <strong data-start="123" data-end="142">limites de r2ai</strong> :</p>
<ul>
<li data-start="150" data-end="254"><strong data-start="150" data-end="175">Contraintes de tokens</strong> : les analyses longues peuvent provoquer des plantages ou devenir coûteuses,</li>
<li data-start="257" data-end="451"><strong data-start="257" data-end="270">Précision</strong> : bien que les LLM puissent expliquer les <strong data-start="313" data-end="332">appels systèmes</strong> et le <strong data-start="339" data-end="359">flux de contrôle</strong>, ils inventent parfois des valeurs ou une logique que les analystes doivent <strong data-start="436" data-end="448">vérifier</strong>,</li>
<li data-start="454" data-end="591"><strong data-start="454" data-end="478">Usage complémentaire</strong> : r2ai ne remplace pas les outils standards, mais les <strong data-start="533" data-end="545">complète</strong>, en accélérant la formulation d’hypothèses.</li>
</ul>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-46" data-testid="conversation-turn-92" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="5951e73a-b2f6-4609-b0b9-0eacbef6f63c" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p data-start="593" data-end="790" data-is-only-node="">Néanmoins, l’expérience a montré que <strong data-start="630" data-end="710">coupler un modèle d’IA avec un désassembleur ouvre de nouvelles perspectives</strong> : un <strong data-start="716" data-end="787">reverse engineering interactif avec des requêtes en langage naturel</strong>.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
<p dir="auto" style="text-align: justify;" data-line="43"> </p>
<div style="text-align: justify;">
<h2>Peut-on scanner le réseau sans adresse IP ?</h2>
<p><em>Conférenciers : Julien M. &amp; Francis H.</em></p>
<p class="code-line" dir="auto" data-line="49">Cette présentation, donnée par <strong data-start="96" data-end="111">Naval Group</strong>, a présenté une <strong data-start="128" data-end="182">méthode de scan réseau sans révéler son adresse IP</strong>, en combinant le fonctionnement de <strong data-start="218" data-end="245">deux protocoles de base</strong>. Deux employés étaient sur scène, <strong data-start="280" data-end="323">un de la Red Team et un de la Blue Team</strong>.</p>
<p dir="auto" data-line="49"> </p>
<h3 id="the-protocol-basics" class="code-line" dir="auto" data-line="50">Fondamentaux protocolaires</h3>
<article class="text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" tabindex="-1" data-turn-id="request-WEB:95bd9168-29a4-4e21-bca4-9671586e47a3-48" data-testid="conversation-turn-96" data-scroll-anchor="true" data-turn="assistant">
<div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)">
<div class="[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1">
<div class="flex max-w-full flex-col grow">
<div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="91a8f62d-ba23-4339-8c8d-aacb99502488" data-message-model-slug="gpt-5-mini">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">
<div class="markdown prose dark:prose-invert w-full break-words dark markdown-new-styling">
<p data-start="65" data-end="255" data-is-last-node="" data-is-only-node="">Pour comprendre la présentation qui suit, il est important de <strong data-start="127" data-end="171">passer en revue deux protocoles célèbres</strong> : <strong data-start="174" data-end="211">ARP (Address Resolution Protocol)</strong> et <strong data-start="215" data-end="254">TCP (Transmission Control Protocol)</strong>.</p>
<p data-start="65" data-end="255" data-is-last-node="" data-is-only-node=""> </p>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
<h4 id="arp" class="code-line" dir="auto" data-line="52">ARP</h4>
<p data-start="65" data-end="212"><strong data-start="65" data-end="72">ARP</strong> est un protocole dédié à la <strong data-start="101" data-end="154">découverte des équipements présents sur un réseau</strong>, en associant une <strong data-start="173" data-end="188">adresse MAC</strong> à une <strong data-start="195" data-end="209" data-is-only-node="">adresse IP</strong>.</p>
<p data-start="214" data-end="470" data-is-only-node="">Pour réaliser cette étape de découverte, des <strong data-start="259" data-end="281">requêtes broadcast</strong> sont envoyées afin de demander <strong data-start="313" data-end="387">l’adresse MAC correspondant à une adresse IP de destination spécifique</strong>, si celle-ci n’est pas connue par l’équipement réseau (par exemple, un routeur).</p>
<p dir="auto" data-line="55"> </p>
<h4 id="tcp" class="code-line" dir="auto" data-line="56">TCP</h4>
<p data-start="65" data-end="358"><strong data-start="65" data-end="72">TCP</strong> est un <strong data-start="80" data-end="110">protocole de communication</strong> garantissant la <strong data-start="127" data-end="181">livraison fiable, ordonnée et vérifiée des données</strong>. Il repose sur l’envoi de <strong data-start="208" data-end="224">requêtes SYN</strong> par une source vers une destination. Différentes réponses peuvent être attendues selon l’<strong data-start="314" data-end="354" data-is-only-node="">accessibilité du port de destination</strong> :</p>
<ul>
<li data-start="362" data-end="460"><strong data-start="362" data-end="377">Port filtré</strong> : aucune réponse n’est renvoyée, car le paquet SYN n’atteint pas la destination.</li>
<li data-start="463" data-end="524"><strong data-start="463" data-end="477">Port fermé</strong> : un paquet <strong data-start="490" data-end="497">RST</strong> est renvoyé à la source.</li>
<li data-start="527" data-end="581"><strong data-start="527" data-end="542">Port ouvert</strong> : un paquet <strong data-start="555" data-end="566">SYN+ACK</strong> est renvoyé.</li>
</ul>
<p data-start="583" data-end="870" data-is-only-node="">Un autre cas peut être distingué : si le <strong data-start="624" data-end="682">port est ouvert mais que la source disparaît du réseau</strong> (par exemple après une coupure), le paquet <strong data-start="726" data-end="737">SYN+ACK</strong> est renvoyé <strong data-start="750" data-end="768">plusieurs fois</strong> (par exemple 5 fois pour certains équipements) par la destination afin de poursuivre l’échange TCP.</p>
<p dir="auto" data-line="62"> </p>
<h3 id="gathering-arp-and-tcp-and-maths" class="code-line" dir="auto" data-line="64">Aller plus loin avec TCP &amp; ARP</h3>
<p data-start="65" data-end="171">Ainsi, <strong data-start="72" data-end="168">une nouvelle méthodologie de scan émerge de la combinaison du fonctionnement d’ARP et de TCP</strong>.</p>
<p data-start="173" data-end="635">L’objectif est de <strong data-start="191" data-end="229">fabriquer un paquet SYN spécifique</strong>, en <strong data-start="234" data-end="265">falsifiant l’adresse source</strong> pour choisir une <strong data-start="283" data-end="347">adresse IP qui n’est pas actuellement utilisée sur le réseau</strong>, et de l’envoyer à la victime sur le port choisi. Selon la réponse de la destination, et puisque l’adresse IP source est inconnue du routeur, ce dernier enverra des <strong data-start="513" data-end="539">requêtes ARP broadcast</strong> pour localiser la source. De plus, <strong data-start="575" data-end="631">le nombre de requêtes ARP dépendra de l’état du port</strong> :</p>
<ul>
<li data-start="639" data-end="747"><strong data-start="639" data-end="654">Port filtré</strong> : aucune réponse n’est renvoyée par la destination, donc <strong data-start="712" data-end="744">aucune requête ARP broadcast</strong>.</li>
<li data-start="750" data-end="874"><strong data-start="750" data-end="764">Port fermé</strong> : un paquet <strong data-start="777" data-end="784">RST</strong> est envoyé par la destination à la source inconnue, donc <strong data-start="842" data-end="871">une requête ARP broadcast</strong>.</li>
<li data-start="877" data-end="1044"><strong data-start="877" data-end="892">Port ouvert</strong> : plusieurs paquets <strong data-start="913" data-end="924">SYN+ACK</strong> sont envoyés, car aucun paquet ACK ne sera renvoyé par la source inconnue, donc <strong data-start="1005" data-end="1041">plusieurs requêtes ARP broadcast</strong>.</li>
</ul>
<p data-start="1046" data-end="1194">L’attaquant n’aura alors qu’à <strong data-start="1076" data-end="1156">surveiller le nombre de requêtes ARP broadcast liées à l’IP inconnue usurpée</strong> pour déduire l’état du port scanné.</p>
<p data-start="1196" data-end="1400" data-is-only-node="">Cependant, certaines <strong data-start="1217" data-end="1237">limites existent</strong> : par exemple, le fait que le nombre de paquets SYN+ACK varie peut <strong data-start="1305" data-end="1334">induire des faux positifs</strong> et rendre <strong data-start="1345" data-end="1397">plus difficile le développement d’outils fiables</strong>.</p>
<p dir="auto" data-line="74"> </p>
<h3 id="what-does-the-soc-have-to-say" class="code-line" dir="auto" data-line="76">Qu&rsquo;en dit le SOC ?</h3>
<p data-start="65" data-end="217">Suite à la présentation de cette technique, le membre de la <strong data-start="128" data-end="141">Blue Team</strong> a expliqué le <strong data-start="156" data-end="179">point de vue du SOC</strong> la concernant.</p>
<p data-start="219" data-end="575">Tout d’abord, il est important de préciser que <strong data-start="266" data-end="359">bien que cette technique de scan soit assez difficile à détecter dans des scénarios réels</strong>, elle représente <strong data-start="377" data-end="441">une des nombreuses méthodes possibles pour scanner un réseau</strong>, et constitue donc <strong data-start="461" data-end="506">une fraction minime des scénarios de scan</strong> (au regard de la <strong data-start="524" data-end="548">matrice MITRE ATT&amp;CK</strong>) qu’un SOC doit couvrir.</p>
<p data-start="577" data-end="874" data-is-only-node="">De plus, ce <strong data-start="589" data-end="666">scénario de scan ne se produit que lorsqu&rsquo;une intrusion sur le réseau a déjà eu lieu</strong>, et ne constitue <strong data-start="684" data-end="715">pas la fin de la kill chain</strong>. La Blue Team dispose de <strong data-start="741" data-end="783">plusieurs autres mécanismes de défense</strong> pour stopper les attaques, que ce soit en amont ou en aval de cette action malveillante.</p>
<p dir="auto" data-line="81"> </p>
<h3 id="conclusion-1" class="code-line" dir="auto" data-line="83">Conclusion</h3>
<p class="code-line" dir="auto" data-line="84">Ainsi, <strong data-start="72" data-end="126">même si cette méthode de scan est assez ingénieuse</strong>, les équipes <strong data-start="132" data-end="146">Blue Team</strong> ne sont pas forcément contraintes de la prendre en compte et de passer du temps à résoudre le problème. Cette conclusion peut même être <strong data-start="283" data-end="329">généralisée à d’autres découvertes futures</strong> : une Blue Team doit <strong data-start="351" data-end="374">choisir ses combats</strong>, en fonction de la <strong data-start="394" data-end="430">criticité des techniques d’attaque</strong> et des <strong data-start="438" data-end="473">ressources humaines disponibles</strong>.</p>
</div>
<p dir="auto" style="text-align: justify;" data-line="84"> </p>
<div style="text-align: justify;">
<h2>Deux rapports, deux réalités : ce qu’on nous dit et ce qu’on nous cache</h2>
<div>
<div>
<p class="code-line" dir="auto" data-line="69"><em>Conférencier : Koreth</em></p>
<p data-start="65" data-end="319">Cette présentation portait sur un problème <strong data-start="108" data-end="164">que tout le monde connaît trop bien</strong> : nous sommes <strong data-start="179" data-end="236">ensevelis sous les alertes, notifications et rapports</strong>, alors que les plus importants sont souvent <strong data-start="281" data-end="316">les premiers à passer inaperçus</strong>.</p>
<p data-start="321" data-end="828"><strong data-start="321" data-end="337">Silent Ghost</strong> a commencé par quelques exemples bien connus. Prenons la <strong data-start="395" data-end="412">faille Target</strong> : 70 millions de cartes de crédit ont été compromises, et l’alerte était là, mais elle ressemblait trop à du spam, donc personne n’a agi. Même histoire à <strong data-start="567" data-end="583">Rouen (2019)</strong>, où un email de phishing a déposé un malware se propageant latéralement sur le réseau. L’alerte initiale a été signalée, mais ignorée. <strong data-start="719" data-end="750">Colonial Pipeline en 2021 ?</strong> Là encore, une notification existait — mais personne n’y a prêté attention.</p>
<p data-start="830" data-end="1304">Et ce n’est pas un problème nouveau. En <strong data-start="870" data-end="878">2016</strong>, la <strong data-start="883" data-end="890">NSA</strong> a subi un vol de données sensibles parce qu’un employé a simplement utilisé une clé USB pour les exfiltrer. <strong data-start="994" data-end="1016">SolarWinds en 2019</strong> a montré le danger d’une <strong data-start="1042" data-end="1071">pipeline CI/CD compromise</strong>, pourtant très peu de personnes ont remarqué les signes précoces. Plus récemment, <strong data-start="1154" data-end="1170">Kiabi (2024)</strong> a subi une fraude de <strong data-start="1192" data-end="1216">100 millions d’euros</strong> par un comptable interne — les signaux d’alerte étaient là, mais noyés dans le bruit.</p>
<p data-start="1306" data-end="1686">Le problème structurel est clair : <strong data-start="1341" data-end="1408">seulement 0,13 % des pull requests sont étiquetées « security »</strong>, alors qu’en réalité près de <strong data-start="1438" data-end="1469">15 % impliquent la sécurité</strong>. Cet écart signifie que <strong data-start="1494" data-end="1553">de vraies vulnérabilités restent visibles mais ignorées</strong>. Silent Ghost a souligné un <strong data-start="1582" data-end="1589">CVE</strong> qui a nécessité <strong data-start="1606" data-end="1647">plus de 100 correctifs non documentés</strong> avant d’être officiellement reconnu.</p>
<p data-start="1688" data-end="2131">Les <strong data-start="1692" data-end="1720">programmes de bug bounty</strong> subissent le même sort. Lorsqu’il gèrait des programmes privés chez <strong data-start="1787" data-end="1800">YesWeHack</strong>, il constatait que <strong data-start="1818" data-end="1887">les boîtes mail sont saturées de rapports exagérés ou mal rédigés</strong> : des emails décrivant des vulnérabilités « CVSS 10 » qui ne sont en réalité que <strong data-start="1969" data-end="2000">des en-têtes mal configurés</strong> ou <strong data-start="2004" data-end="2039">une clé API Google Maps exposée</strong>. Le volume de ce bruit risque d’<strong data-start="2072" data-end="2128">enterrer les quelques découvertes vraiment critiques</strong>.</p>
<p data-start="2133" data-end="2442" data-is-only-node="">La conclusion est claire : <strong data-start="2160" data-end="2214">en tant qu’industrie, nous devons travailler sur la réduction du bruit</strong>. Moins de notifications inutiles, un meilleur tri et des standards de <em>reporting</em> plus clairs aideraient à <strong data-start="2320" data-end="2360">faire passer les alertes importantes</strong>. Sinon, la <strong data-start="2372" data-end="2413">prochaine alerte majeure sera ignorée</strong>, tout comme la précédente.</p>
</div>
<div> </div>
</div>
</div>
<div style="text-align: justify;"> </div>
<div style="text-align: justify;">
<h2>OASIS &#8211; Ollama Automated Security Intelligence Scanner</h2>
<p class="code-line" dir="auto" data-line="40"><em>Conférencier : psyray (Raynald Coupé)</em></p>
<p data-start="65" data-end="300">Une autre présentation sur l’<strong data-start="94" data-end="134">utilisation de l’IA en cybersécurité</strong> portait sur <strong data-start="147" data-end="156">OASIS</strong>, un <strong data-start="161" data-end="249">framework open source conçu pour effectuer des revues de code avec l’aide de modèles d’IA</strong>, en mettant l’accent sur la <strong data-start="278" data-end="297">confidentialité</strong>.</p>
<p data-start="302" data-end="538">Son créateur a développé l’outil par <strong data-start="339" data-end="352">nécessité</strong> : les solutions d’IA traditionnelles basées sur le SaaS posent problème lorsqu’il s’agit de travailler sur du <strong data-start="463" data-end="487">code client sensible</strong>, rendant un <strong data-start="500" data-end="535">déploiement local indispensable</strong>.</p>
<p data-start="540" data-end="837" data-is-only-node="">Comme son nom l’indique, <strong data-start="565" data-end="594">OASIS s’appuie sur Ollama</strong>, un <strong data-start="599" data-end="726">système léger permettant aux développeurs d’exécuter des modèles de langage de grande taille sur leur propre infrastructure</strong>. Le résultat est une <strong data-start="748" data-end="834">solution pratique pour des audits de code sécurisés, évolutifs et personnalisables</strong>.</p>
<p dir="auto" data-line="46"> </p>
<h3 id="architecture-and-workflow" class="code-line" dir="auto" data-line="48">Architecture et fonctionnement</h3>
<p data-start="65" data-end="433">Sur le plan technique, **OASIS repose sur un système d’<strong data-start="120" data-end="144">embedding sémantique</strong> : le code source est transformé en vecteurs, permettant une <strong data-start="205" data-end="229">analyse contextuelle</strong> dépassant le simple <strong data-start="250" data-end="270">pattern matching</strong>. Cette base permet à l’IA de <strong data-start="300" data-end="374">repérer les vulnérabilités d’une manière proche du raisonnement humain</strong>. L’outil propose plusieurs <strong data-start="402" data-end="429">modes de fonctionnement</strong> :</p>
<ul>
<li data-start="437" data-end="675"><strong data-start="437" data-end="451">Mode Audit</strong> : un <strong data-start="457" data-end="472">scan rapide</strong> pour identifier les zones à haut risque dans de <strong data-start="521" data-end="546">grandes bases de code</strong>. En ajustant les seuils, les analystes peuvent <strong data-start="594" data-end="625">minimiser les faux positifs</strong> tout en obtenant un <strong data-start="646" data-end="672" data-is-only-node="">aperçu global efficace</strong>.</li>
<li data-start="678" data-end="713"><strong data-start="678" data-end="709">Scan Standard (deux phases)</strong> :
<ol>
<li>Un <strong data-start="721" data-end="737">modèle léger</strong> met en évidence le code <strong data-start="762" data-end="789">potentiellement suspect</strong>,</li>
<li>Un <strong data-start="800" data-end="824">modèle plus puissant</strong> effectue une <strong data-start="838" data-end="861">analyse approfondie</strong> des sections signalées. Idéal pour <strong data-start="897" data-end="960">les projets volumineux avec des profils de risque cohérents</strong>.</li>
</ol>
</li>
<li data-start="966" data-end="1004"><strong data-start="966" data-end="1000">Scan Adaptatif (multi-niveaux)</strong> :
<ol>
<li data-start="1009" data-end="1079">Un <strong data-start="1012" data-end="1029">scan statique</strong> avec <strong data-start="1035" data-end="1056">patterns et regex</strong> (rapide et sans IA),</li>
<li data-start="1084" data-end="1145">Un <strong data-start="1087" data-end="1103">modèle léger</strong> pour détecter les problèmes de surface,</li>
<li data-start="1150" data-end="1204">Une <strong data-start="1154" data-end="1201">analyse contextuelle avec scoring de risque</strong>,</li>
<li data-start="1209" data-end="1262">Une <strong data-start="1213" data-end="1234">revue approfondie</strong> avec un <strong data-start="1243" data-end="1259">modèle lourd</strong>.</li>
</ol>
</li>
</ul>
<p data-start="1264" data-end="1391" data-is-only-node="">Cette approche <strong data-start="1279" data-end="1293">échelonnée</strong> garantit <strong data-start="1303" data-end="1318">flexibilité</strong>, allant d’un <strong data-start="1332" data-end="1348">audit rapide</strong> à une <strong data-start="1355" data-end="1388">analyse complète et détaillée</strong>.</p>
<p> </p>
<h3 id="detection-capabilities" class="code-line" dir="auto" data-line="62">Couverture des vulnérabilités</h3>
<p data-start="65" data-end="148"><strong data-start="65" data-end="74">OASIS</strong> est conçu pour <strong data-start="90" data-end="133">détecter un large éventail de problèmes</strong>, notamment :</p>
<ul>
<li data-start="152" data-end="194"><strong data-start="152" data-end="174">Vulnérabilités web</strong> : XSS, XXE, CSRF,</li>
<li data-start="197" data-end="230"><strong data-start="197" data-end="227">Failles d’authentification</strong>,</li>
<li data-start="233" data-end="271"><strong data-start="233" data-end="268">Exposition de données sensibles</strong>,</li>
<li data-start="274" data-end="377"><strong data-start="274" data-end="302">Erreurs de configuration</strong>, comme le <strong data-start="313" data-end="331">path traversal</strong> ou des <strong data-start="339" data-end="374">suites cryptographiques faibles</strong>.</li>
</ul>
<p data-start="379" data-end="523" data-is-only-node="">Le framework <strong data-start="392" data-end="440">supporte plusieurs langages de programmation</strong> et peut même <strong data-start="454" data-end="489">générer des requêtes Burp Suite</strong> pour <strong data-start="495" data-end="520">valider les résultats</strong>.</p>
<p dir="auto" data-line="69"> </p>
<h3 id="reporting-and-outputs" class="code-line" dir="auto" data-line="71">Rapport et résultats</h3>
<p data-start="65" data-end="183">Au-delà de la détection, <strong data-start="90" data-end="130">OASIS génère des rapports structurés</strong> au format <strong data-start="141" data-end="166">PDF, Markdown ou HTML</strong>, documentant :</p>
<ul>
<li data-start="187" data-end="306"><strong data-start="187" data-end="219">La chaîne d’attaque complète</strong> pour chaque vulnérabilité (point d’entrée, chemin d’exploitation, impact potentiel),</li>
<li data-start="309" data-end="415"><strong data-start="309" data-end="347">Des recommandations de remédiation</strong>, aidant les développeurs à <strong data-start="375" data-end="412">corriger rapidement les problèmes</strong>.</li>
</ul>
<p data-start="417" data-end="579" data-is-only-node="">Ces rapports sont donc <strong data-start="440" data-end="492">utilisables à la fois par les équipes techniques</strong> et par les <strong data-start="504" data-end="516">managers</strong> ayant besoin d’une <strong data-start="536" data-end="576">vision plus globale du risque projet</strong>.</p>
</div>
<p dir="auto" style="text-align: justify;" data-line="76"> </p>
<h2 dir="auto" style="text-align: justify;" data-line="76">Enseignements tirés d&rsquo;une intrusion cyber en milieu industriel</h2>
<p style="text-align: justify;"><em>Conférenciers : Hack’im et Antxine</em></p>
<p style="text-align: justify;" data-start="65" data-end="177">Cette présentation a été donnée par <strong data-start="101" data-end="122">deux intervenants</strong> à propos d’un <strong data-start="137" data-end="174">retour d’expérience post-incident</strong>.</p>
<p style="text-align: justify;" data-start="179" data-end="545">En effet, <strong data-start="189" data-end="230">l’un de leurs clients les a contactés</strong> après avoir branché une <strong data-start="255" data-end="266">clé USB</strong> sur un poste de travail standard, déclenchant une alerte de l’<strong data-start="329" data-end="336">EDR</strong>. La situation était <strong data-start="357" data-end="372">suspicieuse</strong>, car cette clé USB n’avait <strong data-start="400" data-end="437">jamais généré d’alerte auparavant</strong>, et elle était uniquement utilisée pour <strong data-start="478" data-end="515">mettre à jour un serveur autonome</strong>, séparé du reste du réseau.</p>
<p data-start="179" data-end="545"> </p>
<h3 style="text-align: justify;" data-start="552" data-end="576">Démarrage de l&rsquo;investigation</h3>
<p style="text-align: justify;" data-start="578" data-end="717">L’attention s’est donc portée sur le <strong data-start="615" data-end="626">serveur</strong>, probablement infecté par un <strong data-start="656" data-end="681">programme malveillant</strong> qui s’était propagé à la clé USB.</p>
<p style="text-align: justify;" data-start="719" data-end="1063">En utilisant des outils classiques pour <strong data-start="759" data-end="794">récupérer les 900 Go du serveur</strong> et <strong data-start="798" data-end="854">analyser le système de fichiers et les fichiers EVTX</strong>, les enquêteurs ont découvert un <strong data-start="888" data-end="941">programme suspect caché dans le dossier %APPDATA%</strong>, nommé <strong data-start="949" data-end="961">aL4N.exe</strong>. Un exécutable inconnu dans ce dossier est <strong data-start="1005" data-end="1016">anormal</strong>, ce qui a attiré l’attention des enquêteurs.</p>
<p dir="auto" style="text-align: justify;" data-line="97"> </p>
<h3 id="al4nexe" class="code-line" dir="auto" style="text-align: justify;" data-line="99">aL4N.exe</h3>
<p style="text-align: justify;" data-start="1086" data-end="1325">En utilisant <strong data-start="1099" data-end="1113">VirusTotal</strong> pour évaluer le niveau de dangerosité de l’exécutable, celui-ci a obtenu un <strong data-start="1190" data-end="1222">indice de détection de 52/94</strong>, ce qui était préoccupant et a poussé les enquêteurs à poursuivre leur analyse dans cette direction.</p>
<p style="text-align: justify;" data-start="1327" data-end="1493">Grâce à cette piste, ils ont découvert que ce <strong data-start="1373" data-end="1450">malware était présent sur le serveur depuis sa masterisation en 2016</strong>, et avait été introduit via une clé USB.</p>
<p style="text-align: justify;" data-start="1495" data-end="1658">Des traces d’<strong data-start="1508" data-end="1547">investigations internes précédentes</strong> ont été retrouvées, notamment un fichier mentionnant la présence de <strong data-start="1616" data-end="1628">aL4N.exe</strong> identifié par des employés.</p>
<p style="text-align: justify;" data-start="1660" data-end="1936">Écrit en <strong data-start="1669" data-end="1679">AutoIT</strong>, ce malware <strong data-start="1692" data-end="1769">établit un tunnel de communication vers un serveur C2 (Command &amp; Control)</strong>. Cependant, dans ce cas précis, le <strong data-start="1805" data-end="1858">serveur distant avait été configuré sur localhost</strong>, ce qui révèle un <strong data-start="1877" data-end="1933">manque de connaissances de l&rsquo;acteur malveillant</strong>.</p>
<p style="text-align: justify;" data-start="1938" data-end="2247">Le <strong data-start="1941" data-end="1967">système de réplication</strong> de ce malware est atypique. Dès qu’un <strong data-start="2006" data-end="2042">stockage externe de plus de 1 Go</strong> est connecté à une cible infectée, <strong data-start="2078" data-end="2090">aL4N.exe</strong> crée un dossier <strong data-start="2107" data-end="2122">My Pictures</strong>, le cache, s’y copie lui-même, et crée un <strong data-start="2165" data-end="2195">raccourci pour My Pictures</strong> qui exécute <strong data-start="2208" data-end="2220">aL4N.exe</strong> lorsqu’on clique dessus.</p>
<p dir="auto" style="text-align: justify;" data-line="109"> </p>
<h3 id="conclusion-2" class="code-line" dir="auto" style="text-align: justify;" data-line="111">Conclusion</h3>
<p class="code-line" dir="auto" style="text-align: justify;" data-line="112">Le <strong data-start="2275" data-end="2301">principal enseignement</strong> de cette présentation est d’<strong data-start="2330" data-end="2403">installer des mécanismes de détection sur tous les composants d’un SI</strong>, même s’ils sont <strong data-start="2421" data-end="2452">séparés du réseau principal</strong>. Il est également possible de mettre en place des <strong data-start="2503" data-end="2572">stations de détection et de nettoyage efficaces pour les clés USB</strong> afin de <strong data-start="2581" data-end="2617">sanitiser les supports amovibles</strong>, même si, dans le cas de cette entreprise, les dispositifs existants n’avaient pas détecté <strong data-start="2709" data-end="2721">aL4N.exe</strong>.</p>


<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/09/barbhack-ce-quil-faut-en-retenir/">BarbHack : Ce qu&rsquo;il faut en retenir</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/2025/09/barbhack-ce-quil-faut-en-retenir/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
