Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Formbook-Payload-Extraction-XOR-Decryption-Net-Assembly-Analysis — Análisis de ingeniería inversa de Formbook, un info-stealer que utiliza manipulación de ensamblados .NET y descifrado XOR. Payload completo extraído mediante x32dbg, incluyendo el bucle de descifrado XOR, la inicialización del CLR, el señuelo SQLExpress y las API de keylogger/portapapeles. | Kitploit
Herramientas/GitHubGitHub/kaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis
Análisis EstáticoAnálisis Dinámico (Sandboxing)Ingeniería InversaDepuradoresRecopilación de InformaciónAnálisis de MalwareForensia DigitalAnálisis de BinariosPapers e Investigación
GitHubkaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis

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

Ver Repositorio
612hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Análisis de ingeniería inversa de Formbook, un info-stealer que utiliza manipulación de ensamblados .NET y descifrado XOR. Payload completo extraído mediante x32dbg, incluyendo el bucle de descifrado XOR, la inicialización del CLR, el señuelo SQLExpress y las API de keylogger/portapapeles.

Compartir

1. x32dbg – Descifrado de configuración cifrada y asignación de memoria

El volcado de memoria de x32dbg revela que Formbook descifra sus datos de configuración y asigna memoria para ellos utilizando NtAllocateVirtualMemory.

Observaciones clave:

  • NtAllocateVirtualMemory – Asigna memoria para la carga útil descifrada.
  • mov edx, dword ptr ds:[esi+1C] – Recupera el tamaño de los datos cifrados desde el registro ESI.
  • push 0x1000 – Utiliza MEM_COMMIT para asignar memoria.
  • push 0 – Especifica el tipo de asignación o el indicador de protección.
  • mov edx, dword ptr ds:[esi+4] – Recupera otro valor de configuración.
  • lea ecx, [ebp-4] – Carga un puntero a una variable local.
  • test ecx, ecx – Comprueba si el puntero es válido.
  • mov ecx, [esi+1C] – Recupera de nuevo el tamaño de los datos cifrados.
  • push 0x1000 – Repite el indicador MEM_COMMIT.
  • push 0 – Repite el indicador de asignación.

Sección inferior del volcado:

  • ConnectionStrings – Clave de configuración de .NET para direcciones C2.
  • system.data, DbProviderFactories – Secciones de configuración de .NET (probablemente señuelos).
  • system.serviceModel – Sección del modelo de servicio de .NET.
  • <DbProviderFactories /> – Elemento XML vacío (señuelo).

Por qué esto es importante:

  • Descifrado de configuración: Formbook descifra su configuración en memoria.
  • Direcciones C2: ConnectionStrings probablemente contiene las URL de C2.
  • Evasión: El uso de palabras clave de configuración de .NET ayuda a evitar la detección.

Referencia visual:

Formbook Encrypted Configuration & Memory Allocation Vista de x32dbg mostrando NtAllocateVirtualMemory y el descifrado de ConnectionStrings.

2. x32dbg – Manipulación de ensamblados .NET, descifrado XOR e inicialización del CLR

Esta vista de x32dbg revela que Formbook utiliza la manipulación de ensamblados .NET, el descifrado basado en XOR y la inicialización del CLR (Common Language Runtime) para ejecutar su carga útil.

Observaciones clave:

  • xor eax, eax – Limpia EAX, lo que indica un descifrado basado en XOR.
  • call 0x6C6E7F60 – Llama a una función de descifrado o procesamiento.
  • call 0x6C6EE8B0 – Llama a otra función de procesamiento.
  • DllCanUnloadNowInternal – Gestiona la carga y descarga de ensamblados .NET.
  • PublicKeyToken=31bf3856ad364e35 – Suplanta a un ensamblado de Microsoft.
  • system.serviceModel – Configuración del modelo de servicio de .NET (comunicación C2).
  • System.Web – Configuración web de .NET (C2 basado en HTTP).
  • clr.NGenCreateNGenWorker – Crea un trabajador del Generador de imágenes nativas de .NET.
  • clr.GetCLRFunction – Recupera funciones del CLR.
  • return to clr.Initialize – Inicializa el runtime de .NET.

