Retour aux mises Ă  jour
New releaseAug 2, 2026

burner-net v1.3.0

Client HTTP anti-forensique zero-trust. Efface les secrets. Coupe les traces. RCP dans un Tank Furtif. đź‘»

Partager

BurnerNet

Client HTTP anti-forensique et zéro confiance. Efface les secrets. Coupe les traces. RCR dans un tank furtif. 👻

BurnerNet est un client HTTP anti-forensique en C++20. Il offre une API fluide de style CPR pour les applications qui ne peuvent pas faire entièrement confiance à la machine locale, en effaçant physiquement les secrets de la RAM et en supprimant les traces d'exécution pour dissimuler votre logique aux scanners et aux débogueurs.

Il propose des valeurs par défaut familières compatibles avec l'hôte pour le HTTP ordinaire et un profil Hardened explicite pour les environnements hostiles. Les deux chemins privilégient des clients à durée de vie courte ; la confiance avancée reste la propriété de l'application.

Vous cherchez à protéger les charges utiles téléchargées par BurnerNet ? Découvrez RipStop Codec pour le désembrouillage d'actifs en mémoire.

Principes • Pour commencer • Chemins d'intégration • Réalité sécuritaire – La défense boîte blanche

En un coup d'œil

DomaineBurnerNet
LangageC++20
PlateformeWindows x64/x86 (Première classe), Linux (Vérifié)
TransportHTTP(S) basé sur libcurl
Hygiène mémoireUtilitaires de nettoyage sécurisé et allocateurs avec effacement
Hygiène forensiqueNettoyage automatique du tas/pile sur l'ensemble de l'état de transport géré par BurnerNet
Analyse dynamiqueL'isolation de la pile d'appels peut rompre le lien entre le consommateur et le transport
Renforcement de la compilationSuppression optionnelle des chaînes de diagnostic, littéraux obscurcis, métadonnées réduites du runtime C++ dans les versions renforcées
Renforcement à l'exécutionPrise en charge de DoH, secrets basés sur des fournisseurs et contrôles de confiance plus stricts
IntégrationCMake ou ajout de sources dans Visual Studio

Pourquoi l'utiliser

Utilisez BurnerNet lorsqu'un client HTTP normal est trop confiant pour votre environnement.

Il est utile quand vous voulez :

  • garder les clients de requĂŞtes Ă  courte durĂ©e de vie plutĂ´t que de partager un transport global
  • rĂ©duire la dĂ©pendance au DNS local et autres valeurs par dĂ©faut de l'hĂ´te
  • rĂ©cupĂ©rer les jetons, certificats et secrets de vĂ©rification uniquement en cas de besoin
  • conserver la logique de vĂ©rification des rĂ©ponses dans votre propre code applicatif
  • rĂ©duire les chaĂ®nes en clair Ă©videntes et les mĂ©tadonnĂ©es dans les versions renforcĂ©es

Ă€ qui s'adresse-t-il

BurnerNet convient Ă  des projets tels que :

  • applications de bureau Windows avec des requĂŞtes d'authentification, de licence ou de mise Ă  jour Ă  haute valeur
  • code embarquĂ© ou injectĂ© s'exĂ©cutant sur un hĂ´te auquel vous ne faites pas entièrement confiance
  • outils qui souhaitent des contrĂ´les de transport plus stricts sans renoncer Ă  une API C++ fluide

Pile standard vs BurnerNet

PréoccupationPile HTTP typiqueBurnerNet
Durée de vie du clientSouvent partagée et longueConçue pour des clients jetables et une portée en rafale
Valeurs sensiblesLes secrets restent souvent en mémoire plus longtemps que nécessaireLes callbacks fournisseurs les récupèrent près de l'utilisation
DNS et confianceHérite généralement du résolveur local et des valeurs par défaut de l'hôtePrend en charge des contrôles de confiance plus stricts, y compris le repli DoH et les clés épinglées
VérificationLes contrôles d'intégrité spécifiques à l'application sont souvent ajoutés après coupConstruit pour fonctionner avec des hooks de vérification avant vol, transport et réponse

