Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BlockGuard — BlockGuard es un agente de prevención de pérdida de datos (DLP) para Windows que intercepta y controla el acceso a archivos a nivel de proceso. Garantiza que solo los procesos autorizados — identificados por ruta ejecutable, hash criptográfico, firma Authenticode y nivel de integridad — puedan leer los archivos protegidos. | Kitploit
Herramientas/GitHubGitHub/m2l33k/blockguard
Autenticación y AutorizaciónHerramientas DefensivasHerramientas de Cifrado/DescifradoAuditoría de ConfiguraciónExfiltración de DatosRespuesta a IncidentesAnálisis de Registros
GitHubm2l33k/blockguard

BlockGuard

Ver Repositorio
2hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

BlockGuard es un agente de prevención de pérdida de datos (DLP) para Windows que intercepta y controla el acceso a archivos a nivel de proceso. Garantiza que solo los procesos autorizados — identificados por ruta ejecutable, hash criptográfico, firma Authenticode y nivel de integridad — puedan leer los archivos protegidos.

Compartir

BlockGuard — Trusty

.NET 9 Windows Licencia Seguridad - DLP

🛡️ BlockGuard — Agente de seguridad de acceso a archivos basado en procesos

BlockGuard es un agente de prevención de pérdida de datos (DLP) para Windows que intercepta y controla el acceso a archivos a nivel de proceso. Garantiza que solo procesos autorizados — identificados por ruta ejecutable, hash criptográfico, firma Authenticode y nivel de integridad — puedan leer archivos protegidos. Todos los demás procesos son denegados por defecto a nivel del kernel del sistema operativo mediante ACL de NTFS.


📑 Tabla de contenido

  • Características
  • Arquitectura
  • Interfaz de gestión de UI
  • Requisitos previos
  • Inicio rápido
  • Configuración
  • Ejecución del agente
  • Verificación de funcionamiento
  • Estructura del proyecto
  • Cómo funciona
  • Solución de problemas
  • Consideraciones de seguridad
  • Contribuciones

✨ Características


🏗️ Arquitectura

BlockGuard utiliza una arquitectura modular de tres capas:``` ┌─────────────────────────────────────────────────────────────────┐ │ BlockGuard.Agent (Windows Service) │ │ Orchestrates all layers │ ├───────────────────┬─────────────────────┬───────────────────────┤ │ Layer 1 │ Layer 2 │ Layer 3 │ │ MONITORING │ POLICY & IDENTITY │ PROTECTION │ │ │ │ │ │ • ETW Kernel │ • Process Identity │ • DPAPI Encryption │ │ File Trace │ Validator (6 │ • Structured Audit │ │ • ACL Enforcer │ checks) │ Logger (JSON) │ │ (deny-by- │ • Policy Evaluator │ │ │ default) │ (AND-logic │ │ │ │ rules) │ │ │ │ • Identity Cache │ │ │ │ (LRU + TTL) │ │ └───────────────────┴─────────────────────┴───────────────────────┘

root@kitploit:~
---

## 🖥️ Interfaz de administración de la UI

BlockGuard incluye una **aplicación de escritorio WPF** para gestionar archivos y carpetas protegidos a través de una interfaz visual — sin necesidad de editar `appsettings.json` manualmente.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/51a9b7894117382666d869cee59860a33698f666133bd23c6b6cd48b225d942c.png" alt="BlockGuard UI" width="640" />
</p>

### Características

- **Panel de control** — Resumen del estado de protección (total de archivos, carpetas, estado de cifrado)
- **Archivos protegidos** — Agregar/eliminar archivos y carpetas para protegerlos del acceso de la IA mediante cuadros de diálogo de exploración de archivos
- **Registro de actividades** — Registro en tiempo real de todos los cambios de configuración
- **Configuración** — Ver la ruta del archivo de configuración e información del agente
- **Estado del agente** — Indicador en vivo que muestra si el servicio del agente BlockGuard se está ejecutando

### Cómo iniciar la UI```powershell
# From the project root
dotnet run --project src/BlockGuard.UI

Nota: La interfaz de usuario lee y escribe appsettings.json desde el proyecto Agente. Después de guardar los cambios, reinicie el servicio BlockGuard Agent para que surtan efecto.


📋 Requisitos previos

Antes de ejecutar BlockGuard, asegúrese de tener instalado lo siguiente en su máquina Windows:

Requisito

