Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BlockGuard — BlockGuard एक विंडोज डेटा हानि निवारण (DLP) एजेंट है जो प्रक्रिया स्तर पर फ़ाइल पहुंच को इंटरसेप्ट और नियंत्रित करता है। यह सुनिश्चित करता है कि केवल अधिकृत प्रक्रियाएं — जो निष्पादन योग्य पथ, क्रिप्टोग्राफिक हैश, Authenticode हस्ताक्षर और अखंडता स्तर द्वारा पहचानी जाती हैं — संरक्षित फ़ाइलों को पढ़ सकें। | Kitploit
उपकरण/GitHubGitHub/m2l33k/blockguard
प्रमाणीकरण और प्राधिकरणरक्षात्मक उपकरणएन्क्रिप्शन/डिक्रिप्शन उपकरणकॉन्फ़िगरेशन ऑडिटिंगडेटा निष्कासनघटना प्रतिक्रियालॉग विश्लेषण
GitHubm2l33k/blockguard

BlockGuard

रिपॉजिटरी देखें
5 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

विवरण

BlockGuard एक विंडोज डेटा हानि निवारण (DLP) एजेंट है जो प्रक्रिया स्तर पर फ़ाइल पहुंच को इंटरसेप्ट और नियंत्रित करता है। यह सुनिश्चित करता है कि केवल अधिकृत प्रक्रियाएं — जो निष्पादन योग्य पथ, क्रिप्टोग्राफिक हैश, Authenticode हस्ताक्षर और अखंडता स्तर द्वारा पहचानी जाती हैं — संरक्षित फ़ाइलों को पढ़ सकें।

साझा करें

BlockGuard — Trusty

.NET 9 Windows License DLP

🛡️ BlockGuard — प्रक्रिया-आधारित फ़ाइल एक्सेस सुरक्षा एजेंट

BlockGuard एक विंडोज डेटा हानि रोकथाम (DLP) एजेंट है जो प्रक्रिया स्तर पर फ़ाइल एक्सेस को इंटरसेप्ट और नियंत्रित करता है। यह सुनिश्चित करता है कि केवल अधिकृत प्रक्रियाएँ — निष्पादन योग्य पथ, क्रिप्टोग्राफिक हैश, ऑथेंटिकोड हस्ताक्षर और अखंडता स्तर द्वारा पहचानी गई — सुरक्षित फ़ाइलों को पढ़ सकें। अन्य सभी प्रक्रियाओं को डिफ़ॉल्ट रूप से OS कर्नेल स्तर पर NTFS ACL के माध्यम से अस्वीकार कर दिया जाता है।


📑 सामग्री तालिका

  • विशेषताएँ
  • वास्तुकला
  • UI प्रबंधन इंटरफ़ेस
  • पूर्वापेक्षाएँ
  • त्वरित प्रारंभ
  • कॉन्फ़िगरेशन
  • एजेंट चलाना
  • इसकी कार्यप्रणाली सत्यापित करना
  • प्रोजेक्ट संरचना
  • यह कैसे काम करता है
  • समस्या निवारण
  • सुरक्षा संबंधी विचार
  • योगदान देना

✨ विशेषताएँ


🏗️ वास्तुकला

BlockGuard एक तीन-स्तरीय मॉड्यूलर आर्किटेक्चर का उपयोग करता है:``` ┌─────────────────────────────────────────────────────────────────┐ │ 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:~
---

## 🖥️ UI प्रबंधन इंटरफ़ेस

BlockGuard में एक **WPF डेस्कटॉप एप्लिकेशन** शामिल है जो संरक्षित फ़ाइलों और फ़ोल्डरों को एक दृश्य इंटरफ़ेस के माध्यम से प्रबंधित करने के लिए है — मैन्युअल रूप से `appsettings.json` संपादित करने की आवश्यकता नहीं है।

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

### विशेषताएँ

- **डैशबोर्ड** — सुरक्षा स्थिति का अवलोकन (कुल फ़ाइलें, फ़ोल्डर, एन्क्रिप्शन स्थिति)
- **संरक्षित फ़ाइलें** — फ़ाइल ब्राउज़र डायलॉग के माध्यम से AI पहुंच से बचाने के लिए फ़ाइलें और फ़ोल्डर जोड़ें/हटाएं
- **गतिविधि लॉग** — सभी कॉन्फ़िगरेशन परिवर्तनों का रीयल-टाइम लॉग
- **सेटिंग्स** — कॉन्फ़िगरेशन फ़ाइल पथ और एजेंट जानकारी देखें
- **एजेंट स्थिति** — लाइव संकेतक जो दिखाता है कि BlockGuard एजेंट सेवा चल रही है या नहीं

### UI कैसे लॉन्च करें```powershell
# From the project root
dotnet run --project src/BlockGuard.UI

