Cómo exportar el registro de auditoría unificado de Microsoft 365

Cómo exportar el registro de auditoría unificado de Microsoft 365

SOC Prime Team
SOC Prime Team linkedin icon Seguir

El portal de Purview (Auditoría → Búsqueda) te permite buscar en el Registro Unificado de Auditoría y exportar los resultados a CSV. El evento completo se encuentra en una columna, AuditData, como un blob JSON. Para obtener JSON limpio, un evento por línea, utiliza Exchange Online PowerShell y Search-UnifiedAuditLog. El script está abajo. La retención estándar de auditoría es de 180 días; Auditoría (Premium) se conserva por un año por defecto.

El Registro Unificado de Auditoría cubre Exchange, SharePoint, OneDrive, Teams y la actividad de administración en un solo lugar. En un compromiso de correo electrónico empresarial, es donde se muestran las reglas de bandeja de entrada, el reenvío y las descargas masivas. Prime Core tiene 79 reglas de detección para los datos de auditoría de Microsoft 365, mapeadas a 33 técnicas de MITRE ATT&CK. Entre ellas: reglas de reenvío que desvían correo (T1114.003), permisos adicionales de buzón (T1098.002) y datos extraídos de SharePoint (T1213.002).

Comienza gratis

Antes de comenzar

¿Está la auditoría activada? Lo está por defecto para la mayoría de los inquilinos, pero revisa:

Connect-ExchangeOnline

Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

True es lo que necesitas. Si es False, nada fue registrado, y activarlo no rellenará retrospectivamente.

Roles. Necesitas el rol de Registros de Auditoría o Registros de Auditoría de Solo Vista. También necesitas el módulo ExchangeOnlineManagement (Install-Module ExchangeOnlineManagement).

Latencia. Los eventos no aparecen instantáneamente. La mayoría se muestran dentro de una o dos horas, algunos tardan más. Si estás buscando algo de esta mañana, puede que aún no sea buscable.

Exportar con PowerShell

Search-UnifiedAuditLog devuelve como máximo 5,000 registros por llamada. Con un ID de sesión y ReturnLargeSet, puedes paginar hasta 50,000 por búsqueda. Este bucle lo hace y escribe cada AuditData, ya en JSON, como una línea:

$session = [guid]::NewGuid().ToString()

$out = "ual_2026-10-19.jsonl"

do {

    $batch = Search-UnifiedAuditLog -StartDate "2026-10-19 00:00" -EndDate "2026-10-20 00:00" `

             -SessionId $session -SessionCommand ReturnLargeSet -ResultSize 5000

    $batch | ForEach-Object { $_.AuditData } | Add-Content $out

} while ($batch.Count -eq 5000)

El registro almacena el tiempo en UTC. Tenlo en cuenta al establecer la ventana.

Qué buscar

OperaciónPor qué importa
New-InboxRule, Set-InboxRule, UpdateInboxRulesReglas que reenvían, mueven o eliminan correo; verifica los parámetros en AuditData
Set-Mailbox con ForwardingSmtpAddressReenvío a nivel de buzón a una dirección externa
Add-MailboxPermission, Add-RecipientPermissionAlguien obteniendo acceso a otro buzón
MailItemsAccessedQué mensajes fueron realmente leídos; clave para delimitar una brecha
FileDownloaded, FileSyncDownloadedFull burstsDescarga masiva de SharePoint o OneDrive
Consentimiento a una aplicaciónUna aplicación maliciosa obtuvo acceso al correo o a los archivos

La secuencia clásica de BEC: un inicio de sesión desde una nueva ubicación, luego en minutos una regla de bandeja de entrada que mueve respuestas del equipo de finanzas a una carpeta oculta.

Cargar, sanitizar y revisar en LogTotal

  • Cargar. Abrir logtotal.com y suelta el archivo .jsonl.
  • Sanitizar. 
  • Revisar.

Cuando sale mal

SíntomaCausa probableFix
Search-UnifiedAuditLog no es reconocidoNo conectado a Exchange Online PowerShellConéctate a Exchange-Online primero
Sin resultadosAuditoría desactivada, eventos demasiado recientes, o fuera de retenciónRevisa la ingestión; espera; verifica tu nivel de auditoría
Exactamente 5,000 resultadosLímite por llamada alcanzado sin una sesiónUsa el bucle de sesión de arriba
Atascado en 50,000Límite de sesiónDivide la ventana en piezas más pequeñas
Acceso denegadoRol de auditoría faltanteSolicita los Registros de Auditoría de Solo Vista

FAQ

¿No es esto lo mismo que los registros de inicio de sesión de Entra?

Se superponen: el UAL tiene eventos de UserLoggedIn. Pero para detalles de autenticación (MFA, Acceso Condicional, riesgo), los registros de inicio de sesión de Entra son mucho más ricos. Exporta ambos.

¿Qué hay del API de Actividad de Gestión?

Esa es la ruta para la colección continua en un SIEM. Para una investigación única, PowerShell es más sencillo.

Únete a la plataforma Detection as Code de SOC Prime para mejorar la visibilidad de las amenazas más relevantes para tu negocio. Para ayudarte a comenzar y obtener valor inmediato, programa una reunión ahora con los expertos de SOC Prime.