Instalar el SDK de .NET 9 (si no está instalado)```powershell

Download from https://dotnet.microsoft.com/download/dotnet/9.0

Or use winget:

winget install Microsoft.DotNet.SDK.9

root@kitploit:~
---

## 🚀 Inicio Rápido

### 1. Clonar el Repositorio```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard

2. Restaurar Dependencias```powershell

dotnet restore BlockGuard.sln

root@kitploit:~
### 3. Construir la solución```powershell
dotnet build BlockGuard.sln --configuration Release

Deberías ver:``` Build succeeded. 0 Warning(s) 0 Error(s)

root@kitploit:~
### 4. Configurar rutas protegidas y reglas

Edite `src/BlockGuard.Agent/appsettings.json` para definir **qué archivos proteger** y **qué procesos están autorizados**:```json
{
  "BlockGuard": {
    "ProtectedPaths": [
      "C:\\Secrets\\ai-model-keys",
      "C:\\Secrets\\api-credentials.json"
    ],
    "AuthorizedProcesses": [
      {
        "RuleName": "AI-Model-Inference-Engine",
        "ExecutablePath": "C:\\Program Files\\MyAI\\inference.exe",
        "MinimumIntegrityLevel": "Medium",
        "RequireSignature": false
      }
    ]
  }
}

5. Ejecutar (Modo de desarrollo)```powershell

Run as Administrator (required for ETW + ACL operations)

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
---

## ⚙️ Configuración

Toda la configuración reside en `src/BlockGuard.Agent/appsettings.json` bajo la sección `"BlockGuard"`.

### Rutas Protegidas

Un array de archivos o directorios a proteger. Los directorios protegen todos los archivos de forma recursiva.```json
"ProtectedPaths": [
  "C:\\Secrets\\ai-model-keys",
  "C:\\Secrets\\api-credentials.json",
  "D:\\Confidential\\reports"
]

Reglas de Procesos Autorizados

Cada regla define los criterios que debe cumplir un proceso para que se le conceda acceso. Todos los campos no nulos deben coincidir (lógica AND):

Ejemplo: Regla basada en ruta (para un proceso de modelo de IA)```json { "RuleName": "AI-Model-Inference-Engine", "ExecutablePath": "C:\Program Files\MyAI\inference.exe", "ExpectedFileHash": null, "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
**Ejemplo: Regla basada en firmas (para cualquier herramienta de gestión firmada)**```json
{
  "RuleName": "Signed-Management-Tool",
  "ExecutablePath": null,
  "ExpectedFileHash": null,
  "ExpectedSignerSubject": "CN=Contoso Security",
  "MinimumIntegrityLevel": "High",
  "RequireSignature": true
}

Ejemplo: Regla con hash fijo (para máxima protección contra manipulaciones)```json { "RuleName": "Pinned-Data-Processor", "ExecutablePath": "C:\Tools\processor.exe", "ExpectedFileHash": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890", "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
### Otras Opciones

| Opción | Predeterminado | Descripción |
|---|---|---|
| `IdentityCacheTtlSeconds` | `30` | Cuánto tiempo (segundos) se mantiene en caché una identidad de proceso validada |
| `HandleTimeoutSeconds` | `60` | Duración máxima (segundos) de una concesión ACL temporal |
| `AuditLogPath` | `C:\ProgramData\BlockGuard\Logs\audit.json` | Ruta del archivo de registro de auditoría JSON |
| `EnableDpapiEncryption` | `true` | Cifrar archivos protegidos en reposo con DPAPI |
| `DpapiScope` | `LocalMachine` | Ámbito DPAPI: `LocalMachine` o `CurrentUser` |

---

## 🏃 Ejecutando el Agente

### Opción A: Modo de Desarrollo (Consola)

Ideal para pruebas y depuración. Ejecute desde una **PowerShell elevada (Administrador)**:```powershell
dotnet run --project src/BlockGuard.Agent --configuration Release

Verás una salida de consola como:``` [03:15:22 INF] [BlockGuard.Agent.BlockGuardService] ======================================== BlockGuard Security Agent Starting Protected Paths: 2 Authorized Rules: 2 PID: 12345

[03:15:22 INF] [BlockGuard.Monitoring.AclEnforcer] Locked down file 'C:\Secrets\api-credentials.json' [03:15:22 INF] [BlockGuard.Protection.DpapiWrapper] Encrypted file 'C:\Secrets\api-credentials.json' [03:15:22 INF] [BlockGuard.Monitoring.EtwFileTraceSession] ETW file trace session started successfully. [03:15:22 INF] [BlockGuard.Agent.BlockGuardService] BlockGuard is now actively protecting 2 path(s).

root@kitploit:~
Presiona `Ctrl+C` para detener.

### Opción B: Instalar como un servicio de Windows (Producción)```powershell
# 1. Publish a self-contained build
dotnet publish src/BlockGuard.Agent -c Release -r win-x64 --self-contained -o C:\BlockGuard

