PE · APK · Office · PDF · Scripts · JAR · ELF · Mach-O · LNK · OneNote · DNS Email · todo desde una sola interfaz
【 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.
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.
Lanzamiento centrado en vectores de phishing modernos, verificación de firmas robusta y subida de muestras.
| 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 |
- 🔐 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
PermErrory 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.
| 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 |
- Por qué Malyzer
- Novedades v1.1
- Características
- Instalación
- Uso
- Configuración
- Arquitectura
- Stack técnico
- Estructura del proyecto
- Aviso sobre antivirus
- Internacionalización
- Roadmap
- Licencia
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 |
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 |
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.
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
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.
Detección automática desde imports, YARA hits, IOCs y comportamiento dinámico:
| Táctica | Técnicas detectadas |
|---|---|
| Execution | T1059.001 PowerShell · T1059.003 cmd · T1106 Native API |
| Persistence | T1547.001 Run keys · T1547.009 Shortcut |
| Defense Evasion | T1027 Obfuscation · T1027.002 Packing · T1055 / T1055.012 Injection · T1112 Modify Registry · T1140 Deobfuscate · T1497 Sandbox Evasion · T1622 Debugger Evasion |
| Credential Access | T1003.001 LSASS · T1555.003 Browsers |
| Discovery | T1083 Files · T1057 Process · T1082 System Info · T1033 User |
| Collection | T1056.001 Keylogging · T1113 Screenshot |
| Command and Control | T1071.001 Web Protocols · T1095 Non-App Layer · T1105 Tool transfer |
| Impact | T1486 Encryption · T1490 Inhibit Recovery |
Cada técnica se agrupa por táctica con link directo a attack.mitre.org.
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).
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], immque arman texto en stack - 🔄 Loops XOR —
xor reg, imm; loop/jnepatrones de descifrado runtime - #️⃣ API hashing —
ror/rolseguido deadd/xor(resolución por hash) - ↩️ Calls indirectas —
call [reg](típico tras resolver APIs por hash)
| 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.
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.
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 (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
QuestPDFpara 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
- 🪟 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)
Descargá el .zip de la última release desde Releases, descomprimí y ejecutá Malyzer.exe.
# 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.exeO usá el script compilar.bat incluido para una compilación rápida.
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=trueEl binario queda en bin\Release\net8.0-windows\win-x64\publish\Malyzer.exe (~80-110 MB con compresión).
🔍 Análisis básico de un ejecutable
- Abrí Malyzer
- Análisis estático → Cargar archivo → seleccioná el
.exeo.dll - Esperá a que termine el análisis (parsing PE + YARA + IOCs)
- 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
- Exportá un PDF si necesitás compartirlo con el equipo
📱 Análisis de APK Android
- Análisis estático → Cargar archivo → seleccioná el
.apk - Malyzer detecta el formato automáticamente y despacha a
AnalizadorApk - 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 2FABIND_ACCESSIBILITY_SERVICE→ keyloggingSYSTEM_ALERT_WINDOW→ overlay bankerBIND_DEVICE_ADMIN→ ransomware AndroidREQUEST_INSTALL_PACKAGES→ dropper de APKs adicionales
🔗 Análisis de un LNK weaponizado
Nuevo en v1.1.
- Inteligencia avanzada → Multi-formato → Examinar → seleccioná el
.lnk - Analizar
- 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)
- 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=Hiddenpara 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.
- Inteligencia avanzada → Multi-formato → Examinar → seleccioná el
.emlo.msg - Analizar
- 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.tk≠FromSPF=fail+DKIM=none+DMARC=fail- Adjunto
factura.pdfexe.zip(RTL override esconde la extensión real) - URL
https://bit.ly/3xxxxque redirige a IP literal
📡 Tracing dinámico con ETW
- Ejecutá Malyzer como administrador (ETW lo requiere)
- Lanzá tu sample en una VM aislada y obtené su PID
- Inteligencia avanzada → tab ETW dinámico → ingresá el PID → Iniciar
- 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
- Inteligencia avanzada → tab Diff de muestras
- Cargá A y B → Comparar A vs B
- Ves el score combinado (SSDeep + DLLs + funciones + YARA + secciones)
- 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.
- Inteligencia → tab Subir muestra
- Examinar archivo → seleccioná la muestra
- Marcá los destinos (VirusTotal y/o MalwareBazaar)
- Opcional para MalwareBazaar: tags (
emotet,qakbot,apt28…), comentario, modo público/privado - Subir muestra
- Si VT no tiene la muestra: subida + polling automático ~30-90s
- Si VT ya la tiene: devuelve el reporte instantáneamente
- 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"
- 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.
- Inteligencia → tab DNS de correo
- Ingresá un dominio (
ejemplo.com) o un email (se extrae el dominio automáticamente) - Analizar — Malyzer consulta todo vía DNS-over-HTTPS (Cloudflare + Google)
- 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
- Exportá PDF con el botón Exportar PDF
Ejemplo de hallazgos típicos:
SPFcon 11/10 lookups →PermError(los receptores ignoran el SPF)DMARC p=none→ no protege, solo monitoreaMTA-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
- Netsniff → seleccioná adaptador → Iniciar captura
- Click derecho sobre cualquier paquete → Inspeccionar IP (GeoIP / WHOIS)
- Modal con:
- Geolocalización (país, ciudad, ASN, organización)
- Contactos abuse del rango
- Accesos directos a VirusTotal, AbuseIPDB, Shodan
Las preferencias se guardan en %LOCALAPPDATA%\Malyzer\config.json.
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 |
Configuración → Idioma → Español o English. Cambia toda la UI + reportes PDF en runtime, sin reiniciar la aplicación.
Si tenés Ghidra, Radare2 o reglas YARA externas, podés apuntarlos desde Configuración → Rutas externas para integrarlos al flujo.
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
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/.
- C# 12 sobre .NET 8
- WPF con
WindowChromepara una experiencia moderna sin bordes nativos
| 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 |
WinVerifyTrust(P/Invoke awintrust.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
.msgde Outlook - MS-SHLLINK — parser propio para
.lnk(no requiere lib externa)
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
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 |
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 advfirewallautomatizado - 📡 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 |
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.
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
};- 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
- 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
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…
| 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 |
