Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Formbook-Payload-Extraction-XOR-Decryption-Net-Assembly-Analysis — Analyse de rétro-ingénierie de Formbook, un info-stealer qui utilise la manipulation d'assembly .NET et le déchiffrement XOR. Charge utile complète extraite via x32dbg, incluant la boucle de déchiffrement XOR, l'initialisation du CLR, le leurre SQLExpress, et les API de keylogger/presse-papiers. | Kitploit
Outils/GitHubGitHub/kaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis
Analyse StatiqueAnalyse Dynamique (Sandboxing)Rétro-ingénierieDébogueursCollecte d'InformationsAnalyse de MalwareCriminalistique NumériqueAnalyse de BinairesArticles et Recherche
GitHubkaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis

Formbook-Payload-Extraction-XOR-Decryption-Net-Assembly-Analysis

Voir le dépôt
65il y a 2 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Analyse de rétro-ingénierie de Formbook, un info-stealer qui utilise la manipulation d'assembly .NET et le déchiffrement XOR. Charge utile complète extraite via x32dbg, incluant la boucle de déchiffrement XOR, l'initialisation du CLR, le leurre SQLExpress, et les API de keylogger/presse-papiers.

Partager

1. x32dbg – Déchiffrement de la configuration chiffrée et allocation mémoire

Le dump mémoire de x32dbg révèle que Formbook déchiffre ses données de configuration et alloue de la mémoire pour celles-ci à l'aide de NtAllocateVirtualMemory.

Observations clés :

  • NtAllocateVirtualMemory – Alloue de la mémoire pour la charge utile déchiffrée.
  • mov edx, dword ptr ds:[esi+1C] – Récupère la taille des données chiffrées depuis le registre ESI.
  • push 0x1000 – Utilise MEM_COMMIT pour allouer de la mémoire.
  • push 0 – Spécifie le type d'allocation ou l'indicateur de protection.
  • mov edx, dword ptr ds:[esi+4] – Récupère une autre valeur de configuration.
  • lea ecx, [ebp-4] – Charge un pointeur vers une variable locale.
  • test ecx, ecx – Vérifie si le pointeur est valide.
  • mov ecx, [esi+1C] – Récupère à nouveau la taille des données chiffrées.
  • push 0x1000 – Répète l'indicateur MEM_COMMIT.
  • push 0 – Répète l'indicateur d'allocation.

Section inférieure du dump :

  • ConnectionStrings – Clé de configuration .NET pour les adresses C2.
  • system.data, DbProviderFactories – Sections de configuration .NET (probablement un leurre).
  • system.serviceModel – Section du modèle de service .NET.
  • <DbProviderFactories /> – Élément XML vide (leurre).

Pourquoi c'est important :

  • Déchiffrement de la configuration : Formbook déchiffre sa configuration en mémoire.
  • Adresses C2 : ConnectionStrings contient probablement les URL C2.
  • Évasion : L'utilisation de mots-clés de configuration .NET aide à éviter la détection.

Référence visuelle :

Formbook Encrypted Configuration & Memory Allocation Vue x32dbg montrant NtAllocateVirtualMemory et le déchiffrement de ConnectionStrings.

2. x32dbg – Manipulation d'assembly .NET, déchiffrement XOR et initialisation du CLR

Cette vue x32dbg révèle que Formbook utilise la manipulation d'assembly .NET, le déchiffrement basé sur XOR et l'initialisation du CLR (Common Language Runtime) pour exécuter sa charge utile.

Observations clés :

  • xor eax, eax – Efface EAX, indiquant un déchiffrement basé sur XOR.
  • call 0x6C6E7F60 – Appelle une fonction de déchiffrement ou de traitement.
  • call 0x6C6EE8B0 – Appelle une autre fonction de traitement.
  • DllCanUnloadNowInternal – Gère le chargement/déchargement d'assembly .NET.
  • PublicKeyToken=31bf3856ad364e35 – Usurpe l'identité d'un assembly Microsoft.
  • system.serviceModel – Configuration du modèle de service .NET (communication C2).
  • System.Web – Configuration web .NET (C2 basé sur HTTP).
  • clr.NGenCreateNGenWorker – Crée un worker du Native Image Generator .NET.
  • clr.GetCLRFunction – Récupère les fonctions CLR.
  • return to clr.Initialize – Initialise le runtime .NET.