# 2. Create the Windows Service
sc.exe create BlockGuard binPath= "C:\BlockGuard\BlockGuard.Agent.exe" start= auto obj= "NT AUTHORITY\SYSTEM" DisplayName= "BlockGuard Security Agent"

# 3. Set the service description
sc.exe description BlockGuard "Process-based file access security agent (DLP)"

# 4. Start the service
sc.exe start BlockGuard

Gestionar el servicio:```powershell

Check status

sc.exe query BlockGuard

Stop

sc.exe stop BlockGuard

Remove (uninstall)

sc.exe delete BlockGuard

root@kitploit:~
---

## ✅ Verificación de funcionamiento

Sigue estos pasos para confirmar que BlockGuard protege los archivos correctamente.

### Prueba 1: Build Verification```powershell
# From the project root directory
dotnet build BlockGuard.sln

# Expected: Build succeeded with 0 Error(s)

Test 2: Verificar que el Agente Inicia```powershell

Open an elevated (Administrator) PowerShell

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
**✅ Resultado esperado:**
- Mensaje `BlockGuard Security Agent Starting`
- Sin errores `CRITICAL` o `FATAL`
- `ETW file trace session started successfully`
- `BlockGuard is now actively protecting X path(s)`

**❌ Si ves `ETW session — insufficient privileges`:**
- NO estás ejecutando como Administrador. Haz clic derecho en PowerShell → "Ejecutar como administrador"

### Prueba 3: Verificación de bloqueo de ACL

Después de que el agente se inicie, verifica que los archivos protegidos estén bloqueados:```powershell
# Create a test protected file
New-Item -Path "C:\Secrets" -ItemType Directory -Force
Set-Content -Path "C:\Secrets\api-credentials.json" -Value '{"api_key": "secret123"}'

# Start the agent (it will lock down the file)
dotnet run --project src/BlockGuard.Agent

# In ANOTHER non-admin terminal, try to read the file:
Get-Content "C:\Secrets\api-credentials.json"
# Expected: Access Denied error

Prueba 4: Verificar el estado de ACL con icacls```powershell

icacls "C:\Secrets\api-credentials.json"

Expected output (only SYSTEM and Administrators):

C:\Secrets\api-credentials.json NT AUTHORITY\SYSTEM:(F)

BUILTIN\Administrators:(F)

No other users/groups should be listed

root@kitploit:~
### Prueba 5: Inspección del Registro de Auditoría

Después de que el agente se ejecute durante un tiempo, verifique el registro de auditoría:```powershell
# View the last 10 audit entries
Get-Content "C:\ProgramData\BlockGuard\Logs\audit.json" | Select-Object -Last 10

Salida esperada (líneas JSON):```json {"type":"operational","timestamp":"2026-03-05T02:30:00Z","eventType":"AgentStart","message":"BlockGuard security agent starting."} {"type":"access_decision","timestamp":"2026-03-05T02:30:05Z","verdict":"deny","reason":"No authorization rule matched this process identity.","file":"C:\Secrets\api-credentials.json","processId":5678}

root@kitploit:~
### Prueba 6: Verificar Captura de Eventos ETW

Abra una segunda terminal e intente acceder a un archivo protegido mientras el agente está en ejecución:```powershell
# Terminal 1: Agent is running with console output
dotnet run --project src/BlockGuard.Agent

# Terminal 2: Try reading a protected file with notepad
notepad.exe "C:\Secrets\api-credentials.json"

En la Terminal 1, deberías ver una entrada de registro como:``` [03:20:15 WRN] [AUDIT] DENIED access to 'C:\Secrets\api-credentials.json' by PID 9876 (C:\Windows\System32\notepad.exe). Reason: No authorization rule matched

root@kitploit:~
### Test 7: Verificar que el Acceso No Autorizado esté Bloqueado (Modelo de IA)

Cuando un proceso (como un modelo de IA no autorizado) intenta leer una carpeta o archivo protegido, el agente deniega inmediatamente el acceso. La IA recibirá un error estricto de **Acceso Denegado**, y el intento se registra:

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/d2a2e20c0fc60e8b3a5f614b0a53c6c7275b634e93b1ce0b9fe4440c38215fac.png" alt="Acceso No Autorizado Denegado" width="600" />
</p>

### Test 8: Verificar el Cifrado DPAPI```powershell
# Check that the .enc file was created
Test-Path "C:\Secrets\api-credentials.json.enc"
# Expected: True