Résultats défensifs

  • Architecture mĂ©moire sans fantĂ´me : BurnerNet utilise un nettoyeur Ă  prĂ©fixe-taille personnalisĂ© pour accrocher les chemins d'allocation mĂ©moire interne de libcurl et des flux basĂ©s sur OpenSSL. Les tampons de transport sensibles sont effacĂ©s dès qu'ils quittent la durĂ©e de vie gĂ©rĂ©e par BurnerNet. Cette hygiène est vĂ©rifiĂ©e Ă  la fois sur Windows et Linux dans les configurations auditĂ©es dĂ©crites dans la documentation.
  • Balayage de la pile : Après chaque requĂŞte, la bibliothèque nettoie proactivement sa propre pile de threads (nettoyage Ă  la marque de hautes eaux). Cela vise Ă  dĂ©truire les fragments de transport Ă©phĂ©mères avant que le contrĂ´le ne revienne Ă  votre application.
  • Cible mouvante sur le tas : La combinaison de transports jetables et d'en-tĂŞtes de mĂ©tadonnĂ©es alignĂ©s crĂ©e une dispersion Ă©levĂ©e de l'espace d'adressage, rendant la mĂ©moire du processus imprĂ©visible et rĂ©sistante au mappage stable de pointeurs.
  • État de requĂŞte Ă  courte durĂ©e de vie : BurnerNet est conçu autour de clients jetables plutĂ´t que de transports singleton Ă  l'Ă©chelle du processus.
  • Moins de confiance dans l'hĂ´te : La prise en charge de DoH, le support des clĂ©s Ă©pinglĂ©es et l'audit du transport aident Ă  rĂ©duire la dĂ©pendance vis-Ă -vis des valeurs par dĂ©faut locales compromises.
  • Exposition moindre au texte clair : Les callbacks fournisseurs et les utilitaires de nettoyage sĂ©curisĂ© rĂ©duisent la durĂ©e de vie des certificats, clĂ©s, jetons et autres tampons sensibles.
  • VĂ©rification propriĂ©taire de l'application : La vĂ©rification des rĂ©ponses reste dans votre code via WithResponseVerifier(...) au lieu d'ĂŞtre codĂ©e en dur dans une bibliothèque partagĂ©e.
  • Empreinte statique plus difficile : Les versions renforcĂ©es peuvent dĂ©finir BURNERNET_DIAGNOSTIC_STRINGS=0 afin que ErrorCodeToString(...) renvoie des valeurs stables E<numĂ©ro> sans intĂ©grer de noms d'erreur symboliques.
  • Options de dĂ©ploiement Ă  importations lĂ©gères : BURNERNET_HARDEN_IMPORTS=1 peut rĂ©soudre les dĂ©pendances d'exĂ©cution dynamiquement au lieu de les annoncer directement dans la table d'importation, en utilisant le chemin KernelResolver de BurnerNet sur Windows.
  • Isolation de la pile d'appels (dĂ©lĂ©gation asynchrone) : Lorsqu'elle est activĂ©e via .WithStackIsolation(true), la bibliothèque exĂ©cute le cycle de vie du transport sur un thread de travail dĂ©tachĂ©. Cela peut physiquement rompre la pile d'appels de l'appelant et rĂ©duire le traçage descendant direct de la logique applicative.

Furtivité vérifiée

BurnerNet ne se contente pas de revendiquer un mode renforcé à importations légères ; il fournit également des notes d'audit pour des configurations testées spécifiques. Dans un audit Windows x64 Release avec BURNERNET_HARDEN_IMPORTS=ON :

  • Blackout IAT : Aucune entrĂ©e pour libcurl.dll, ws2_32.dll, bcrypt.dll ou crypt32.dll n'a Ă©tĂ© observĂ©e dans le binaire auditĂ©.
  • Obscurcissement mĂ©moire : Les scans forensiques (Cheat Engine "All Strings") n'ont pas rĂ©ussi Ă  dĂ©couvrir d'URL ou d'en-tĂŞtes sensibles (canary) dans le tas ou la pile du processus.
  • Aveuglement du dĂ©bogueur : Les tests intĂ©grĂ©s vĂ©rifient que la bibliothèque dĂ©clenche un "changement d'identitĂ©". Le dĂ©cideur (votre application) et le transporteur (BurnerNet) opèrent sur des identifiants de threads distincts, rĂ©duisant le traçage descendant lors de sessions de dĂ©bogage en direct.
  • Rapport signal/bruit : La bibliothèque vise une hygiène forensique dans son pĂ©rimètre d'effacement, tout en reconnaissant les "ombres" rĂ©siduelles au niveau du système et de l'environnement d'exĂ©cution.

Détails et méthodologie de l'audit :

Pour commencer

Chemin le plus rapide :

  • Ajoutez BurnerNet Ă  votre build avec CMake ou en ajoutant les sources dans Visual Studio.
  • Incluez <burner/net.h>.
  • CrĂ©ez un client sur la pile, envoyez une requĂŞte, puis laissez-le sortir de la portĂ©e.

Exemple minimal :

Catégories