Skip to content

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Malyzer

Malyzer

Herramienta de análisis de malware multi-formato para Windows

PE · APK · Office · PDF · Scripts · JAR · ELF · Mach-O · LNK · OneNote · DNS Email · todo desde una sola interfaz


.NET WPF Windows Licencia Idioma

https://r3li4nt.github.io/tools/Malyzer


Características · Novedades v1.1 · Instalación · Uso · Stack · Roadmap


Malyzer integra 14 módulos que cubren el ciclo completo de análisis defensivo — triage, análisis estático profundo, sandbox dinámico, threat intel, análisis DNS de correo, subida de muestras y reportes — sobre 14 formatos de archivo distintos. Pensado para que un analista no tenga que saltar entre PEStudio, CFF Explorer, x64dbg, JADX, oletools, peepdf, LECmd y otras siete utilidades.

Malyzer

Important

Uso defensivo únicamente. Esta herramienta es para análisis e investigación. No incluye capacidades ofensivas ni se distribuye junto a payloads maliciosos. Trabajá siempre en VMs aisladas con snapshots.


🆕 Novedades en v1.1

Lanzamiento centrado en vectores de phishing modernos, verificación de firmas robusta y subida de muestras.

Tres formatos nuevos

Formato Vector Detecciones
.lnk (Windows Shortcut) #1 en spear-phishing moderno Parser MS-SHLLINK · LOLBins (powershell, mshta, rundll32, certutil…) · PowerShell encoded · ventanas ocultas · icon spoofing · URLs en argumentos · paths sospechosos en %TEMP%/AppData
.one (Microsoft OneNote) Vector hot 2023+ FileDataStoreObject embedded · ejecutables/JAR/APK/scripts/HTML · LOLBins en strings · PowerShell encoded
.eml / .msg (Email) Phishing por email Headers RFC 5322 + OLE Outlook · SPF/DKIM/DMARC · From vs Reply-To mismatch · doble extensión · RTL override (U+202E) · URL shorteners · IPs literales · ISO/IMG/VHD evade-MOTW

Otras novedades destacadas

  • 🔐 Authenticode robusto — Verificación con WinVerifyTrust + chain validation + revocation. Pestaña dedicada "Firma digital" en Análisis estático con sujeto, emisor, vencimiento, huella SHA-1, algoritmo y resultado de verificación binaria.
  • 🏷️ Rich Header parser — Decodifica los metadatos del compilador (productID/build) escondidos entre el DOS stub y el PE header. Tabla de mapeo Visual Studio 2003-2022. Útil para attribution y para detectar binarios stripped/manipulados.
  • 🔬 MalwareBazaar + ThreatFox integrados — Dos nuevas fuentes de abuse.ch en Threat Intel. Lookup de hashes con familia y reglas YARA matcheadas, IOCs estructurados con familia y nivel de confianza.
  • 📤 Subida de muestras — Tab nueva en Threat Intel para enviar muestras a VirusTotal y MalwareBazaar sin salir de la app. Soporta tags, comentario, modo público/privado, polling automático y detección de duplicados (devuelve el reporte directamente sin re-subir).
  • 👁️ Visualización de detecciones por motor AV — Cada subida tiene un botón con icono de ojo que abre un modal con los 72+ motores antivirus de VirusTotal y su veredicto individual (categoría, detección, versión, fecha de actualización), con filtros de búsqueda y "solo maliciosos".
  • ✉️ Análisis DNS de correo — Módulo nuevo que audita la postura anti-spoofing de un dominio vía DNS-over-HTTPS (Cloudflare / Google): SPF, DMARC, DKIM (multi-selector), MX, MTA-STS, TLS-RPT, BIMI y DNSSEC. Incluye expansión recursiva del SPF que cuenta los 10 lookups DNS reales (detecta PermError y void lookups), descarga y validación del policy MTA-STS por HTTPS, y reputación DNSBL de los MX (Spamhaus, Barracuda, SpamCop, SORBS). Score 0-100 con hallazgos priorizados.
  • 📄 Más exportación PDF — Threat Intel (lookup), Subidas, Multi-formato y DNS de correo ahora se pueden exportar como reporte PDF estilizado.

📊 De un vistazo

Formatos soportados 14 — PE, APK, OOXML, OLE, PDF, scripts, JAR, ELF, Mach-O, ZIP, LNK, OneNote, Email, binarios
Módulos UI 14 páginas funcionales con sidebar y navegación
Servicios 26+ servicios autocontenidos en Servicios/
Técnicas MITRE 26 sobre 9 tácticas, mapeo automático
Reglas YARA 10 built-in + soporte de reglas externas .yar
Strings i18n 1.000+ (ES/EN, cambio en runtime sin reiniciar)
Stack .NET 8 · WPF · WindowChrome moderno · 100% Windows nativo

📋 Tabla de contenidos


🎯 Por qué Malyzer

Cuando llega una muestra desconocida a tu laboratorio, el flujo típico requiere abrir entre 5 y 10 herramientas distintas. Malyzer condensa ese flujo en una sola UI con triage automático y profundización guiada.