# Check that the original plaintext file was securely deleted
Test-Path "C:\Secrets\api-credentials.json"
# Expected: False (if EnableDpapiEncryption is true)

Prueba 9: Detección de Manipulación

Mientras el agente está en ejecución, agregue manualmente una entrada de ACL no autorizada:```powershell

In an elevated terminal, add a rogue permission

icacls "C:\Secrets\api-credentials.json.enc" /grant Users:R

Wait up to 60 seconds...

The agent should detect the tampering and log:

[CRT] ACL TAMPERING DETECTED on 'C:\Secrets\api-credentials.json.enc'! Re-applying lockdown.

root@kitploit:~
### Test 10: Verificar Directorio de Logs```powershell
# Check both log locations
Get-ChildItem "C:\ProgramData\BlockGuard\Logs\"

# Expected files:
# audit.json              (structured JSON audit log)
# blockguard-20260305.log (daily rolling application log)

Lista de verificación rápida


📁 Estructura del proyecto```

BlockGuard/ ├── BlockGuard.sln # Solution file ├── README.md # This file ├── architecture_overview.md # Detailed architecture documentation ├── assets/ │ ├── Untitled.jpg # Project logo (Trusty mascot) │ └── blockguard_ui_mockup_*.png # UI mockup screenshot │ ├── src/ │ ├── BlockGuard.Core/ # Shared models, interfaces, configuration │ │ ├── Configuration/ │ │ │ └── BlockGuardOptions.cs # Strongly-typed config (paths, rules, timeouts) │ │ ├── Interfaces/ │ │ │ ├── IAclEnforcer.cs # ACL management contract │ │ │ ├── IAuditLogger.cs # Audit logging contract │ │ │ ├── IDpapiWrapper.cs # DPAPI encryption contract │ │ │ ├── IFileAccessMonitor.cs # ETW monitoring contract │ │ │ ├── IPolicyEvaluator.cs # Policy evaluation contract │ │ │ └── IProcessIdentityValidator.cs # Process identity contract │ │ └── Models/ │ │ ├── AccessDecision.cs # Verdict + reason + matched rule │ │ ├── FileAccessEvent.cs # ETW event: file, PID, operation │ │ └── ProcessIdentity.cs # Hash, signature, SID, integrity │ │ │ ├── BlockGuard.Monitoring/ # Layer 1: Monitoring & Interception │ │ ├── EtwFileTraceSession.cs # Real-time kernel file ETW consumer │ │ └── AclEnforcer.cs # NTFS ACL lockdown + temp grants │ │ │ ├── BlockGuard.Policy/ # Layer 2: Policy & Identity Engine │ │ ├── ProcessIdentityValidator.cs # 6-layer P/Invoke validation │ │ ├── PolicyEvaluator.cs # AND-logic rule matching │ │ └── IdentityCache.cs # Thread-safe LRU cache (TTL) │ │ │ ├── BlockGuard.Protection/ # Layer 3: Decryption & Handle Manager │ │ ├── DpapiWrapper.cs # DPAPI encrypt/decrypt + secure delete │ │ └── AuditLogger.cs # Structured JSON audit logging │ │ │ ├── BlockGuard.Agent/ # Windows Service entry point │ │ ├── Program.cs # DI container, Serilog, hosting │ │ ├── BlockGuardService.cs # Main orchestrator (5-phase startup) │ │ └── appsettings.json # Configuration file │ │ │ └── BlockGuard.UI/ # WPF Desktop Management Interface │ ├── App.xaml / App.xaml.cs # Application resources & dark theme │ ├── MainWindow.xaml / .cs # Main window with sidebar navigation │ ├── ViewModels/ │ │ └── MainViewModel.cs # MVVM ViewModel (commands, config I/O) │ └── Services/ │ └── ConfigurationService.cs # Reads/writes appsettings.json

root@kitploit:~
---

## 🔬 Cómo funciona

### Secuencia de inicio (5 fases)```
Phase 1: ACL Lockdown
  └─ Strip all permissions from protected files
  └─ Grant access only to SYSTEM + Administrators
  └─ Disable ACL inheritance

Phase 2: DPAPI Encryption (optional)
  └─ Encrypt each protected file at rest
  └─ Securely delete plaintext (overwrite with random data)
  └─ Store ciphertext as .enc files