नोट: UI, Agent प्रोजेक्ट से appsettings.json को पढ़ता और लिखता है। परिवर्तन सहेजने के बाद, उन्हें प्रभावी करने के लिए BlockGuard Agent सेवा को पुनरारंभ करें।


📋 पूर्वापेक्षाएँ

BlockGuard चलाने से पहले, सुनिश्चित करें कि निम्नलिखित आपके Windows मशीन पर स्थापित हैं:

आवश्यकतान्यूनतम संस्करण

.NET 9 SDK स्थापित करें (यदि स्थापित नहीं है)```powershell

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

Or use winget:

winget install Microsoft.DotNet.SDK.9

root@kitploit:~
---

## 🚀 त्वरित प्रारंभ

### 1. रिपॉजिटरी क्लोन करें```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard

2. निर्भरताएं पुनर्स्थापित करें```powershell

dotnet restore BlockGuard.sln

root@kitploit:~
### 3. समाधान बनाएँ```powershell
dotnet build BlockGuard.sln --configuration Release

आपको देखना चाहिए:``` Build succeeded. 0 Warning(s) 0 Error(s)

root@kitploit:~
### 4. सुरक्षित पथ और नियम कॉन्फ़िगर करें

`src/BlockGuard.Agent/appsettings.json` को संपादित करें **कौन सी फ़ाइलें सुरक्षित करनी हैं** और **कौन सी प्रक्रियाएँ अधिकृत हैं** परिभाषित करने के लिए:```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. चलाएं (विकास मोड)```powershell

Run as Administrator (required for ETW + ACL operations)

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
## ⚙️ कॉन्फ़िगरेशन

सभी कॉन्फ़िगरेशन `src/BlockGuard.Agent/appsettings.json` में `"BlockGuard"` अनुभाग के अंतर्गत रहता है।

### संरक्षित पथ

गार्ड करने के लिए फ़ाइलों या निर्देशिकाओं की एक सूची। निर्देशिकाएँ सभी फ़ाइलों को पुनरावर्ती रूप से सुरक्षित करती हैं।```json
"ProtectedPaths": [
  "C:\\Secrets\\ai-model-keys",
  "C:\\Secrets\\api-credentials.json",
  "D:\\Confidential\\reports"
]

अधिकृत प्रक्रिया नियम

प्रत्येक नियम उन मानदंडों को परिभाषित करता है जिनसे एक प्रक्रिया को पहुँच प्रदान करने के लिए मेल खाना चाहिए। सभी गैर-शून्य फ़ील्ड मेल खानी चाहिए (AND-तर्क):

उदाहरण: पथ-आधारित नियम (एक AI मॉडल प्रक्रिया के लिए)```json { "RuleName": "AI-Model-Inference-Engine", "ExecutablePath": "C:\Program Files\MyAI\inference.exe", "ExpectedFileHash": null, "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
**उदाहरण: हस्ताक्षर-आधारित नियम (किसी भी हस्ताक्षरित प्रबंधन उपकरण के लिए)**```json
{
  "RuleName": "Signed-Management-Tool",
  "ExecutablePath": null,
  "ExpectedFileHash": null,
  "ExpectedSignerSubject": "CN=Contoso Security",
  "MinimumIntegrityLevel": "High",
  "RequireSignature": true
}

