BTR Reforged : le driver de remédiation Windows Defender transformé en primitive noyau offensive
đ Contexte PubliĂ© le 20 aoĂ»t 2026 par JiĆĂ Vinopal (Check Point Research), cet article prĂ©sente la premiĂšre rĂ©tro-ingĂ©nierie complĂšte du driver BTR.sys (Windows Defender Boot-Time Removal), un composant lĂ©gitime signĂ© Microsoft embarquĂ© dans MpEngine.dll. Lâanalyse a dĂ©butĂ© lors dâune investigation de rĂ©ponse Ă incident oĂč le driver avait Ă©tĂ© initialement confondu avec un artefact malveillant en raison de ses caractĂ©ristiques inhabituelles. âïž Fonctionnement de BTR.sys Origine : embarquĂ© comme ressource PE (BOOTTIMETOOL) dans MpEngine.dll, dĂ©posĂ© sur disque avec un nom alĂ©atoire ([a-z]{8}.sys) uniquement lors dâactions de remĂ©diation nĂ©cessitant un redĂ©marrage Configuration : lue depuis un Alternate Data Stream (ADS) (:changelist) chiffrĂ© par RC4 avec une clĂ© de 256 octets codĂ©e en dur dans la section .rdata, identique sur toutes les versions IntĂ©gritĂ© : vĂ©rifiĂ©e par un CRC-32 modifiĂ© (~CRC32, sans inversion finale), non cumulatif par structure Comportement : driver « one-shot » â charge, exĂ©cute les transactions, gĂ©nĂšre un rapport, puis se dĂ©charge immĂ©diatement en retournant 0xC0000056 (STATUS_DELETE_PENDING) đïž Structure de transaction (format propriĂ©taire) Global Header (24 octets) : magic 0xFEE1DEAD, version 0x00000002, CRC, TransID Global Payload : chemin Unicode du fichier de feedback (rapport dâexĂ©cution) Item Header (16 octets) : DataSize, ActionID, CRC Item Data : variable selon lâActionID đ Action IDs weaponisables OpĂ©rations fichiers : ...