Necesidad Workflow tradicional Con Malyzer
Identificar el formato del binario file, magic bytes manuales ✅ Auto-detección por magic bytes (14 formatos)
Análisis estático de PE PEStudio + CFF Explorer + Detect It Easy ✅ Integrado con scoring
Verificar firma Authenticode signtool + inspección manual WinVerifyTrust + cadena + revocación
Identificar el compilador del PE Manual inspección Rich Header ✅ Rich Header parser con tabla VS 2003-2022
Análisis de APK Android JADX + apktool + análisis manual de permisos ✅ Categorización automática de permisos peligrosos
Análisis de Office maldoc oletools + olevba + manual ✅ OOXML + OLE + macros + URLs externos
Análisis de PDF malicioso peepdf + pdfid ✅ JavaScript, OpenAction, embedded files
Análisis de scripts Lectura manual + deobfuscación ✅ PowerShell/VBS/JS/Python con detección de IOCs
Análisis de LNK weaponizado LECmd + inspección manual ✅ Parser MS-SHLLINK + detección de LOLBins
Análisis de OneNote malicioso Inspección manual del blob ✅ Detector automático de embedded executables
Análisis de email phishing Lectura manual de headers + oletools ✅ SPF/DKIM/DMARC + dominio mismatch + RTL override
Auditar postura DNS de correo de un dominio dig/nslookup manual + MXToolbox/web ✅ SPF/DMARC/DKIM/MX/MTA-STS/TLS-RPT/BIMI/DNSSEC + DNSBL integrado
Reglas YARA yara.exe + scripts ✅ Motor embebido + 10 reglas built-in
Mapeo MITRE ATT&CK Cheatsheet + manual ✅ Automático sobre IOCs/imports/YARA
Disassembly para detectar obfuscación IDA / Ghidra / Binary Ninja ✅ Capstone integrado en .text
Sandbox dinámico Cuckoo / VMRay ✅ Sandbox local + ETW kernel tracing
Threat intelligence VT web + AbuseIPDB + scripts ✅ VT + AbuseIPDB + OTX + MalwareBazaar + ThreatFox
Subida de muestras a VT/MB Web manual con drag & drop ✅ Tab integrada con polling y detección de duplicados
Reportes Word/Markdown manual ✅ PDF estilizado, bilingüe automático

✨ Características

🗂️ Análisis multi-formato

El dispatcher detecta el tipo de archivo por magic bytes y delega al analizador específico. Soporta tanto binarios nativos como formatos contenedores y scripts.

Formato Analizador Detecciones específicas
Windows PE (EXE/DLL) AnalizadorPe Imports, secciones, entropía, packers, IOCs, YARA
Android APK AnalizadorApk 28+ permisos peligrosos categorizados, DEX, librerías nativas
Office OOXML (DOCX/XLSX/PPTX) AnalizadorOfficeOoxml Macros VBA, contenido externo, URLs, OLE objects
Office OLE (DOC/XLS/PPT) AnalizadorOfficeOle Streams VBA, equation editor, embedded objects
PDF AnalizadorPdf /JavaScript, /OpenAction, embedded files, URIs
Scripts AnalizadorScript PowerShell, VBS, JS, Batch, Bash, Python, Perl, Ruby, Lua
Java JAR AnalizadorJar Manifest, classes, imports sospechosos, resources
Linux ELF AnalizadorPe (genérico) Headers, secciones, strings, IOCs
macOS Mach-O Genérico Strings, IOCs, hashes
ZIP genérico Genérico Inspección de contenidos
Windows Shortcut (LNK) AnalizadorLnk Parser MS-SHLLINK · LOLBins · PowerShell encoded · icon spoofing · URLs en argumentos
Microsoft OneNote (.one) AnalizadorOneNote FileDataStoreObject embedded · ejecutables/scripts/HTML
Email (EML/MSG) AnalizadorEmail Headers RFC 5322 · SPF/DKIM/DMARC · From mismatch · doble extensión · RTL override
Binario desconocido AnalizadorGenerico Hashes, entropía, strings, IOCs por regex

Tip

Cada analizador alimenta un modelo común ResultadoMultiFormato con Indicadores (severidad alta/media/baja), Strings, Metadata y un Veredicto calculado: Limpio · Bajo riesgo · Sospechoso · Probablemente malicioso.

🔍 Análisis estático profundo (PE)