उदाहरण: हैश-पिन किया गया नियम (अधिकतम छेड़छाड़ सुरक्षा के लिए)```json { "RuleName": "Pinned-Data-Processor", "ExecutablePath": "C:\Tools\processor.exe", "ExpectedFileHash": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890", "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
### अन्य विकल्प

| विकल्प | डिफ़ॉल्ट | विवरण |
|---|---|---|
| `IdentityCacheTtlSeconds` | `30` | एक मान्य प्रक्रिया पहचान कितने समय (सेकंड) तक कैश में रहती है |
| `HandleTimeoutSeconds` | `60` | अस्थायी ACL अनुदान की अधिकतम अवधि (सेकंड) |
| `AuditLogPath` | `C:\ProgramData\BlockGuard\Logs\audit.json` | JSON ऑडिट लॉग फ़ाइल का पथ |
| `EnableDpapiEncryption` | `true` | DPAPI के साथ संरक्षित फ़ाइलों को आराम पर एन्क्रिप्ट करें |
| `DpapiScope` | `LocalMachine` | DPAPI दायरा: `LocalMachine` या `CurrentUser` |

---

## 🏃 एजेंट चलाना

### विकल्प A: विकास मोड (कंसोल)

परीक्षण और डिबगिंग के लिए सर्वोत्तम। **उन्नत (प्रशासक) PowerShell** से चलाएं:```powershell
dotnet run --project src/BlockGuard.Agent --configuration Release

आपको कंसोल आउटपुट इस प्रकार दिखाई देगा:``` [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:~
`Ctrl+C` दबाकर रोकें।

### विकल्प B: एक Windows Service के रूप में स्थापित करें (उत्पादन)```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

सेवा प्रबंधित करें:```powershell

Check status

sc.exe query BlockGuard

Stop

sc.exe stop BlockGuard

Remove (uninstall)

sc.exe delete BlockGuard

root@kitploit:~
---

## ✅ यह काम कर रहा है इसकी पुष्टि करें

BlockGuard फ़ाइलों की सही ढंग से सुरक्षा कर रहा है, यह पुष्टि करने के लिए इन चरणों का पालन करें।

### परीक्षण 1: निर्माण सत्यापन```powershell
# From the project root directory
dotnet build BlockGuard.sln

# Expected: Build succeeded with 0 Error(s)

परीक्षण 2: एजेंट के प्रारंभ की जाँच करें```powershell

Open an elevated (Administrator) PowerShell

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
**✅ अपेक्षित आउटपुट:**
- `BlockGuard Security Agent Starting` संदेश
- कोई `CRITICAL` या `FATAL` त्रुटि नहीं
- `ETW file trace session started successfully`
- `BlockGuard is now actively protecting X path(s)`

**❌ यदि आप `ETW session — insufficient privileges` देखते हैं:**
- आप व्यवस्थापक के रूप में नहीं चल रहे हैं। PowerShell पर राइट-क्लिक करें → "Run as Administrator"

### परीक्षण 3: ACL लॉकडाउन सत्यापन

एजेंट शुरू होने के बाद, सुनिश्चित करें कि संरक्षित फ़ाइलें लॉक डाउन हैं:```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

परीक्षण 4: icacls के साथ ACL स्थिति सत्यापित करें```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:~
### Test 5: ऑडिट लॉग निरीक्षण

एजेंट के कुछ समय चलने के बाद, ऑडिट लॉग की जाँच करें:```powershell
# View the last 10 audit entries
Get-Content "C:\ProgramData\BlockGuard\Logs\audit.json" | Select-Object -Last 10

