🛡️ SharePoint Security Monitor v5.0

🚀 Una solución integral de monitoreo de seguridad para SharePoint basada en PowerShell, con protección contra CVE-2023-29357 y CVE-2023-33157, gestión inteligente de DLL, detección avanzada de amenazas y capacidades automatizadas de alertas.
📋 Tabla de Contenidos
🌟 Resumen del Proyecto
El script original de PowerShell de 5,519 líneas se ha mejorado hasta convertirlo en una solución de monitoreo de seguridad de alto rendimiento, manteniendo el ecosistema de PowerShell. Aunque sigue siendo un único script, incorpora mejoras significativas en modularidad y funcionalidad.
✨ Características Principales
🛡️ Funciones de Seguridad
- 🔍 Protección Específica para CVE: Detección dedicada para CVE-2023-29357 y CVE-2023-33157
- 🧬 Gestión Inteligente de DLL: Sistema de aprobación automática con cola de revisión pendiente
- 🎯 Detección de Amenazas en Tiempo Real: Identificación y seguimiento avanzado de actores de amenazas
- 📊 Seguimiento Integral de Ataques: Cronología unificada de ataques con más de 20 tipos de ataque
- 🔐 Protección de la Memoria LSASS: Detección de intentos de robo de credenciales
- �️ Detección de Manipulación de Defender: Monitoreo de la desactivación del software de seguridad
- 📋 Monitoreo de GPO: Detección de modificaciones sospechosas de las Directivas de Grupo
- 🔄 Detección de Inyección de DLL Reflectiva: Detección avanzada de inyección en memoria
- 🚨 Detección de Ransomware: Identificación de múltiples familias de ransomware
- 🌐 Detección de Comunicación C2: Monitoreo de dominios e IPs C2 conocidos
🏗️ Características de Arquitectura
- 📦 Arquitectura Mejorada: Un único script optimizado con funciones modulares
- ⚡ Rendimiento Optimizado: Lectura incremental de registros con marcadores inteligentes
- 🔄 Caché de Eventos: Filtrado eficiente de eventos duplicados
- 💾 Caché Inteligente: Archivos de caché diarios con limpieza automática
- 📊 Gestión de Líneas Base: Sistemas de línea base para DLL e integridad de archivos
- 🔒 Seguridad de Múltiples Capas: Compatibilidad con ESET y Microsoft Defender
📢 Monitoreo y Alertas
- 📧 Alertas Inteligentes por Correo: Alertas configurables con la opción -NoAlertOnWarnings
- 📈 Informes HTML Mejorados: Cronología integral de ataques y estadísticas
- ⚙️ Gestión de Tareas Programadas: Escaneos automáticos por hora, diarios y al inicio
- 🔐 Análisis Detallado de Ataques: Identificación de actores de amenazas basada en IP
- 📊 Métricas de Rendimiento: Seguimiento del tiempo de ejecución y tasas de acierto de caché
- 🎯 Gestión de DLL Pendientes: Flujo de trabajo de revisión y aprobación de DLL
🏗️ Arquitectura de la Solución
🔧 Componentes Principales
1️⃣ SharePoint-Security-Monitor.ps1 (Script Principal)
- 🎯 Punto de entrada modular con soporte integral de parámetros
- 🛡️ Mecanismos de manejo de errores y recuperación
- 📊 Informes de progreso y seguimiento del tiempo de ejecución
- ⚡ Soporte para escaneos rápidos, creación de líneas base y gestión de tareas
2️⃣ Funcionalidad Principal (Funciones Integradas)
- 📝 Registro Avanzado: Seguimiento del rendimiento con funciones de temporizador
- 🔬 Análisis de DLL: Test-SuspiciousDLL inteligente con aprobación automática
- 🎯 Detección de Amenazas: Coincidencia de patrones y correlación en tiempo real
- ⚙️ Configuración: Configuración basada en JSON con manejo seguro
- 📊 Generación de Informes: Informes HTML integrales con cronología de ataques
3️⃣ Sistema de Configuración
- 📋 SharePointSecurityConfig.json: Configuración lista para producción
- 🌍 Anulaciones específicas del entorno (Desarrollo, Pruebas, Producción)
- 🔐 Manejo seguro de credenciales con soporte de cifrado
4️⃣ Demostración y Configuración
- 🎮 Demo-EnhancedScript.ps1: Script de demostración interactivo
- 📊 Creación de la estructura de datos de muestra
- ✅ Capacidades de verificación y prueba de módulos
🚀 Guía de Inicio Rápido
📌 Uso Básico
# Standard security scan with email on alerts/warnings
.\SharePoint-Security-Monitor.ps1
# Standard scan with custom max days
.\SharePoint-Security-Monitor.ps1 -MaxDaysToScan 7
🎯 Operaciones Comunes
# ⚡ Quick scan (last 12 hours)
.\SharePoint-Security-Monitor.ps1 -QuickScan
# 📐 Create DLL baseline
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
# 👁️ Review and approve pending DLLs
.\SharePoint-Security-Monitor.ps1 -ReviewPendingDLLs
# 🤖 Auto-approve legitimate DLLs
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
# 🔍 Check SharePoint file integrity
.\SharePoint-Security-Monitor.ps1 -CheckIntegrity
# 📧 Force email alert
.\SharePoint-Security-Monitor.ps1 -ForceAlert
# 📊 Always send report regardless of findings
.\SharePoint-Security-Monitor.ps1 -AlwaysSendReport
# 🔕 Only alert on critical issues (not warnings)
.\SharePoint-Security-Monitor.ps1 -NoAlertOnWarnings
# 🗓️ Full historical scan (30 days)
.\SharePoint-Security-Monitor.ps1 -FullHistoricalScan
# 🔄 Reset log reading bookmarks
.\SharePoint-Security-Monitor.ps1 -ResetBookmarks
# 🗑️ Clear event cache
.\SharePoint-Security-Monitor.ps1 -ClearCache
# ⚙️ Manage scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
# 🚫 Disable event caching for debugging
.\SharePoint-Security-Monitor.ps1 -DisableEventCache
# 📏 Process larger log files (default 250MB)
.\SharePoint-Security-Monitor.ps1 -MaxLogSizeMB 500
# ✅ Auto-approve legitimate DLLs
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
📅 Gestión de Tareas
# 📥 Install scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
# 📊 Check task status
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
# 🗑️ Remove scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
🔬 Funciones Avanzadas
# 🔍 Verbose DLL analysis with auto-approval
.\SharePoint-Security-Monitor.ps1 -VerboseDLL -AutoApproveDLLs
# 🧹 Clear caches and reset bookmarks
.\SharePoint-Security-Monitor.ps1 -ClearCache -ResetBookmarks
📁 Estructura de Archivos
📂 SharePoint Security Monitor/
├── 📄 SharePoint-Security-Monitor.ps1 # Main monitoring script
├── 🎮 Demo-EnhancedScript.ps1 # Demonstration script
├── ⚙️ SharePointSecurityConfig.json # Configuration file
├── 📋 README.md # Documentation
├── 📄 changelog-file.md # Version history
└── 📋 contributing-guide.md # Contribution guidelines
📂 Runtime Directories (auto-created)
├── Logs/ # Security logs
│ └── SecurityMonitor_YYYYMMDD.log # Daily log files
├── Reports/ # HTML reports
│ └── SecurityReport_YYYYMMDD_HHMMSS.html # Timestamped reports
├── Baselines/ # Baseline data
│ ├── DLL_Baseline.json # DLL inventory baseline
│ ├── SharePoint_Integrity.json # File integrity baseline
│ ├── PendingDLLApproval.json # DLLs awaiting approval
│ └── ApprovedDLLs.json # Whitelisted DLLs
├── Bookmarks/ # Log reading positions
│ └── LogReadingBookmarks.json # Incremental read tracking
└── Cache/ # Event processing cache
└── ProcessedEvents_YYYYMMDD.json # Daily event cache
🆕 Novedades en la Versión 5.0
🛡️ Detección de Seguridad Mejorada
- 🔍 Protección Real contra CVE: Actualizado para detectar CVE-2023-29357 y CVE-2023-33157 (vulnerabilidades reales)
- 🎯 Seguimiento Avanzado de Actores de Amenazas: Identifica grupos APT conocidos y operadores de ransomware
- 🔐 Detección de Robo de Credenciales: Monitoreo del acceso a la memoria LSASS con filtrado inteligente de procesos
- 🛡️ Monitoreo del Software de Seguridad: Detecta la manipulación de Microsoft Defender y las Directivas de Grupo
- 💉 Detección de Inyección de DLL Reflectiva: Monitorea eventos de CreateRemoteThread
- 🏷️ Seguimiento Integral de Ataques: Cronología unificada de todos los eventos de seguridad
🧬 Gestión Inteligente de DLL
- 🤖 Sistema de Aprobación Automática: Aprueba automáticamente DLL legítimas firmadas por Microsoft
- 📋 Cola de Revisión Pendiente: Las DLL que requieren revisión manual se ponen en cola para su aprobación
- ✅ Reconocimiento de Componentes de SharePoint: Detección inteligente de componentes ASP.NET legítimos de SharePoint
- 🔍 Filtrado Mejorado: Reduce los falsos positivos con coincidencia inteligente de patrones
- 📊 Flujo de Trabajo de Aprobación: Proceso de revisión interactivo con seguimiento basado en hash
⚡ Optimizaciones de Rendimiento
- 📚 Lectura Incremental de Registros: El sistema de marcadores rastrea la última posición leída en los registros
- 💾 Caché de Eventos: Los archivos de caché diarios evitan el procesamiento duplicado de eventos
- � Lógica Inteligente de Omisión: Los registros sin cambios se omiten automáticamente
- 📊 Seguimiento de Aciertos de Caché: Las métricas de rendimiento muestran la eficiencia de la caché
- 🧹 Limpieza Automática: Los archivos de caché y registros antiguos se eliminan automáticamente
- 📈 Cronología de Ataques: Vista cronológica completa de todos los ataques
- 🎯 Análisis por Tipo de Ataque: Desglose estadístico por categoría de ataque
- 🌐 Análisis Basado en IP: Seguimiento y correlación detallada de IPs de atacantes
- 📊 Panel Ejecutivo: Métricas de seguridad de un vistazo
- 🔍 Desglose Detallado: Detalles integrales de ataques con atribución de actores de amenazas
🔧 Funciones Operativas
- 📅 Gestión Automatizada de Tareas: Instalación y gestión integradas de tareas programadas
- 🔄 Modos de Escaneo Flexibles: Rápido (12 h), Estándar (configurable), Histórico Completo (30 d)
- 📧 Alertas Inteligentes por Correo: Alertas configurables con la opción -NoAlertOnWarnings
- 🧪 Compatibilidad con ESET: Detección inteligente entre ESET y Microsoft Defender
- 🔒 Sistemas de Línea Base: Línea base de DLL y verificación de integridad de archivos de SharePoint
🆕 Mejoras Clave Respecto a la v3.9 Original
⚡ Mejoras de Rendimiento
- 📦 Diseño Optimizado: Script mejorado de 4,823 líneas con funciones modulares
- 💾 Sistema de Caché: Caché de eventos y marcadores de registro para procesamiento incremental
- 🔄 Procesamiento en Paralelo: Análisis multiproceso para grandes conjuntos de datos
- 🧠 Optimización de Memoria: Límites de memoria configurables y caché con compresión
- 📊 Informes de Progreso: Retroalimentación en tiempo real en operaciones de larga duración
🔬 Sistema Avanzado de Análisis de DLL
- ✍️ Validación de Firmas: Verificación de certificados digitales y análisis de confianza
- 🧬 Análisis de Comportamiento: Análisis de importaciones de API y cálculo de entropía
- 🤖 Aprendizaje Automático: Algoritmo de puntuación de amenazas con niveles de confianza
- 📐 Gestión de Líneas Base: Creación y comparación automatizadas de líneas base
- ✅ Flujo de Trabajo de Aprobación: Proceso de revisión interactivo para DLL sospechosas
- 🎯 Reconocimiento de Patrones: Identificación de DLL legítimas frente a maliciosas
🛡️ Detección de Amenazas Mejorada
- 🔍 Patrones Específicos de CVE: Detección para CVE-2025-53770 y vulnerabilidades de evasión
- 👤 Herramientas de Actores de Amenazas: Reconocimiento de herramientas y técnicas de ataque conocidas
- 🔗 Análisis de Correlación: Detección de ataques multivectoriales en ventanas de tiempo
- ⚡ Procesamiento en Tiempo Real: Lectura incremental de registros con marcadores
- 🎨 Patrones Personalizados: Definiciones extensibles de patrones de amenazas
- ⏰ Análisis de Cronología: Correlación de eventos dentro de ventanas de tiempo configurables
⚙️ Gestión de Configuración
- 🌍 Soporte de Entornos: Configuraciones de Desarrollo, Pruebas y Producción
- ✅ Sistema de Validación: Validación integral de la configuración
- 🔐 Almacenamiento Seguro: Manejo de datos sensibles cifrados
- 💾 Copia de Seguridad/Restauración: Versionado automático de la configuración
- 📋 Generación de Plantillas: Creación de plantillas de configuración
- 🌐 Informes HTML: Informes interactivos con estilo CSS y diseño adaptable
- 📄 Múltiples Formatos: Capacidades de exportación a JSON, CSV y, en el futuro, PDF
- 👔 Resumen Ejecutivo: Evaluación de riesgos y hallazgos clave para la dirección
- 🔧 Detalles Técnicos: Análisis detallado para equipos de seguridad
- 📈 Gráficos y Diagramas: Tendencias visuales de amenazas y gráficos de análisis
- ⚡ Métricas de Rendimiento: Tiempo de ejecución y uso de recursos del sistema
⚙️ Especificaciones Técnicas
📦 Resumen de Funciones de los Módulos
📝 SecurityLogger.psm1
Initialize-SecurityLogger: Configurar el sistema de registro
Write-SecurityLog: Escribir entradas de registro estructuradas
Get-SecurityLogs: Recuperar registros filtrados
Export-SecurityLogs: Exportar registros en múltiples formatos
Close-SecurityLogger: Limpiar los recursos de registro
🔬 DLLAnalyzer.psm1
Start-DLLAnalysis: Análisis integral de DLL
Analyze-DLLFile: Análisis de archivos individuales
Create-DLLBaseline: Establecimiento de la línea base
Review-PendingDLLs: Proceso de aprobación interactivo
🎯 ThreatDetector.psm1
Start-ThreatDetection: Análisis de amenazas multipatrón
Analyze-LogPath: Procesar directorios de registros
Analyze-LogFile: Procesamiento de archivos de registro individuales
Invoke-ThreatCorrelation: Correlación de patrones de ataque
Reset-LogBookmarks: Limpiar marcadores de procesamiento
Clear-EventCache: Restablecer la caché de eventos
⚙️ ConfigManager.psm1
Initialize-SecurityConfig: Cargar y validar la configuración
Import-SecurityConfig: Importar desde archivos JSON
Export-SecurityConfig: Guardar la configuración con cifrado
Test-SecurityConfig: Validar la integridad de la configuración
Get-ConfigValue: Recuperar valores de configuración
Set-ConfigValue: Actualizar valores de configuración
New-ConfigTemplate: Generar plantillas de configuración
Backup-SecurityConfig: Crear copias de seguridad de la configuración
📊 ReportGenerator.psm1
New-SecurityReport: Generar informes integrales
Prepare-ReportData: Procesar y analizar resultados
New-HTMLReport: Crear informes HTML interactivos
⚙️ Categorías de Configuración
- 📧 EmailSettings: Configuración SMTP y preferencias de alertas
- 🔍 ScanSettings: Parámetros de escaneo y ajuste de rendimiento
- 🔬 DLLAnalysisSettings: Comportamiento del análisis de DLL y umbrales
- 🎯 ThreatDetectionSettings: Configuración de patrones de amenazas y correlación
- 📝 LoggingSettings: Nivel de registro, formato y políticas de retención
- ⚡ PerformanceSettings: Límites de memoria y optimización del procesamiento
- 🔐 SecuritySettings: Requisitos de cifrado y privilegios
- 📅 ScheduledTaskSettings: Configuración de ejecución automatizada
- 🚨 AlertingSettings: Reglas de alertas en tiempo real y escalamiento
- 📊 ReportingSettings: Opciones de generación y formato de informes
🔧 Despliegue y Configuración
📋 Requisitos Previos
- ✅ Windows PowerShell 5.1 o PowerShell Core 6.0+
- ✅ Entorno de SharePoint 2019 o SharePoint Online
- ✅ Privilegios administrativos para aprovechar toda la funcionalidad
- ✅ Acceso a un servidor SMTP para alertas por correo (opcional)
📥 Pasos de Instalación
- 📂 Extraiga todos los archivos a un directorio seguro
- ⚙️ Revise y personalice
SharePointSecurityConfig.json
- 🎮 Ejecute la demostración:
.\Demo-EnhancedScript.ps1 -CreateSampleData
- 📐 Cree la línea base de DLL:
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
- 📅 Instale las tareas programadas:
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
- 🔍 Realice el escaneo inicial:
.\SharePoint-Security-Monitor.ps1
🔐 Consideraciones de Seguridad
- 👤 Ejecute con los privilegios administrativos adecuados
- 🔒 Almacene los archivos de configuración en ubicaciones seguras
- 🔐 Utilice almacenamiento cifrado para credenciales sensibles
- 🛡️ Implemente controles de acceso adecuados en los archivos de registro
- 💾 Realice copias de seguridad periódicas de la configuración y los datos de línea base
⚙️ Configuración
Edite SharePointSecurityConfig.json para personalizar:
- 📧 Configuración de correo (servidor SMTP, destinatarios)
- 🔍 Parámetros de escaneo (rangos de tiempo, límites de tamaño de archivo)
- 🎯 Umbrales de seguridad y niveles de alerta
- ⚡ Configuración de optimización del rendimiento
- 🛡️ Patrones de detección de amenazas y reglas de correlación
📧 Configuración de Correo Electrónico
El script está preconfigurado para enviar alertas a:
🚪 Códigos de Salida
- ✅ 0: No se detectaron problemas de seguridad
- ⚠️ 1: Se detectaron advertencias
- 🚨 2: Se detectaron problemas de seguridad críticos
- ❌ 99: Error de ejecución del script
🎯 Beneficios Obtenidos
👥 Para Equipos de Seguridad
- ⚡ Análisis Más Rápido: El diseño modular permite un análisis centrado en amenazas específicas
- 👁️ Mejor Visibilidad: Informes integrales con gráficos visuales y tendencias
- 🎯 Menos Falsos Positivos: Puntuación basada en ML y análisis de comportamiento
- 🔄 Flujo de Trabajo Simplificado: Procesos de aprobación automatizados y gestión de tareas
🔧 Para Administradores de Sistemas
- 🛠️ Mantenimiento Más Sencillo: La arquitectura modular simplifica las actualizaciones y la personalización
- ⚡ Mejor Rendimiento: Algoritmos optimizados y caché que reducen el uso de recursos
- ⚙️ Configuración Flexible: Configuración específica del entorno y validación
- 🤖 Operaciones Automatizadas: Tareas programadas y gestión automatizada de líneas base
👔 Para la Dirección
- 📊 Informes Ejecutivos: Evaluación clara de riesgos y resumen de hallazgos clave
- ✅ Soporte de Cumplimiento: Pistas de auditoría detalladas y documentación integral
- 💰 Eficiencia de Costos: Menos esfuerzo manual y respuesta a incidentes más rápida
- 📈 Visibilidad del Riesgo: Evaluación del nivel de amenaza en tiempo real y análisis de tendencias
📅 Historial de Versiones
- 🆕 v4.0: Arquitectura modular con módulos especializados, puntuación de amenazas basada en ML e informes mejorados
- 📦 v3.9: Validación de DLL mejorada y análisis de patrones (script original integral de un solo archivo)
- 🔄 v3.8: Flujos de trabajo de aprobación automática e informes detallados de ataques
🔮 Oportunidades de Mejora Futura
- 🤖 Integración de Aprendizaje Automático: Modelos de ML avanzados para la predicción de amenazas
- ☁️ Integración en la Nube: Integración con el centro de seguridad de Azure/Office 365
- 🔌 Desarrollo de API: API REST para la integración con sistemas externos
- 📱 Panel Móvil: Interfaz de informes adaptada a dispositivos móviles
- 🌐 Fuentes de Inteligencia de Amenazas: Integración con inteligencia de amenazas comercial
- 🤖 Respuesta Automatizada: Acciones automatizadas de contención y remediación
📄 Licencia
Este proyecto está diseñado para el monitoreo de seguridad de SharePoint y la detección de amenazas.
💬 Soporte
Para soporte técnico e incidentes de seguridad, contacte: [email protected]
🛡️ Protegiendo Entornos SharePoint Desde 2024 🛡️
Hecho con ❤️ por el Centro de Operaciones de Seguridad