Inspección exhaustiva basada en PeNet 4.0.4 y dnlib 4.4.0:

  • 📦 Cabecera DOS/PE completa (machine type, characteristics, subsystem, timestamp)
  • 📊 Secciones con entropía individual y características
  • 🔗 Tabla de imports completa con conteo de funciones por DLL
  • 🎯 IOCs: URLs, IPs, dominios, claves de registro, rutas de archivo, mutex
  • 🔐 Detección de packers (UPX, ASPack, custom packing por entropía)
  • 🧮 Hashes: MD5, SHA-1, SHA-256, SSDeep (CTPH puro C#)
  • ⚖️ Veredicto automático con score 0-100
  • 🏗️ Análisis .NET con dnlib: ensamblados managed, types, methods
  • 🚨 Detección de funciones API sospechosas: VirtualAllocEx, WriteProcessMemory, CreateRemoteThread, etc.
  • 🆕 Authenticode robusto (v1.1) — Verificación con WinVerifyTrust + chain + revocation. Pestaña dedicada con sujeto, emisor, vencimiento, huella SHA-1, número de serie, algoritmo y chequeos detallados (autofirmado, vencido, cadena válida, etc.)
  • 🆕 Rich Header parser (v1.1) — Decodifica los metadatos escondidos del compilador con tabla de mapeo productID → producto Visual Studio (2003 hasta 2022). DataGrid con productID, nombre, build number y count

📡 Análisis dinámico con ETW

Reemplaza el clásico FileSystemWatcher con Event Tracing for Windows vía Microsoft.Diagnostics.Tracing.TraceEvent 3.1.10. Captura eventos a nivel kernel en tiempo real:

Categoría Eventos capturados
Procesos ProcessStart / Stop, command lines, parent PID
Archivos FileIOCreate / Write / Delete con tamaños
Registro RegistryCreate / SetValue / DeleteValue
Red TcpIpConnect / Send, UdpIpSend con bytes
DLLs ImageLoad con base address

Note

Auto-tracking de procesos hijos. Si la muestra spawnea un nuevo proceso (típico en droppers/loaders), Malyzer lo añade automáticamente al trace sin intervención manual. Requiere ejecutar como administrador.

🧠 Inteligencia avanzada

MITRE ATT&CK Mapping — 26 técnicas

Detección automática desde imports, YARA hits, IOCs y comportamiento dinámico:

TácticaTécnicas detectadas
ExecutionT1059.001 PowerShell · T1059.003 cmd · T1106 Native API
PersistenceT1547.001 Run keys · T1547.009 Shortcut
Defense EvasionT1027 Obfuscation · T1027.002 Packing · T1055 / T1055.012 Injection · T1112 Modify Registry · T1140 Deobfuscate · T1497 Sandbox Evasion · T1622 Debugger Evasion
Credential AccessT1003.001 LSASS · T1555.003 Browsers
DiscoveryT1083 Files · T1057 Process · T1082 System Info · T1033 User
CollectionT1056.001 Keylogging · T1113 Screenshot
Command and ControlT1071.001 Web Protocols · T1095 Non-App Layer · T1105 Tool transfer
ImpactT1486 Encryption · T1490 Inhibit Recovery

Cada técnica se agrupa por táctica con link directo a attack.mitre.org.

Diff de muestras + SSDeep

Compara dos muestras combinando 5 dimensiones con score ponderado:

SSDeep similarity (40%) + DLLs comunes (20%) + Funciones (15%) + YARA (15%) + Secciones (10%)
                                          ↓
                                   Score 0-100
                ┌──────────────────────┴───────────────────────┐
                ↓                                              ↓
     idénticas / muy similares / similares / relacionadas / diferentes

Incluye buscar similares en repo (SSDeep contra todas las muestras catalogadas) e indexar SSDeep en repo (backfill para muestras existentes).

Decoder con Capstone

Disassembly real de la sección .text usando Gee.External.Capstone 2.3.0 con auto-detección de arquitectura:

  • 🪜 Stack strings — secuencias mov [rsp+N], imm que arman texto en stack
  • 🔄 Loops XORxor reg, imm; loop/jne patrones de descifrado runtime
  • #️⃣ API hashingror/rol seguido de add/xor (resolución por hash)
  • ↩️ Calls indirectascall [reg] (típico tras resolver APIs por hash)

🌐 Threat intelligence

Servicio Cobertura Tier gratuito
VirusTotal v3 Hashes, dominios, URLs · 90+ AV engines · subida 4 req/min, 500/día
AbuseIPDB v2 Reputación de IPs 1.000 req/día
AlienVault OTX Hashes y dominios contra pulsos sin límite práctico
MalwareBazaar Lookup de hashes con familia + reglas YARA matcheadas · subida registro gratuito en auth.abuse.ch
ThreatFox IOCs estructurados con familia y nivel de confianza misma key que MalwareBazaar
URLhaus URLs maliciosas conocidas público
PhishTank URLs de phishing reportadas público
Heurísticas locales TLDs sospechosos, palabras de phishing, IPs literales, URL-encoding excesivo offline

Auto-detección del tipo de IOC (hash MD5/SHA-1/SHA-256, IP, dominio o URL) y consultas en lote.

📤 Subida de muestras

Nuevo en v1.1.

Tab nueva en Inteligencia → Subir muestra que permite enviar muestras a servicios públicos sin salir de la app:

Funcionalidad Detalle
Destinos VirusTotal y/o MalwareBazaar (selección múltiple)
Metadatos Tags, comentario, modo público/privado (MalwareBazaar)
Polling automático Espera hasta 90s a que VT termine el análisis
Detección de duplicados Si la muestra ya existe en VT, devuelve el reporte sin re-subir
Cancelación Botón cancelar disponible durante la subida
Detalle por motor AV Botón 👁️ por subida abre modal con los 72+ motores AV de VT y su veredicto individual
Filtros en el modal Búsqueda por nombre de motor o detección · checkbox "Solo maliciosos/sospechosos"
Eliminar de la lista Botón 🗑️ por subida para quitarla del historial
Exportación PDF Reporte estilizado con todas las subidas y sus veredictos

Caution

Subir una muestra a VirusTotal o MalwareBazaar la hace pública para la comunidad de threat intel. Solo subí muestras que querés compartir.

✉️ Análisis DNS de correo

Nuevo en v1.1.

Módulo dedicado que audita la postura anti-spoofing de un dominio resolviendo todo vía DNS-over-HTTPS (Cloudflare primario, Google de fallback) — sin dependencias nativas, solo HttpClient. Ideal para validar la configuración de correo de tu propia organización o investigar el dominio remitente de un phishing.

Registro / chequeo Qué analiza
SPF Cualificador all (-all/~all/+all), múltiples registros, uso de ptr, sintaxis
Expansión recursiva del SPF Resuelve include:/redirect= contando los 10 lookups DNS reales · detecta PermError por exceso, void lookups (>2) y la cadena de includes
DMARC Política p/sp, pct, reportes rua/ruf, alineación adkim/aspf, fo
DKIM Descubre ~30 selectores comunes en <sel>._domainkey · estima los bits de la clave RSA · detecta modo testing (t=y)
MX Registros ordenados por prioridad, resolución de IPs, detección de Null-MX (RFC 7505)
MTA-STS Presencia del TXT + descarga y validación del policy en https://mta-sts.<dom>/.well-known/mta-sts.txt (mode enforce/testing/none, max_age, alineación de los mx: contra los MX reales)
TLS-RPT Presencia del registro de reporting de TLS
BIMI Presencia del registro BIMI
DNSSEC Flag AD (Authenticated Data) en la respuesta DoH
Reputación DNSBL Resuelve las IPs de los MX y las consulta contra Spamhaus ZEN, Barracuda, SpamCop y SORBS (excluye códigos de error 127.255.255.x para evitar falsos positivos)

Todo se combina en un score 0-100 con un nivel final (Excelente · Bueno · Mejorable · Deficiente · Crítico) y una lista de hallazgos priorizados por severidad (alta/media/info/ok). Exportable a PDF bilingüe.

Tip

El módulo vive en Inteligencia → DNS de correo. Ingresá un dominio (o un email, del que se extrae el dominio) y Analizar. Las pestañas muestran SPF, DMARC, DKIM, MX, transporte (MTA-STS/TLS-RPT/BIMI), reputación, registros crudos y las fuentes/errores de cada consulta DoH.

📊 Visualización y gestión

  • 🎨 Visualización (7 modos) — mapa de entropía por sección, distribución de imports, grafo de IOCs, histograma de bytes, mapa de strings, layout PE, árbol de procesos del sistema
  • 🌐 Netsniff + GeoIP — Captura con SharpPcap 6.3.0. Click derecho sobre cualquier paquete → Inspeccionar IP abre modal con GeoIP (ipinfo.io) + WHOIS RDAP (rdap.org) + accesos directos a VirusTotal/AbuseIPDB/Shodan
  • 🖥️ Inspector de sistema — Procesos, conexiones TCP/UDP, autorun (registro + carpetas), archivo hosts, software de protección, unidades. Context menus para suspender procesos, bloquear IPs en firewall, comentar hosts maliciosos, etc.
  • 🤖 Clasificador ML — k-NN con extracción de features (entropía, imports, secciones, strings) y agrupamiento automático del repositorio
  • 🗃️ Repositorio de muestras — SQLite local con metadata: familia, etiquetas, notas, riesgo, hashes, SSDeep, técnicas MITRE
  • 📄 Exportación PDF — Templates estilizados con QuestPDF para análisis estático, sistema, muestras, netsniff, URL scan, threat intel, subidas, multi-formato y DNS de correo (⭐ nuevos en v1.1). Bilingüe automático según idioma activo

🚀 Instalación

Requisitos previos

  • 🪟 Windows 10/11 (64 bits)
  • ⚙️ .NET 8 Runtime (Desktop Runtime para WPF) — descargar
  • 📡 Npcap (para Netsniff) — descargar · marcar "WinPcap API-compatible Mode" en la instalación
  • 🛡️ Permisos de administrador (para ETW, dump de memoria, modificación de hosts/firewall)

Opción 1 · Release pre-compilada (recomendada)

Descargá el .zip de la última release desde Releases, descomprimí y ejecutá Malyzer.exe.

Opción 2 · Compilar desde código

# Cloná el repo
git clone https://github.com/R3LI4NT/Malyzer.git
cd Malyzer

# Restaurá dependencias y compilá
dotnet restore
dotnet build -c Release

# Ejecutá
.\bin\Release\net8.0-windows\Malyzer.exe

O usá el script compilar.bat incluido para una compilación rápida.

Opción 3 · Single-file portable

Para generar un .exe autocontenido (sin dependencias externas, podés llevarlo a cualquier Windows):

dotnet publish -c Release -r win-x64 --self-contained true `
  -p:PublishSingleFile=true `
  -p:IncludeNativeLibrariesForSelfExtract=true `
  -p:EnableCompressionInSingleFile=true

El binario queda en bin\Release\net8.0-windows\win-x64\publish\Malyzer.exe (~80-110 MB con compresión).


📖 Uso

🔍 Análisis básico de un ejecutable
  1. Abrí Malyzer
  2. Análisis estáticoCargar archivo → seleccioná el .exe o .dll
  3. Esperá a que termine el análisis (parsing PE + YARA + IOCs)
  4. Revisá:
    • Veredicto y score de riesgo
    • Cabecera PE, secciones con entropía
    • Imports sospechosos (resaltados)
    • IOCs extraídos (URLs, IPs, dominios)
    • Coincidencias YARA
    • Tab "Firma digital" (v1.1) — verificación Authenticode + Rich Header
  5. Exportá un PDF si necesitás compartirlo con el equipo
📱 Análisis de APK Android
  1. Análisis estáticoCargar archivo → seleccioná el .apk
  2. Malyzer detecta el formato automáticamente y despacha a AnalizadorApk
  3. Revisá:
    • Permisos peligrosos categorizados (alta/media/baja)
    • Inventario de archivos .dex (clases compiladas)
    • Librerías nativas .so (posible código C/C++)
    • APKs anidados (dropper)
    • Certificado de firma + IOCs en strings

Ejemplo de detecciones críticas:

  • RECEIVE_SMS → bypass de 2FA
  • BIND_ACCESSIBILITY_SERVICE → keylogging
  • SYSTEM_ALERT_WINDOW → overlay banker
  • BIND_DEVICE_ADMIN → ransomware Android
  • REQUEST_INSTALL_PACKAGES → dropper de APKs adicionales
🔗 Análisis de un LNK weaponizado

Nuevo en v1.1.

  1. Inteligencia avanzadaMulti-formatoExaminar → seleccioná el .lnk
  2. Analizar
  3. Revisá:
    • Veredicto (score 0-100) basado en LOLBins, PowerShell encoded, ventanas ocultas, etc.
    • Indicadores con severidad (alta/media/baja) y descripción
    • Strings relevantes del payload
    • Metadatos del shortcut (target, args, working directory, icon location)
  4. Exportá PDF con el botón Exportar PDF

Detecciones típicas en LNK weaponizados:

  • Target apunta a powershell.exe, mshta.exe, rundll32.exe, certutil.exe, etc.
  • Argumentos con -EncodedCommand (Base64) o URLs HTTP/HTTPS
  • WindowStyle=Hidden para ejecución silenciosa
  • Icon de Word/PDF/Excel pero target ejecuta script
  • Working directory en %TEMP%, %APPDATA% o paths de redes SMB
📧 Análisis de email phishing

Nuevo en v1.1.

  1. Inteligencia avanzadaMulti-formatoExaminar → seleccioná el .eml o .msg
  2. Analizar
  3. Revisá:
    • Headers críticos — From, Reply-To, Return-Path (con detección de mismatch)
    • Authentication-Results — SPF/DKIM/DMARC (rojo si fail)
    • Attachments — doble extensión, RTL override (U+202E), tipos peligrosos (ISO/IMG/VHD que evaden MOTW)
    • URLs — shorteners, IPs literales, mismatch entre texto y href
    • Indicadores con severidad

Ejemplo de detecciones:

  • From: support@paypa1.com (typosquatting)
  • Reply-To: attacker@evil.tkFrom
  • SPF=fail + DKIM=none + DMARC=fail
  • Adjunto factura.pdf‮exe.zip (RTL override esconde la extensión real)
  • URL https://bit.ly/3xxxx que redirige a IP literal
📡 Tracing dinámico con ETW
  1. Ejecutá Malyzer como administrador (ETW lo requiere)
  2. Lanzá tu sample en una VM aislada y obtené su PID
  3. Inteligencia avanzada → tab ETW dinámico → ingresá el PID → Iniciar
  4. Observá en vivo:
    • Archivos creados, modificados o eliminados
    • Claves de registro modificadas
    • Conexiones de red iniciadas
    • Procesos hijos (auto-trackeados)
    • DLLs cargadas en memoria
🔬 Comparar dos variantes de la misma familia
  1. Inteligencia avanzada → tab Diff de muestras
  2. Cargá A y B → Comparar A vs B
  3. Ves el score combinado (SSDeep + DLLs + funciones + YARA + secciones)
  4. Para buscar similares en tu repo:
    • Indexar SSDeep en repo (una sola vez)
    • Buscar similares en repo te devuelve el top-10 ordenado por similitud
📤 Subir una muestra a VirusTotal / MalwareBazaar

Nuevo en v1.1.

  1. Inteligencia → tab Subir muestra
  2. Examinar archivo → seleccioná la muestra
  3. Marcá los destinos (VirusTotal y/o MalwareBazaar)
  4. Opcional para MalwareBazaar: tags (emotet, qakbot, apt28…), comentario, modo público/privado
  5. Subir muestra
  6. Si VT no tiene la muestra: subida + polling automático ~30-90s
  7. Si VT ya la tiene: devuelve el reporte instantáneamente
  8. Click en el botón 👁️ de la subida para ver el detalle por motor AV (72+ engines):
    • Filtrá por nombre de motor o detección
    • Checkbox "Solo maliciosos/sospechosos"
    • Botón "Abrir reporte completo en VirusTotal"
  9. Exportá PDF con el botón Exportar PDF del tab

⚠ Subir una muestra la hace pública. Solo subí muestras que querés compartir con la comunidad.

✉️ Auditar la postura DNS de correo de un dominio

Nuevo en v1.1.

  1. Inteligencia → tab DNS de correo
  2. Ingresá un dominio (ejemplo.com) o un email (se extrae el dominio automáticamente)
  3. Analizar — Malyzer consulta todo vía DNS-over-HTTPS (Cloudflare + Google)
  4. Revisá las pestañas:
    • Resumen — veredicto, puntuación 0-100 y badges de SPF/DMARC/DKIM/DNSSEC
    • SPF — registro, cualificador all, lookups reales vs límite de 10, cadena de includes
    • DMARC — política, pct, rua/ruf, alineación
    • DKIM — selectores encontrados y bits de clave estimados
    • MX — servidores por prioridad + IPs resueltas
    • Transporte — MTA-STS (modo + max_age), TLS-RPT, BIMI
    • Reputación — IPs de los MX contra Spamhaus / Barracuda / SpamCop / SORBS
    • Crudos / Fuentes — registros TXT crudos y de qué resolver DoH salió cada respuesta
  5. Exportá PDF con el botón Exportar PDF

Ejemplo de hallazgos típicos:

  • SPF con 11/10 lookupsPermError (los receptores ignoran el SPF)
  • DMARC p=none → no protege, solo monitorea
  • MTA-STS mode=testing → todavía no fuerza TLS
  • IP de un MX listada en Spamhaus ZEN → posible problema de entregabilidad/reputación
  • Ausencia de DKIM o clave RSA de 1024 bits → recomendado 2048+
🌐 Inspeccionar tráfico de red
  1. Netsniff → seleccioná adaptador → Iniciar captura
  2. Click derecho sobre cualquier paquete → Inspeccionar IP (GeoIP / WHOIS)
  3. Modal con:
    • Geolocalización (país, ciudad, ASN, organización)
    • Contactos abuse del rango
    • Accesos directos a VirusTotal, AbuseIPDB, Shodan

⚙️ Configuración

Las preferencias se guardan en %LOCALAPPDATA%\Malyzer\config.json.

Claves de API

Configuración → Claves de API. Todas las APIs son opcionales — la app funciona sin ellas usando solo análisis local.

Servicio Para qué se usa Costo
VirusTotal Hashes, IPs, dominios, URLs en Threat Intel y URL Scan + subida de muestras Gratis (4 req/min, 500/día)
AbuseIPDB Reputación de IPs Gratis (1.000 req/día)
AlienVault OTX Hashes y dominios contra pulsos de la comunidad Gratis sin límite práctico
abuse.ch / MalwareBazaar Lookup MalwareBazaar/ThreatFox + subida de muestras Gratis · registro en auth.abuse.ch

Idioma

Configuración → IdiomaEspañol o English. Cambia toda la UI + reportes PDF en runtime, sin reiniciar la aplicación.

Rutas externas

Si tenés Ghidra, Radare2 o reglas YARA externas, podés apuntarlos desde Configuración → Rutas externas para integrarlos al flujo.


🏗️ Arquitectura

flowchart LR
    A[Archivo de entrada] --> B{AnalizadorMultiFormato}
    B -->|Magic bytes| C[Detectar formato]

    C -->|MZ| D[AnalizadorPe]
    C -->|PK + AndroidManifest| E[AnalizadorApk]
    C -->|PK + word/xl/ppt| F[AnalizadorOfficeOoxml]
    C -->|D0CF11E0| G[AnalizadorOfficeOle]
    C -->|%PDF| H[AnalizadorPdf]
    C -->|.ps1/.vbs/.js/.py| I[AnalizadorScript]
    C -->|PK + JAR| J[AnalizadorJar]
    C -->|4C 00 00 00| K[AnalizadorLnk]
    C -->|E4 52 5C 7B| L[AnalizadorOneNote]
    C -->|RFC 5322 / OLE| M[AnalizadorEmail]
    C -->|otros| N[AnalizadorGenerico]

    D --> O[ResultadoMultiFormato]
    E --> O
    F --> O
    G --> O
    H --> O
    I --> O
    J --> O
    K --> O
    L --> O
    M --> O
    N --> O

    D --> P[AnalizadorAuthenticode]
    P --> Q[FirmaDigital + RichHeader]

    O --> R[MotorYara]
    O --> S[MapeadorMitre]
    O --> T[IntelAmenazas]
    O --> U[SubidorMuestras]
    O --> V[ExportadorPdf]

    X[Dominio / Email] --> Y[AnalizadorDnsCorreo]
    Y -->|DoH Cloudflare/Google| Z[SPF/DMARC/DKIM/MX/MTA-STS/DNSBL]
    Z --> V

    T -->|VT/AbuseIPDB/OTX/MalwareBazaar/ThreatFox| W[UI · WPF]
    U -->|VirusTotal + MalwareBazaar| W
    Z --> W
    R & S & V & Q --> W
Loading

Diseño modular con servicios independientes que pueden testearse y reemplazarse de manera aislada. Cada feature es un servicio que vive en Servicios/ y se consume desde una página WPF en Vistas/.


🛠️ Stack técnico

Lenguaje y framework

  • C# 12 sobre .NET 8
  • WPF con WindowChrome para una experiencia moderna sin bordes nativos

Librerías principales

Paquete Versión Uso
PeNet 4.0.4 Parsing PE/COFF en C# puro
dnlib 4.4.0 Análisis de ensamblados .NET (managed)
Gee.External.Capstone 2.3.0 Disassembly multi-arquitectura
Microsoft.Diagnostics.Tracing.TraceEvent 3.1.10 ETW kernel events
SharpPcap + PacketDotNet 6.3.0 / 1.4.7 Captura de tráfico L2/L3
Microsoft.Data.Sqlite 8.0.4 Repositorio local de muestras
System.Management 8.0.0 WMI queries (procesos, hardware, AV)
QuestPDF 2024.10.3 Generación de PDFs declarativa
Newtonsoft.Json 13.0.3 Serialización JSON

Integraciones nativas Windows

  • WinVerifyTrust (P/Invoke a wintrust.dll) — verificación Authenticode con cadena y revocación
  • Rich Header parsing — decodificación XOR del bloque entre DOS stub y PE header
  • OLE Compound File — parser propio para .msg de Outlook
  • MS-SHLLINK — parser propio para .lnk (no requiere lib externa)

📂 Estructura del proyecto

Click para expandir el árbol completo
Malyzer/
├── App.xaml(.cs)                    
├── VentanaPrincipal.xaml(.cs)       
├── VentanaSplash.xaml(.cs)        
├── VentanaAcercaDe.xaml(.cs)      
├── LocExtension.cs                 
├── Malyzer.csproj                  
│
├── Servicios/                       
│   │
│   ├── # Análisis multi-formato
│   ├── AnalizadorMultiFormato.cs  
│   ├── AnalizadorPorFormato.cs     
│   ├── AnalizadorApk.cs          
│   ├── AnalizadorEstatico.cs        
│   ├── AnalizadorDinamico.cs       
│   ├── AnalizadorLnk.cs             
│   ├── AnalizadorOneNote.cs         
│   ├── AnalizadorEmail.cs           
│   ├── AnalizadorAuthenticode.cs    
│   │
│   ├── # Inteligencia
│   ├── MotorYara.cs                
│   ├── MapeadorMitre.cs             
│   ├── DiferenciadorMuestras.cs   
│   ├── SsDeep.cs                   
│   ├── DecodificadorCadenas.cs    
│   ├── TrazadorEtw.cs             
│   ├── ClasificadorML.cs         
│   │
│   ├── # Threat intelligence
│   ├── IntelAmenazas.cs             
│   ├── SubidorMuestras.cs           
│   ├── EscanerUrl.cs                
│   ├── AnalizadorDnsCorreo.cs       
│   ├── InspectorIp.cs              
│   │
│   ├── # Sistema y red
│   ├── InspectorSistema.cs         
│   ├── Netsniff.cs                  
│   ├── HerramientasPro.cs         
│   │
│   ├── # Gestión y soporte
│   ├── GestorMuestras.cs           
│   ├── GestorConfiguracion.cs      
│   ├── GestorIdioma.cs             
│   └── ExportadorPdf.cs          
│
├── Vistas/                         
│   ├── PaginaInicio.xaml(.cs)
│   ├── PaginaAnalisisEstatico.xaml(.cs)         
│   ├── PaginaAnalisisDinamico.xaml(.cs)
│   ├── PaginaInteligencia.xaml(.cs)            
│   ├── PaginaInteligenciaAvanzada.xaml(.cs)    
│   ├── PaginaMuestras.xaml(.cs)
│   ├── PaginaClasificacion.xaml(.cs)
│   ├── PaginaVisualizacion.xaml(.cs)
│   ├── PaginaHerramientasPro.xaml(.cs)
│   ├── PaginaConfiguracion.xaml(.cs)           
│   ├── PaginaSistema.xaml(.cs)
│   ├── PaginaNetsniff.xaml(.cs)
│   ├── PaginaUrlScan.xaml(.cs)
│   ├── PaginaDnsCorreo.xaml(.cs)                
│   └── VentanaDetalleSubida.xaml(.cs)          
│
├── Estilos/                       
│   ├── Tema.xaml                   
│   ├── Iconos.xaml                  
│   └── Controles.xaml               
│
├── Modelos/
│   └── Modelos.cs                   
│
├── Recursos/                       
│   ├── logo.png / logo_256.png / logo_64.png
│   ├── logo.ico                    
│   ├── espanol.ico / english.ico  
│   └── reglas_ejemplo.yar           
│
├── compilar.bat                     
└── README.md                       

Almacenamiento

Los datos de runtime se guardan en %LOCALAPPDATA%\Malyzer\:

Ruta Contenido
malyzer.db Base SQLite con muestras, análisis e indicadores
muestras/ Archivos binarios almacenados como <sha256>.bin
reportes/ Reportes exportados (PDF, JSON, TXT)
yara/ Reglas YARA personalizadas
config.json Configuración persistente

🛡️ Aviso sobre antivirus

Malyzer dispara las mismas heurísticas que el malware real porque usa muchas de las mismas APIs:

  • 🔧 P/Invoke a OpenThread / SuspendThread (suspender procesos)
  • 💾 MiniDumpWriteDump (dump de memoria — clásico de credential stealers)
  • 🔥 netsh advfirewall automatizado
  • 📡 Captura raw de tráfico (SharpPcap)
  • 🔍 WMI queries de enumeración del sistema
  • 📝 Lectura de hosts file y modificación del registro
  • 🔐 WinVerifyTrust (verificación de firmas Authenticode)

Esto es esperado y le pasa también a:

Herramienta Uso legítimo
Process Hacker, x64dbg, OllyDbg Debugging
PE-bear, CFF Explorer, PEStudio Análisis estático
Sysinternals Suite Administración Windows
Mimikatz Pentesting / red team legítimo
NetCat, PsExec Administración remota

Soluciones (de menos a más profesional)

1. Excluir el directorio de Defender (recomendado para uso personal):

Add-MpPreference -ExclusionPath "C:\ruta\a\Malyzer"

2. Reportar como falso positivo a Microsoft: microsoft.com/wdsi/filesubmission. Suelen blanquearlo en 1-2 días.

3. Firmar el .exe con certificado Authenticode (cert estándar ~€200/año, EV ~€400/año). Reduce muchísimo los falsos positivos.

Warning

Trabajá siempre con muestras reales en VMs aisladas con snapshots y red restringida. Nunca ejecutes muestras en sistemas de producción ni en tu host principal.


🌍 Internacionalización

Malyzer está completamente localizado en español e inglés:

  • 📝 1.000+ strings traducidas en Servicios/GestorIdioma.cs
  • 🎨 UI completa: sidebar, páginas, ContextMenus, DataGrid headers, MessageBoxes, SaveFileDialog titles
  • 📄 PDFs se generan en el idioma activo (veredictos, headers, tablas, footer)
  • 🛡️ Reglas YARA con descripciones bilingües
  • 🔄 Cambio en runtime sin reiniciar (botón en Configuración con banderas 🇪🇸 / 🇬🇧)

¿Querés agregar otro idioma? Editá GestorIdioma.cs y agregá un nuevo diccionario:

private static Dictionary<string, string> DiccionarioPt() => new()
{
    ["nav.estatico"] = "Análisis estático",
    ["btn.analizar"] = "Analizar",
    // ... 1.000+ entradas
};

🗺️ Roadmap

v1.0 ✅

  • Análisis multi-formato (11 tipos: PE, APK, Office, PDF, scripts, JAR…)
  • Análisis estático completo de PE (PeNet + dnlib)
  • Análisis APK con detección de 28+ permisos peligrosos
  • Sandbox local básico
  • Threat Intel (VT / AbuseIPDB / OTX)
  • URL Scan (VT / URLhaus / PhishTank / heurísticas)
  • Netsniff + GeoIP / WHOIS
  • Inspector de sistema con context menus
  • Repositorio SQLite con SSDeep
  • Diff de muestras multi-dimensión
  • MITRE ATT&CK mapping (26 técnicas)
  • Decoder Capstone (stack strings, XOR, API hashing)
  • ETW dynamic tracing con auto-tracking de hijos
  • Bilingüe ES/EN runtime

v1.1 ✅

  • Tres formatos nuevos: LNK (Windows Shortcut), OneNote (.one), Email (EML/MSG)
  • Authenticode robusto con WinVerifyTrust + chain validation + revocation
  • Rich Header parser con tabla de productos VS 2003-2022
  • MalwareBazaar + ThreatFox integrados en Threat Intel
  • Subida de muestras a VirusTotal y MalwareBazaar con polling automático
  • Modal con detalle por motor AV (72+ engines de VT con filtros)
  • Análisis DNS de correo (SPF/DMARC/DKIM/MX/MTA-STS/TLS-RPT/BIMI/DNSSEC + expansión recursiva de SPF, validación de policy MTA-STS y reputación DNSBL)
  • Exportación PDF en Threat Intel + Subidas + Multi-formato + DNS de correo
  • Fix de cascada de popups WPF en bindings de tipos anónimos
  • Fix de subida a VirusTotal con filenames no-ASCII

v1.2 · Próxima


📄 Licencia

MIT License · Copyright (c) 2026 R3LI4NT

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction…

Componentes de terceros

Componente Licencia Autor
PeNet MIT Stefan Hausotte
dnlib MIT 0xd4d
Gee.External.Capstone BSD-3-Clause Ahmed Garhy
TraceEvent MIT Microsoft
SharpPcap LGPL-2.1 Tamir Gal & contributors
QuestPDF Community License (gratis < $1M revenue/año) QuestPDF team
Newtonsoft.Json MIT James Newton-King



Si Malyzer te resultó útil, considerá darle una estrella en GitHub

Volver arriba ↑

Releases

Packages

Contributors

Languages