Pourquoi c'est important :

  • Déchiffrement XOR : Les xor eax, eax et les fonctions call suivantes confirment un déchiffrement basé sur XOR.
  • Exécution .NET : Formbook utilise le CLR pour exécuter sa charge utile.
  • Usurpation d'identité : Le PublicKeyToken lui donne l'apparence d'un assembly Microsoft.
  • Configuration C2 : system.serviceModel et System.Web stockent les paramètres C2.

Référence visuelle :

Formbook .NET Assembly, XOR Decryption & CLR Vue x32dbg montrant le déchiffrement XOR, DllCanUnloadNowInternal et l'initialisation du CLR.

3. x32dbg – Leurre SQLExpress et initialisation du CLR

Cette vue x32dbg révèle que Formbook utilise une chaîne liée à SQLExpress comme leurre et initialise le CLR .NET pour exécuter sa charge utile.

Observations clés :

  • L"ce=..\SQLEXPR" – Une chaîne leurre, sans rapport avec le vol de données SQL. Elle est utilisée pour faire passer le malware pour un composant légitime de SQL Server Express
  • clr.InitializeFusion – Initialise le chargeur d'assembly .NET Fusion, utilisé pour charger la charge utile .NET en mémoire.
  • clr.GetCLRFunction – Récupère les fonctions CLR pour exécuter du code managé.
  • clr.NGenCreateNGenWorker – Crée un worker du Native Image Generator .NET, permettant à la charge utile de s'exécuter sans compilation JIT.
  • return to clr.InitializeFusion+1751 – Retourne à la routine d'initialisation du CLR.

Pourquoi c'est important :

  • Usurpation d'identité : La chaîne SQLEXPR est un leurre pour échapper à la détection par les outils de sécurité.
  • Exécution .NET : Formbook utilise le CLR pour charger et exécuter sa charge utile directement en mémoire
  • Évasion : L'initialisation du CLR aide le malware à contourner l'analyse statique.

Référence visuelle :

Formbook SQLExpress Decoy & CLR Initialization Vue x32dbg montrant L"ce=..\SQLEXPR", clr.InitializeFusion et les fonctions CLR.

4. x32dbg – Début de la charge utile et boucle de déchiffrement XOR

Cette vue x32dbg révèle le début de la charge utile de Formbook, située après le message standard du stub DOS du PE. Le malware utilise une boucle de déchiffrement XOR pour déchiffrer sa charge utile en mémoire.

Instructions assembleur clés :

  • This program cannot be run in DOS mode – Message standard du stub DOS du PE.
  • xor dword ptr ds:[edi], eax – Applique un XOR sur les données à EDI avec EAX (déchiffrement).
  • mov al, byte ptr ds:[edi+1] – Charge un octet depuis EDI+1 dans AL.
  • xor al, byte ptr ds:[edx+1] – Applique un XOR sur AL avec l'octet à EDX+1 (clé de déchiffrement).
  • mov byte ptr ds:[edi], al – Réécrit l'octet déchiffré à EDI.
  • call ntdll.77DDE45C – Appelle RtlIsCurrentThreadAttachExempt (anti-débogage).
  • cmp dword ptr ds:[esi+4], 0 – Vérifie si le compteur (ESI+4) est à zéro.
  • sub dword ptr ds:[esi+4], eax – Décrémente le compteur.
  • test edx, edx – Teste EDX pour zéro.
  • jne ntdll.77DDF9F4 – Revient en boucle si non nul (boucle de déchiffrement).

Pourquoi c'est important :

  • Début de la charge utile : La charge utile commence après le stub DOS standard du PE.
  • Déchiffrement XOR : Formbook déchiffre sa charge utile en mémoire à l'aide de XOR.
  • Anti-débogage : Appelle RtlIsCurrentThreadAttachExempt pour échapper aux débogueurs.
  • Boucle : La boucle de déchiffrement continue jusqu'à ce que le compteur atteigne zéro.

Référence visuelle :

Formbook Payload XOR Decryption Loop Vue x32dbg montrant la boucle de déchiffrement XOR après le message standard du stub DOS du PE.

5. Binary Ninja – API de keylogger, presse-papiers et élévation de privilèges

L'analyse Binary Ninja de la charge utile extraite révèle une liste complète d'API utilisées par Formbook pour le keylogging, le détournement du presse-papiers et l'élévation de privilèges.

API clés observées :

Télécharger l’outil