Por qué esto es importante:

  • Descifrado XOR: El xor eax, eax y las funciones call posteriores confirman el descifrado basado en XOR.
  • Ejecución .NET: Formbook utiliza el CLR para ejecutar su carga útil.
  • Suplantación: El PublicKeyToken hace que parezca un ensamblado de Microsoft.
  • Configuración C2: system.serviceModel y System.Web almacenan la configuración de C2.

Referencia visual:

Formbook .NET Assembly, XOR Decryption & CLR Vista de x32dbg mostrando el descifrado XOR, DllCanUnloadNowInternal y la inicialización del CLR.

3. x32dbg – Señuelo SQLExpress e inicialización del CLR

Esta vista de x32dbg revela que Formbook utiliza una cadena relacionada con SQLExpress como señuelo e inicializa el CLR de .NET para ejecutar su carga útil.

Observaciones clave:

  • L"ce=..\SQLEXPR" – Una cadena señuelo, no relacionada con el robo de datos de SQL. Se utiliza para hacer que el malware parezca un componente legítimo de SQL Server Express
  • clr.InitializeFusion – Inicializa el cargador de ensamblados Fusion de .NET, que se utiliza para cargar la carga útil de .NET en memoria.
  • clr.GetCLRFunction – Recupera funciones del CLR para ejecutar código administrado.
  • clr.NGenCreateNGenWorker – Crea un trabajador del Generador de imágenes nativas de .NET, lo que permite que la carga útil se ejecute sin compilación JIT.
  • return to clr.InitializeFusion+1751 – Regresa a la rutina de inicialización del CLR.

Por qué esto es importante:

  • Suplantación: La cadena SQLEXPR es un señuelo para evadir la detección por parte de herramientas de seguridad.
  • Ejecución .NET: Formbook utiliza el CLR para cargar y ejecutar su carga útil directamente en memoria
  • Evasión: La inicialización del CLR ayuda al malware a eludir el análisis estático.

Referencia visual:

Formbook SQLExpress Decoy & CLR Initialization Vista de x32dbg mostrando L"ce=..\SQLEXPR", clr.InitializeFusion y funciones del CLR.

4. x32dbg – Inicio de la carga útil y bucle de descifrado XOR

Esta vista de x32dbg revela el inicio de la carga útil de Formbook, ubicada después del mensaje estándar del stub DOS del PE. El malware utiliza un bucle de descifrado XOR para descifrar su carga útil en memoria.

Instrucciones de ensamblado clave:

  • This program cannot be run in DOS mode – Mensaje estándar del stub DOS del PE.
  • xor dword ptr ds:[edi], eax – Aplica XOR a los datos en EDI con EAX (descifrado).
  • mov al, byte ptr ds:[edi+1] – Carga un byte desde EDI+1 en AL.
  • xor al, byte ptr ds:[edx+1] – Aplica XOR a AL con el byte en EDX+1 (clave de descifrado).
  • mov byte ptr ds:[edi], al – Escribe el byte descifrado de vuelta en EDI.
  • call ntdll.77DDE45C – Llama a RtlIsCurrentThreadAttachExempt (anti-depuración).
  • cmp dword ptr ds:[esi+4], 0 – Comprueba si el contador (ESI+4) es cero.
  • sub dword ptr ds:[esi+4], eax – Decrementa el contador.
  • test edx, edx – Comprueba si EDX es cero.
  • jne ntdll.77DDF9F4 – Vuelve atrás si no es cero (bucle de descifrado).

Por qué esto es importante:

  • Inicio de la carga útil: La carga útil comienza después del stub DOS estándar del PE.
  • Descifrado XOR: Formbook descifra su carga útil en memoria utilizando XOR.
  • Anti-depuración: Llama a RtlIsCurrentThreadAttachExempt para evadir depuradores.
  • Bucle: El bucle de descifrado continúa hasta que el contador llega a cero.

Referencia visual:

Formbook Payload XOR Decryption Loop Vista de x32dbg mostrando el bucle de descifrado XOR después del mensaje estándar del stub DOS del PE.

5. Binary Ninja – API de keylogger, portapapeles y escalada de privilegios

El análisis de Binary Ninja de la carga útil extraída revela una lista completa de API utilizadas por Formbook para el registro de pulsaciones, el secuestro del portapapeles y la escalada de privilegios.

API clave observadas:

Descargar herramienta