Phase 3: Event Subscription
  └─ Register handler for file access events

Phase 4: ETW Monitoring
  └─ Start kernel-level file trace session
  └─ Filter events by protected paths
  └─ Emit FileAccessEvent for each match

Phase 5: Integrity Check Loop
  └─ Every 60 seconds, verify ACLs are intact
  └─ Auto-remediate if tampering detected

Flujo de Solicitud de Acceso```

┌─────────────┐ ┌───────────────┐ ┌──────────────────┐ │ Process │ │ ETW Kernel │ │ Policy │ │ reads file │────▶│ File Provider │────▶│ Evaluator │ └─────────────┘ └───────────────┘ └──────────────────┘ │ ┌────────┴────────┐ ▼ ▼ ┌──────────┐ ┌──────────┐ │ ALLOW │ │ DENY │ │ │ │ │ │ Grant │ │ ACL is │ │ temp ACL │ │ already │ │ (60s) │ │ blocking │ └──────────┘ └──────────┘ │ │ ▼ ▼ ┌────────────────────────────┐ │ Audit Logger (JSON) │ └────────────────────────────┘

root@kitploit:~
### Validación de procesos (6 comprobaciones)

Cuando un proceso accede a un archivo protegido, BlockGuard lo valida mediante:

1. **Ruta del ejecutable** — Resuelve y canonicaliza la ruta completa (previene path traversal)
2. **Hash SHA-256** — Calcula el hash del binario en disco (detecta reemplazo de archivo)
3. **Firma Authenticode** — Valida la cadena de firma digital (detecta binarios sin firmar/alterados)
4. **SID del propietario del proceso** — Consulta el token para identificar la cuenta en ejecución
5. **Nivel de integridad** — Lee la etiqueta obligatoria (No confiable/Bajo/Medio/Alto/Sistema)
6. **ID del proceso padre** — Rastrea la cadena de creación del proceso (detecta inyección)

Todas las comprobaciones son **fail-closed**: si falla algún paso de validación, el acceso es **DENEGADO**.

---

## 🛠️ Solución de problemas

### "Sesión ETW — privilegios insuficientes"

**Causa:** El agente no se está ejecutando con privilegios de Administrador/SYSTEM.

**Solución:**```powershell
# Right-click PowerShell → "Run as Administrator"
dotnet run --project src/BlockGuard.Agent

"Cannot modify ACL — agent lacks required privileges"

Causa: El agente no puede cambiar los permisos de archivos sin privilegios elevados.

Solución: Igual que arriba — ejecutar como Administrator.

"Protected path does not exist. Skipping."

Causa: Las rutas en appsettings.json no existen en su máquina.

Solución: Cree primero los directorios y archivos:```powershell New-Item -Path "C:\Secrets\ai-model-keys" -ItemType Directory -Force Set-Content -Path "C:\Secrets\api-credentials.json" -Value '{"key":"value"}'

root@kitploit:~
### Errores de compilación después de clonar

**Solución:** Restaurar paquetes NuGet:```powershell
dotnet restore BlockGuard.sln
dotnet build BlockGuard.sln

"Sesión ETW huérfana eliminada"

Causa: Una instancia de agente anterior falló y dejó una sesión ETW zombi. Esto se limpia automáticamente — es una ADVERTENCIA, no un error.

El agente se detiene inmediatamente después de iniciar

