/* global React, ReactDOM */
const { useState, useEffect } = React;
const { Icon, useReveal, Navbar, Footer, useSiteTweaks, SiteTweaks, PrivacyBox, Galeria } = window;
const SHOTS = [
{ src: "assets/maperit/visor_caso.webp", t: "MaPeriT.TN · Panel del caso", d: "Caso abierto en el visor: equipo, fases de adquisición capturadas, artefactos, anomalías y tamaño total." },
{ src: "assets/maperit/visor_riesgos.webp", t: "MaPeriT.TN · Puntuación de riesgo", d: "Correlación del análisis profundo: cada usuario, servicio o dispositivo con su puntuación y nivel, coloreado por gravedad." }
];
const MAPERIT_EMAIL = "maperit@masoft.es";
// Compensación de scroll: navbar principal (72) + subcabecera MAPerit (~52).
const NAV_OFFSET = 126;
// Secciones de la subcabecera propia de MAPerit.
const SECTIONS = [
{ id: "que-es", label: "Qué es" },
{ id: "flujo", label: "Flujo forense" },
{ id: "programas", label: "Los 5 programas" },
{ id: "pantallas", label: "Pantallas" },
{ id: "estandares", label: "Estándares" },
{ id: "publico", label: "Para quién" },
{ id: "entregables", label: "Entregables" },
{ id: "contacto", label: "Contacto" }
];
const scrollToId = (id) => {
const el = document.getElementById(id);
if (!el) return;
const y = el.getBoundingClientRect().top + window.pageYOffset - NAV_OFFSET;
window.scrollTo({ top: Math.max(0, y), behavior: "smooth" });
};
/* ---------- Subcabecera propia de MAPerit ---------- */
const MPSubnav = ({ active }) => (
);
/* ---------- El flujo forense ---------- */
const PIPELINE = [
{ k: "1", label: "Adquisición", sub: "SW · OF", desc: "Se recogen las evidencias del equipo (encendido) o del disco (apagado), siempre en solo lectura." },
{ k: "2", label: "Análisis", sub: "AN", desc: "Se interpretan las evidencias: sistema de ficheros, eventos, navegadores, antiforense y correlación." },
{ k: "3", label: "Revisión", sub: "TN · SC", desc: "El perito explora los hallazgos con el visor; el cliente los consulta con el asistente guiado." },
{ k: "4", label: "Informe", sub: "Entrega", desc: "Informe pericial HTML autocontenido en español, con firmas, apto para presentación en juzgado." }
];
/* ---------- Los 5 programas ---------- */
const PROGRAMS = [
{
id: "sw",
code: "MaPeriT.SW",
version: "v1.7.4",
title: "Adquisición forense en vivo",
tagline: "Recoge todas las evidencias de un equipo Windows encendido en una sola ejecución, sin modificar nada.",
forWho: "Cuando el equipo objetivo está encendido y accesible.",
caps: [
"10 fases por orden de volatilidad (RFC 3227): datos volátiles, sistema, MFT, registro, eventos, navegadores, comunicaciones, nube, USB y persistencia.",
"Opera en solo lectura y sin ninguna conexión de red.",
"Cadena de custodia automática: cada evidencia se firma con SHA-256 en el momento de su adquisición.",
"Análisis incluido: detección de anomalías en 9 categorías, extracción de IOC y timeline unificada de más de doce fuentes.",
"Acceso a ficheros que el sistema mantiene bloqueados: bases de datos de navegadores, logs de seguridad activos.",
"Modos avanzados: -DryRun, -SelfTest, -ExcludePaths, -NetworkIsolationCheck, -ChainOfCustodyStrictMode."
]
},
{
id: "of",
code: "MaPeriT.OF",
version: "v1.1.1",
title: "Adquisición forense offline",
tagline: "Trabaja sobre el disco de un equipo apagado o extraído, sin arrancar su sistema operativo.",
forWho: "Cuando el equipo está apagado, es inaccesible o solo se dispone del disco.",
caps: [
"Sistema de ficheros completo, registro de Windows offline, registros de eventos, navegadores, USB y nube, persistencia y tareas.",
"No escribe absolutamente nada en el disco objetivo; toda la salida va al equipo forense.",
"Misma estructura de salida que MaPeriT.SW: compatible de forma directa con AN y TN.",
"Compatible con bloqueador de escritura hardware para garantizar la inmutabilidad del disco.",
"Cadena de custodia SHA-256 idéntica a la de la adquisición en vivo."
]
},
{
id: "an",
code: "MaPeriT.AN",
version: "v1.2.0",
title: "Análisis forense profundo",
tagline: "Interpreta las evidencias ya recogidas y construye una línea temporal de alta precisión con todo lo encontrado.",
forWho: "Segundo paso del flujo: consume la salida de SW u OF, sin volver a tocar el equipo original.",
caps: [
"Sistema de ficheros en profundidad: ficheros borrados, árbol reconstruido y detección de manipulación de marcas de tiempo (timestomping).",
"Procesado masivo de registros de eventos sin truncar ni muestrear, para investigaciones largas.",
"Historial completo de navegadores, caché de ejecución de aplicaciones, diario de cambios del sistema de ficheros y artefactos de precarga.",
"Detecta programas ejecutados aunque no queden eventos de proceso.",
"Correlación multi-fuente: timeline unificada y puntuación de riesgo por cada usuario y proceso detectado.",
"No destructivo por diseño: nunca escribe en el directorio de evidencias."
]
},
{
id: "tn",
code: "MaPeriT.TN",
version: "v1.1.1",
title: "Visor forense interactivo",
tagline: "Interfaz de escritorio para navegar, visualizar y marcar los hallazgos, sin instalación y sin internet.",
forWho: "El perito, durante la revisión de un proyecto SW/OF, con o sin el análisis de AN.",
caps: [
"Seis visores especializados: CSV, eventos EVTX, MFT, JSON, texto/log y hexadecimal, con filtrado, ordenación y exportación.",
"Detección automática de IOC al cargar, con resaltado por severidad.",
"Timeline consolidada multi-fuente con capacidad para decenas de miles de eventos.",
"Sistema de marcadores a nivel de fichero, fila o celda, con severidad, etiqueta y nota; exportables como informe HTML o CSV.",
"Búsqueda global en todos los ficheros del proyecto en segundo plano.",
"Dashboard del proyecto: fases presentes, artefactos, anomalías y estado de cada fase."
]
},
{
id: "sc",
code: "MaPeriT.SC",
version: "v1.0.0",
title: "Consulta guiada para no peritos",
tagline: "Respuestas concretas sobre lo ya analizado, para un cliente o una parte interesada, sin interpretar ficheros técnicos.",
forWho: "Quien no es perito informático y necesita entender qué pasó y cuándo.",
caps: [
"Asistente de 8 pasos con variables predefinidas: usuario, categoría, ventana temporal, franja horaria y palabra clave.",
"Ofrece una lista real de usuarios detectados en el proyecto, no un campo de texto libre.",
"Distingue siempre si el usuario de un hallazgo viene confirmado por la fuente o inferido de la ruta del fichero.",
"Cada resultado cita la fuente exacta y la ruta del fichero de MaPeriT.AN donde se encontró.",
"Genera dos informes de los mismos hechos: uno pericial formal y otro en lenguaje llano.",
"Independiente de MaPeriT.TN: ninguno de los dos necesita al otro."
]
}
];
const STANDARDS = [
{ s: "RFC 3227 (IETF)", a: "Las fases de adquisición siguen estrictamente el orden de volatilidad — lo más efímero primero — y la cadena de custodia se documenta de forma automática." },
{ s: "NIST SP 800-86", a: "Metodología de adquisición, verificación de integridad y documentación de procedimientos conforme a la guía del Instituto Nacional de Estándares de EE. UU." },
{ s: "FIPS 180-4", a: "Todas las evidencias se firman con SHA-256 en el momento exacto de su adquisición; cualquier modificación posterior queda detectada al recalcular la huella." }
];
const AUDIENCE = [
{ icon: "check", h: "Peritos judiciales informáticos", p: "Un flujo completo de adquisición a informe, con cadena de custodia y salida apta para juzgado." },
{ icon: "file-text", h: "Despachos de abogados", p: "El módulo de consulta guiada traduce el informe pericial a un resumen en lenguaje llano para el cliente." },
{ icon: "lock", h: "Respuesta a incidentes y compliance", p: "Adquisición en vivo u offline, detección de IOC y timeline unificada para reconstruir qué ocurrió." },
{ icon: "search", h: "Investigaciones internas autorizadas", p: "Sobre equipos de la propia organización, con autorización explícita y trazabilidad completa." }
];
const DELIVERABLES = [
{ h: "Paquete de evidencias estructurado", p: "Carpeta organizada por fase con todos los artefactos en su formato original, más el manifiesto de integridad SHA-256." },
{ h: "Timeline unificada", p: "Fichero CSV con todos los eventos de todas las fuentes, ordenados cronológicamente." },
{ h: "Informe pericial HTML", p: "Documento autocontenido en español con portada, hallazgos, anomalías, IOC y bloque de firmas. Apto para presentación en juzgado por un perito habilitado." },
{ h: "Resumen en lenguaje llano (opcional)", p: "Con MaPeriT.SC, los mismos hechos explicados en frases sencillas para quien no es técnico." }
];
/* ---------- Pipeline ---------- */
const Pipeline = () => (
{PIPELINE.map((p, i) => (
{p.k}
{p.label}{p.sub}
{p.desc}
))}
);
/* ---------- Tarjeta de programa ---------- */
const ProgramCard = ({ p }) => (
Solicita información, una demostración o presupuesto.
Canal exclusivo de MAPerit. Escríbenos y te respondemos con la documentación técnica,
los requisitos de despliegue y las condiciones de licenciamiento.
Cuéntanos tu caso — tipo de peritación, número de equipos, plazos — y preparamos una
propuesta a medida. Sin compromiso.
Documentación bajo peticiónFichas técnicas y manuales de cada módulo
Demostración guiadaTe enseñamos el flujo completo sobre un caso de ejemplo
{state === "done" ? (
Solicitud enviada
Te responderemos a la mayor brevedad con la información de MAPerit.
) : (
)}
);
};
/* ---------- Página MAPerit ---------- */
const MaperitPage = () => {
const [t, setTweak] = useSiteTweaks();
const [contactInfo, setContactInfo] = useState({});
const [active, setActive] = useState(SECTIONS[0].id);
useReveal(1);
useEffect(() => {
fetch("api/settings.php?action=get_public")
.then(r => r.json())
.then(d => { if (d.ok && d.settings) setContactInfo(d.settings); })
.catch(() => {});
}, []);
// Marca activa la sección visible en la subcabecera (scroll-spy).
useEffect(() => {
const obs = new IntersectionObserver((entries) => {
const vis = entries.filter(e => e.isIntersecting).sort((a, b) => b.intersectionRatio - a.intersectionRatio);
if (vis[0]) setActive(vis[0].target.id);
}, { rootMargin: `-${NAV_OFFSET + 8}px 0px -55% 0px`, threshold: [0, 0.25, 0.5, 1] });
SECTIONS.forEach(s => { const el = document.getElementById(s.id); if (el) obs.observe(el); });
return () => obs.disconnect();
}, []);
// "Contacto" del menú global vive en contacto.html; los enlaces internos de
// esta página hacen scroll suave a la sección local correspondiente.
const onScroll = (id) => {
if (id === "top") { window.scrollTo({ top: 0, behavior: "smooth" }); return; }
if (document.getElementById(id)) scrollToId(id);
else window.location.href = `index.html#${id}`;
};
return (
<>
setTweak("theme", t.theme === "dark" ? "light" : "dark")} onScroll={onScroll}/>
{/* ---- Hero ---- */}
Suite forense · Windows
MAPerit — peritación informática forense, de principio a fin.
Cinco programas que cubren todo el ciclo de una prueba digital: adquisición en vivo y offline,
análisis profundo, revisión visual y consulta para no peritos. El resultado es un informe
pericial en español, con cadena de custodia, apto para presentación en juzgado.
Cada módulo hace una cosa y la hace bien. Juntos forman una cadena: lo que recoge un
programa es exactamente lo que consume el siguiente, sin conversiones ni pérdida de trazabilidad.
Rigor probatorio
Operación en solo lectura sobre el equipo o el disco analizado, sin conexión de red, con
firma SHA-256 de cada evidencia en el momento de su adquisición.
Cobertura real
Diez fases de adquisición y correlación de más de doce fuentes: memoria, sistema de ficheros,
registro, eventos, navegadores, USB, nube y persistencia.
Doble público
El perito trabaja con el visor y el análisis profundo; el cliente o el abogado obtiene un
resumen guiado en lenguaje llano de los mismos hechos.
{/* ---- Flujo ---- */}
El flujo forense
De la evidencia al informe, en cuatro pasos.
{/* ---- Programas ---- */}
Los 5 programas
Cada pieza del ecosistema MAPerit.
Todos para Windows 10, Windows 11 y Windows Server 2016 en adelante. SW, OF, AN y SC son
scripts portables; TN es una aplicación de escritorio sin instalación.
{PROGRAMS.map(p => )}
{/* ---- Pantallas ---- */}
Pantallas
Así se ve el visor forense.
Pantallas reales del programa con datos ficticios de demostración. Pulse una para ampliarla.
{/* ---- Estándares ---- */}
Estándares y garantías
Construido sobre normas reconocidas.
{STANDARDS.map(row => (
{row.s}
{row.a}
))}
{/* ---- Para quién ---- */}
Para quién es
Quién trabaja con MAPerit.
{AUDIENCE.map(a => (
{a.h}
{a.p}
))}
{/* ---- Qué recibe ---- */}
Qué recibe el cliente
El entregable de una peritación con MAPerit.
{DELIVERABLES.map(d => (
{d.h}
{d.p}
))}
Aviso legal y uso autorizado
Las herramientas MAPerit solo deben ejecutarse sobre los equipos y unidades de almacenamiento
para los que exista autorización legal explícita (consentimiento del titular, mandato judicial
o habilitación pericial). Su uso sin autorización puede constituir un acceso ilícito conforme
al Código Penal. La cadena de custodia protege la integridad de las evidencias tras su
adquisición, pero no certifica la autenticidad del contenido original: el valor probatorio del
informe depende de su presentación por un perito judicial habilitado.