अपेक्षित आउटपुट (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:~
### परीक्षण 6: ETW इवेंट कैप्चर सत्यापित करें

दूसरा टर्मिनल खोलें और एजेंट चल रहा होने पर एक संरक्षित फ़ाइल तक पहुँचने का प्रयास करें:

``````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"

टर्मिनल 1 में, आपको इस प्रकार की एक लॉग प्रविष्टि देखनी चाहिए:``` [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:~
### परीक्षण 7: अनधिकृत पहुँच अवरुद्ध सत्यापित करें (AI Model)

जब कोई प्रक्रिया (जैसे एक अनधिकृत AI मॉडल) किसी संरक्षित फ़ोल्डर या फ़ाइल को पढ़ने का प्रयास करती है, तो एजेंट तुरंत पहुँच से इनकार कर देता है। AI को सख्त **Access Denied** त्रुटि प्राप्त होगी, और प्रयास लॉग किया जाता है:

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/d2a2e20c0fc60e8b3a5f614b0a53c6c7275b634e93b1ce0b9fe4440c38215fac.png" alt="अनधिकृत पहुँच अस्वीकृत" width="600" />
</p>

### परीक्षण 8: 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)

परीक्षण 9: छेड़छाड़ का पता लगाना

जब एजेंट चल रहा हो, मैन्युअल रूप से एक अनधिकृत ACL प्रविष्टि जोड़ें:```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:~
### परीक्षण 10: लॉग्स निर्देशिका सत्यापित करें```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)

त्वरित सत्यापन जाँच सूची


📁 परियोजना संरचना```

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:~
---

## 🔬 यह कैसे काम करता है

### स्टार्टअप अनुक्रम (5 चरण)```
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

पहुंच अनुरोध प्रवाह```

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

root@kitploit:~
### प्रक्रिया सत्यापन (6 जाँच)

जब कोई प्रक्रिया किसी संरक्षित फ़ाइल तक पहुँचती है, BlockGuard इसे निम्नलिखित के माध्यम से मान्य करता है:

1. **निष्पादन योग्य पथ** — पूर्ण पथ को हल और कैननिकलाइज़ करता है (पथ ट्रैवर्सल को रोकता है)
2. **SHA-256 हैश** — डिस्क पर बाइनरी के हैश की गणना करता है (फ़ाइल प्रतिस्थापन का पता लगाता है)
3. **ऑथेंटिकोड हस्ताक्षर** — डिजिटल हस्ताक्षर श्रृंखला को मान्य करता है (अहस्ताक्षरित/छेड़छाड़ की गई बाइनरी का पता लगाता है)
4. **प्रक्रिया स्वामी SID** — चल रहे खाते की पहचान करने के लिए टोकन को क्वेरी करता है
5. **अखंडता स्तर** — अनिवार्य लेबल (अविश्वसनीय/निम्न/मध्यम/उच्च/सिस्टम) पढ़ता है
6. **मूल प्रक्रिया ID** — प्रक्रिया निर्माण श्रृंखला का पता लगाता है (इंजेक्शन का पता लगाता है)

सभी जाँचें **फेल-क्लोज़`d होती हैं**: यदि कोई भी सत्यापन चरण विफल होता है, तो पहुँच **अस्वीकृत** कर दी जाती है।

---

## 🛠️ समस्या निवारण

### "ETW सत्र — अपर्याप्त विशेषाधिकार"

**कारण:** एजेंट प्रशासक/सिस्टम विशेषाधिकारों के साथ नहीं चल रहा है।

**समाधान:**```powershell
# Right-click PowerShell → "Run as Administrator"
dotnet run --project src/BlockGuard.Agent

"ACL संशोधित नहीं किया जा सकता — एजेंट के पास आवश्यक विशेषाधिकार नहीं हैं"

कारण: एजेंट बिना उन्नत विशेषाधिकारों के फ़ाइल अनुमतियाँ नहीं बदल सकता।

समाधान: ऊपर जैसा ही — व्यवस्थापक के रूप में चलाएँ।

"संरक्षित पथ मौजूद नहीं है। छोड़ा जा रहा है।"

कारण: appsettings.json में पथ आपकी मशीन पर मौजूद नहीं हैं।

समाधान: पहले निर्देशिकाएँ और फ़ाइलें बनाएँ:```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:~
### क्लोनिंग के बाद बिल्ड त्रुटियाँ

**समाधान:** NuGet पैकेज पुनर्स्थापित करें:```powershell
dotnet restore BlockGuard.sln
dotnet build BlockGuard.sln

"अनाथ ETW सत्र का निपटान"

कारण: एक पिछले एजेंट इंस्टेंस क्रैश हो गया और एक ज़ोंबी ETW सत्र छोड़ गया। यह स्वचालित रूप से साफ़ किया जाता है — यह एक WARNING है, कोई त्रुटि नहीं।

एजेंट शुरू होने के तुरंत बाद रुक जाता है

कारण: संभवतः एक कॉन्फ़िगरेशन त्रुटि। लॉग फ़ाइल की जाँच करें:```powershell Get-Content "C:\ProgramData\BlockGuard\Logs\blockguard-*.log" | Select-Object -Last 50

root@kitploit:~
---

## 🔒 सुरक्षा संबंधी विचार

### यह एजेंट क्या कर सकता है
- ✅ ACL प्रवर्तन के माध्यम से संरक्षित फ़ाइलों को **पढ़ने** से अनधिकृत प्रक्रियाओं को रोकें
- ✅ ETW के माध्यम से सभी फ़ाइल एक्सेस प्रयासों का वास्तविक समय में **ऑडिट** करें और पता लगाएं
- ✅ DPAPI का उपयोग करके फ़ाइलों को **आराम की स्थिति में** एन्क्रिप्ट करें
- ✅ ACL छेड़छाड़ का **पता लगाएं और स्वचालित रूप से सुधारें**

### यह एजेंट क्या नहीं कर सकता
- ❌ **फ़ाइल पढ़ने को उड़ान में रोकें** — यह एक उपयोगकर्ता-मोड एजेंट है; वास्तविक उड़ान में रोकथाम के लिए एक कर्नेल मिनीफ़िल्टर ड्राइवर की आवश्यकता है
- ❌ **कर्नेल-स्तरीय हमलों को रोकें** — एक दुर्भावनापूर्ण कर्नेल ड्राइवर NTFS ACL को बायपास कर सकता है
- ❌ **प्रशासकों को ओवरराइड करने से रोकें** — प्रशासक खाते ACL हटा सकते हैं (छेड़छाड़ का पता लगाने से कम किया गया)

### उत्पादन के लिए अनुशंसाएँ

1. **`NT AUTHORITY\SYSTEM` के रूप में चलाएँ** — एक Windows सेवा का उपयोग करें, कंसोल ऐप का नहीं
2. **एजेंट बाइनरी पर हस्ताक्षर करें** एक प्रमाणीकृत कोड प्रमाणपत्र के साथ स्व-छेड़छाड़ को रोकने के लिए
3. **वॉल्यूम पर BitLocker सक्षम करें** पूर्ण-डिस्क एन्क्रिप्शन के लिए (DPAPI का पूरक)
4. **केंद्रीकृत निगरानी के लिए SIEM पर ऑडिट लॉग अग्रेषित करें**
5. **कर्नेल-स्तरीय बायपास को रोकने के लिए सिक्योर बूट + ड्राइवर हस्ताक्षर प्रवर्तन सक्षम करें**

---

## 🤝 योगदान

1. रिपॉजिटरी को फोर्क करें
2. एक फीचर ब्रांच बनाएं: `git checkout -b feature/my-feature`
3. अपने परिवर्तनों को कमिट करें: `git commit -m "Add my feature"`
4. ब्रांच पर पुश करें: `git push origin feature/my-feature`
5. एक पुल अनुरोध खोलें

### कोड शैली
- C# नामकरण परंपराओं का पालन करें (सार्वजनिक सदस्यों के लिए PascalCase)
- सभी सार्वजनिक API में XML दस्तावेज़ीकरण टिप्पणियाँ जोड़ें
- प्रत्येक सत्यापन को **फेल-क्लोज़** होना चाहिए (त्रुटि पर अस्वीकार करें)
- सभी मूल हैंडल को `finally` ब्लॉकों में स्पष्ट रूप से निपटान करें
- उपयोग के बाद संवेदनशील मेमोरी बफ़र्स को शून्य करें

---

## 📄 लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है. विवरण के लिए [LICENSE](https://github.com/m2l33k/blockguard/blob/HEAD/LICENSE) देखें.

---

<p align="center">
  <b>विंडोज़ फ़ाइल सुरक्षा के लिए सुरक्षा-प्रथम सिद्धांतों के साथ निर्मित.</b>
  <br/>
  <sub>BlockGuard — क्योंकि आपका डेटा सिर्फ एक ताले के बजाय एक गार्ड का हकदार है.</sub>
</p>
टूल डाउनलोड करें
विशेषताविवरण
Deny-by-Default ACLsसुरक्षित फ़ाइलें एजेंट स्टार्टअप पर लॉक कर दी जाती हैं — केवल SYSTEM और प्रशासकों के पास ही पहुँच रहती है
Real-Time ETW Monitoringविंडोज के लिए इवेंट ट्रेसिंग (ETW) के माध्यम से कर्नेल-स्तरीय फ़ाइल I/O घटनाएँ कैप्चर की जाती हैं
6-Layer Process Validationनिष्पादन योग्य पथ, SHA-256 हैश, ऑथेंटिकोड हस्ताक्षर, स्वामी SID, अखंडता स्तर, पैरेंट प्रक्रिया श्रृंखला
DPAPI File Encryptionसुरक्षित फ़ाइलें विंडोज डेटा प्रोटेक्शन API का उपयोग करके रेस्ट पर एन्क्रिप्ट की जाती हैं
Auto-Revoking Temporary Accessअधिकृत प्रक्रियाओं को समय-सीमित ACL अनुदान प्राप्त होते हैं जो स्वतः समाप्त हो जाते हैं
Tamper Detectionसमय-समय पर अखंडता जाँच ACL संशोधनों का पता लगाती है और स्वतः सुधार करती है
Structured Audit Loggingसभी एक्सेस प्रयासों का JSON ऑडिट ट्रेल (SIEM-तैयार)
Windows Serviceएक पृष्ठभूमि विंडोज सेवा के रूप में NT AUTHORITY\SYSTEM के अंतर्गत चलता है
जाँच कमांड
Windows OSWindows 10 / Server 2019winver
.NET SDK9.0dotnet --version
प्रशासक विशेषाधिकारआवश्यकटर्मिनल को व्यवस्थापक के रूप में चलाएँ
फ़ील्डप्रकारविवरण
RuleNamestringइस नियम के लिए मानव-पठनीय नाम (ऑडिट लॉग में उपयोग किया जाता है)
ExecutablePathstring?अधिकृत निष्पादन योग्य का पूर्ण पथ (केस-असंवेदनशील)
ExpectedFileHashstring?निष्पादन योग्य का SHA-256 हैश (छेड़छाड़ का पता लगाना)
ExpectedSignerSubjectstring?Authenticode प्रमाणपत्र विषय (उदा., "CN=Contoso")
MinimumIntegrityLevelstringन्यूनतम Windows अखंडता स्तर: Untrusted, Low, Medium, High, System
RequireSignatureboolयदि true है, तो निष्पादन योग्य के पास एक वैध Authenticode हस्ताक्षर होना चाहिए
#परीक्षणजाँच कैसे करेंअपेक्षित परिणाम
1निर्माणdotnet build BlockGuard.sln0 त्रुटियाँ
2एजेंट प्रारंभdotnet run --project src/BlockGuard.Agent (व्यवस्थापक के रूप में)स्टार्टअप बैनर, कोई CRITICAL त्रुटि नहीं
3ACL लॉकडाउनicacls <protected-file>केवल SYSTEM + व्यवस्थापक
4अनधिकृत पहुंच अवरुद्धगैर-व्यवस्थापक टर्मिनल से संरक्षित फ़ाइल पढ़ेंपहुंच अस्वीकृत
5ETW कैप्चरएजेंट चलने के दौरान संरक्षित फ़ाइल पढ़ेंकंसोल में DENIED लॉग प्रविष्टि
6ऑडिट लॉगGet-Content C:\ProgramData\BlockGuard\Logs\audit.jsonनिर्णय के साथ JSON प्रविष्टियाँ
7DPAPI एन्क्रिप्शनTest-Path <file>.enc.enc फ़ाइल मौजूद है
8छेड़छाड़ का पता लगानाicacls <file> /grant Users:R फिर 60 सेकंड प्रतीक्षा करेंस्वचालित सुधार लॉग किया गया