Causa: Probablemente un error de configuración. Compruebe el archivo de registro:```powershell Get-Content "C:\ProgramData\BlockGuard\Logs\blockguard-*.log" | Select-Object -Last 50

root@kitploit:~
---

## 🔒 Consideraciones de Seguridad

### Lo que Este Agente Puede Hacer
- ✅ Evitar que procesos no autorizados **lean** archivos protegidos mediante la aplicación de ACL
- ✅ Detectar y **auditar** todos los intentos de acceso a archivos en tiempo real mediante ETW
- ✅ Cifrar archivos **en reposo** usando DPAPI
- ✅ Detectar y **auto-remediar** la manipulación de ACL

### Lo que Este Agente No Puede Hacer
- ❌ **Bloquear lecturas de archivos en vuelo** — Este es un agente en modo usuario; el bloqueo real en vuelo requiere un controlador minifiltro del kernel
- ❌ **Detener ataques a nivel de kernel** — Un controlador malicioso del kernel puede eludir las ACL de NTFS
- ❌ **Evitar que los Administradores anulen** — Las cuentas de administrador pueden eliminar ACL (mitigado por la detección de manipulaciones)

### Recomendaciones para Producción

1. **Ejecutar como `NT AUTHORITY\SYSTEM`** — Usar un Servicio de Windows, no una aplicación de consola
2. **Firmar el binario del agente** con un certificado Authenticode para evitar la auto-manipulación
3. **Habilitar BitLocker** en el volumen para cifrado completo del disco (complementa DPAPI)
4. **Reenviar registros de auditoría a un SIEM** para monitoreo centralizado
5. **Habilitar Secure Boot + Driver Signature Enforcement** para evitar elusión a nivel de kernel

---

## 🤝 Contribuciones

1. Haz un fork del repositorio
2. Crea una rama de características: `git checkout -b feature/my-feature`
3. Confirma tus cambios: `git commit -m "Add my feature"`
4. Sube a la rama: `git push origin feature/my-feature`
5. Abre un Pull Request

### Estilo de Código
- Sigue las convenciones de nomenclatura de C# (PascalCase para miembros públicos)
- Agrega comentarios de documentación XML a todas las API públicas
- Cada validación debe **fallar cerrada** (negar en caso de error)
- Libera explícitamente todos los manejadores nativos en bloques `finally`
- Pon a cero los búferes de memoria sensible después de su uso

---

## 📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta [LICENSE](https://github.com/m2l33k/blockguard/blob/main/LICENSE) para más detalles.

---

<p align="center">
  <b>Construido con principios de seguridad primero para la protección de archivos en Windows.</b>
  <br/>
  <sub>BlockGuard — porque tus datos merecen un guardia, no solo un candado.</sub>
</p>
Descargar herramienta
CaracterísticaDescripción
ACL Denegar por defectoLos archivos protegidos se bloquean al iniciar el agente — solo SYSTEM y Administradores mantienen acceso
Monitorización ETW en tiempo realEventos de E/S de archivos a nivel de kernel capturados mediante Seguimiento de eventos para Windows
Validación de procesos en 6 capasRuta ejecutable, hash SHA-256, firma Authenticode, SID del propietario, nivel de integridad, cadena de procesos padre
Cifrado DPAPI de archivosArchivos protegidos cifrados en reposo usando la API de protección de datos de Windows
Revocación automática de acceso temporalLos procesos autorizados reciben concesiones ACL con límite de tiempo que expiran automáticamente
Detección de manipulacionesComprobaciones de integridad periódicas detectan y corrigen automáticamente modificaciones de ACL
Registro de auditoría estructuradoRastro de auditoría JSON de todos los intentos de acceso (preparado para SIEM)
Servicio de WindowsSe ejecuta como un servicio de Windows en segundo plano bajo NT AUTHORITY\SYSTEM
Versión mínima
Comando de verificación
Sistema operativo WindowsWindows 10 / Server 2019winver
SDK de .NET9.0dotnet --version
Privilegios de administradorRequeridoEjecute el terminal como administrador
CampoTipoDescripción
RuleNamestringNombre legible para esta regla (usado en registros de auditoría)
ExecutablePathstring?Ruta completa al ejecutable autorizado (no sensible a mayúsculas/minúsculas)
ExpectedFileHashstring?Hash SHA-256 del ejecutable (detección de manipulación)
ExpectedSignerSubjectstring?Asunto del certificado Authenticode (p. ej., "CN=Contoso")
MinimumIntegrityLevelstringNivel mínimo de integridad de Windows: Untrusted, Low, Medium, High, System
RequireSignatureboolSi es true, el ejecutable debe tener una firma Authenticode válida
#PruebaCómo comprobarResultado esperado
1Compilacióndotnet build BlockGuard.sln0 errores
2Inicio del agentedotnet run --project src/BlockGuard.Agent (como Administrador)Banner de inicio, sin errores CRÍTICOS
3Bloqueo ACLicacls <archivo-protegido>Solo SYSTEM + Administradores
4Acceso no autorizado bloqueadoLeer archivo protegido desde terminal no administradorAcceso denegado
5Captura ETWLeer archivo protegido mientras el agente se ejecutaEntrada DENEGADA en la consola
6Registro de auditoríaGet-Content C:\ProgramData\BlockGuard\Logs\audit.jsonEntradas JSON con veredicto
7Cifrado DPAPITest-Path <archivo>.encEl archivo .enc existe
8Detección de manipulaciónicacls <archivo> /grant Users:R y esperar 60 sAutorremediación registrada