<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Kernel Primitive on CyberVeille</title>
    <link>https://cyberveille.ch/tags/kernel-primitive/</link>
    <description>Recent content in Kernel Primitive on CyberVeille</description>
    <generator>Hugo -- 0.146.0</generator>
    <language>fr-fr</language>
    <copyright>Cyberveille CC BY-NC-SA 4.0</copyright>
    <lastBuildDate>Sat, 22 Aug 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://cyberveille.ch/tags/kernel-primitive/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BTR Reforged : le driver de remédiation Windows Defender transformé en primitive noyau offensive</title>
      <link>https://cyberveille.ch/posts/2026-08-22-btr-reforged-le-driver-de-remediation-windows-defender-transforme-en-primitive-noyau-offensive/</link>
      <pubDate>Sat, 22 Aug 2026 00:00:00 +0200</pubDate>
      <guid>https://cyberveille.ch/posts/2026-08-22-btr-reforged-le-driver-de-remediation-windows-defender-transforme-en-primitive-noyau-offensive/</guid>
      <description>&lt;h2 id=&#34;-contexte&#34;&gt;🔍 Contexte&lt;/h2&gt;
&lt;p&gt;Publié le 20 août 2026 par Jiří Vinopal (Check Point Research), cet article présente la &lt;strong&gt;première rétro-ingénierie complète&lt;/strong&gt; du driver &lt;code&gt;BTR.sys&lt;/code&gt; (&lt;em&gt;Windows Defender Boot-Time Removal&lt;/em&gt;), un composant légitime signé Microsoft embarqué dans &lt;code&gt;MpEngine.dll&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;analyse a débuté lors d&amp;rsquo;une investigation de réponse à incident où le driver avait été initialement confondu avec un artefact malveillant en raison de ses caractéristiques inhabituelles.&lt;/p&gt;
&lt;h2 id=&#34;-fonctionnement-de-btrsys&#34;&gt;⚙️ Fonctionnement de BTR.sys&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Origine&lt;/strong&gt; : embarqué comme ressource PE (&lt;code&gt;BOOTTIMETOOL&lt;/code&gt;) dans &lt;code&gt;MpEngine.dll&lt;/code&gt;, déposé sur disque avec un nom aléatoire (&lt;code&gt;[a-z]{8}.sys&lt;/code&gt;) uniquement lors d&amp;rsquo;actions de remédiation nécessitant un redémarrage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration&lt;/strong&gt; : lue depuis un &lt;strong&gt;Alternate Data Stream (ADS)&lt;/strong&gt; (&lt;code&gt;:changelist&lt;/code&gt;) chiffré par &lt;strong&gt;RC4&lt;/strong&gt; avec une clé de 256 octets codée en dur dans la section &lt;code&gt;.rdata&lt;/code&gt;, identique sur toutes les versions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Intégrité&lt;/strong&gt; : vérifiée par un &lt;strong&gt;CRC-32 modifié&lt;/strong&gt; (~CRC32, sans inversion finale), non cumulatif par structure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comportement&lt;/strong&gt; : driver « one-shot » — charge, exécute les transactions, génère un rapport, puis se décharge immédiatement en retournant &lt;code&gt;0xC0000056&lt;/code&gt; (STATUS_DELETE_PENDING)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-structure-de-transaction-format-propriétaire&#34;&gt;🗂️ Structure de transaction (format propriétaire)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Global Header&lt;/strong&gt; (24 octets) : magic &lt;code&gt;0xFEE1DEAD&lt;/code&gt;, version &lt;code&gt;0x00000002&lt;/code&gt;, CRC, TransID&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global Payload&lt;/strong&gt; : chemin Unicode du fichier de feedback (rapport d&amp;rsquo;exécution)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Item Header&lt;/strong&gt; (16 octets) : DataSize, ActionID, CRC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Item Data&lt;/strong&gt; : variable selon l&amp;rsquo;ActionID&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-action-ids-weaponisables&#34;&gt;🔑 Action IDs weaponisables&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Opérations fichiers :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
