Pages

Se afișează postările cu eticheta security. Afișați toate postările
Se afișează postările cu eticheta security. Afișați toate postările

duminică, 5 iulie 2026

News : Security - OpenCVE teams can use automations.

We’re excited to introduce a major evolution in how OpenCVE helps teams manage CVEs: Automations.
If you use OpenCVE today, you already know the value of tracking CVEs that match your vendors and products. But as subscriptions grow, so does the noise. Every update, every score change, every new reference can demand attention.
Automations give you control over when, why, and how OpenCVE reacts to the CVEs in your projects.
Vulnerability monitoring is not just about detection. Security, SOC, DevSecOps, and engineering teams need to prioritize, triage, and act without drowning in alerts.
Until now, much of that logic lived inside notification configurations: event filters, CVSS thresholds, delivery rules, all bundled together. That worked, but it was hard to extend. You could notify, but you couldn’t easily assign a CVE, change its status, or build a scheduled digest with the same flexibility.

duminică, 28 iunie 2026

Security : Hardened Architecture in seL4 - A Practical Alternative to SELinux.

The debate between SELinux and seL4 is not about features—it is about architecture. SELinux attempts to enforce MAC on a massive, complex kernel where 100% enforcement is impossible. seL4, by contrast, provides a hardened, formally verified microkernel where isolation is guaranteed at the lowest level. For high-assurance systems, seL4 represents a cleaner, more reliable, and mathematically sound alternative to traditional Linux security frameworks.
No, seL4 is not Linux. They are completely different things, built on opposite design philosophies.
Because seL4 is not Linux. It has no drivers, no TCP/IP stack, no filesystem, no GUI, no sockets, no browser engine. seL4 only provides isolation, capabilities, IPC, and scheduling.
Two ways to run a applications, browser,chat app on seL4:
  • Run Linux as a virtual machine (like a sandbox) on seL4, this is the easiest method, and inside that Linux VM, you install Firefox, Chrome, or a chat app normally.
  • This is the hard method because you build your own OS stack using CAmkES components, but gives maximum security. You must write every component yourself: network stack, TCP/IP, storage, GUI, browser engine or chat logic, crypto, input handling. There is no package manager, no apt, no yum, no pacman. You write components in C or Rust, describe them in CAmkES ADL, and compile the whole system into one image. Each part is a separate CAmkES component. The browser or chat app is just another component with no direct access to memory or devices.
The seL4 is a microkernel designed with a single objective: provable isolation. Its architecture is intentionally minimal, allowing every line of kernel code to be formally verified. This verification mathematically proves memory safety, correctness, and strict separation between processes. Unlike Linux, seL4 does not rely on policy layers or runtime hooks. Security is built directly into the kernel’s structure.
These components of seL4 include:
  • Capability-based access control – resources are accessed only through unforgeable capabilities
  • Minimal trusted computing base – a few thousand lines of code drastically reduce attack surface
  • Strict process isolation – no shared global state, no implicit interactions
  • Deterministic kernel behavior – predictable execution eliminates timing attacks
  • User-space security services – policy engines run outside the kernel
In seL4, isolation is not a policy—it is a guarantee. A process cannot access memory, objects, or capabilities unless explicitly granted. This eliminates entire classes of vulnerabilities such as privilege escalation, buffer overflows, and unauthorized resource access.
The difference between seL4 and SELinux is architectural, not functional. SELinux adds MAC on top of a massive kernel. seL4 embeds isolation into the kernel’s foundation.
seL4 provides a hardened, formally verified architecture that guarantees isolation at the kernel level. SELinux, while powerful, cannot achieve 100% mandatory access control due to Linux’s monolithic design, shared global state, and lack of formal verification. seL4 solves these limitations by design, offering a minimal attack surface, strict capability-based access, and provable correctness. For systems requiring absolute security guarantees, seL4 stands as a technically superior alternative to SELinux.
SELinux implements MAC by applying policies to processes, files, sockets, and other kernel-managed objects. However, Linux is a monolithic kernel with millions of lines of code, dynamically loaded modules, and complex internal interactions. Because of this architecture, it is impossible to enforce MAC with absolute completeness.
If you want SELinux‑like fine‑grained control over access to resources, but in a seL4 system, you can model those permissions explicitly in CAmkES using a dedicated “Broker” component. Instead of relying on kernel‑level MAC hooks, the Broker becomes the single authority that decides which client component may access which resource, under which conditions, and at what time.
CAmkES known as Component Architecture for Microkernel‑based Embedded Systems is a framework for building seL4‑based systems as a set of static components wired together via well‑defined interfaces. Each component has explicit connections (RPC, dataports, interrupts), and the entire system’s structure is described in an architecture description language (ADL). At build time, CAmkES generates glue code and a CapDL specification that maps components to seL4 objects and capabilities, giving you precise control over who holds which capability.
This is one example for seL4, CAmkES Broker component ADL example with multiple workers:
component Broker {
provides DataPort mem_manager
uses seL4SharedData pool
}

component Worker {
dataport Buf(4096) data
}

component Worker2 {
dataport Buf(4096) data
}

assembly {
composition {
component Broker broker
component Worker worker1
component Worker2 worker2

connection seL4SharedData pool_conn(from broker.pool, to worker1.data)
connection seL4SharedData pool_conn2(from broker.pool, to worker2.data)

connection seL4DataPort mem_req1(from worker1.data, to broker.mem_manager)
connection seL4DataPort mem_req2(from worker2.data, to broker.mem_manager)
}
}
The Broker is the only component with access to raw memory. Worker1 and Worker2 have no direct access. They can only send requests to the Broker. The Broker decides which worker receives access to which memory region. This is a capability graph, not a rule list. It is structurally enforced by seL4, not heuristically enforced like SELinux.
The Broker receives a request from a worker. It checks the size and then selects a region inside the raw memory pool. The worker never touches the pool directly. The Broker writes into the pool and may later share a capability or a mapped region with the worker. This is how seL4 enforces isolation: only the Broker has the capability, and only the Broker can delegate it.
Why SELinux cannot do this ? SELinux cannot enforce 100% mandatory access control because Linux is a monolithic kernel with millions of lines of code, drivers that bypass hooks, shared global state, and no formal verification. seL4 solves this by design: the Broker owns the capability, and no component can bypass it. The policy is structural, not textual.

marți, 16 iunie 2026

Tools : a simple PowerShell script for UEFI, VeraCrypt, and more security information.

UEFI Secure Boot keys, used to sign the first stage boot loader, are expiring in June 2026
First, let's see this information that could highlight the intrusion capabilities of a hacking attack on an information system in time and space:
1. Secure Boot, even with old keys – protects BEFORE Windows starts
Secure Boot protects against:
  • bootkits
  • UEFI rootkits
  • bootloader tampering
  • malware that injects itself before Windows loads
It is a hardware + firmware protection, enforced by UEFI.
Even if your keys are old, Secure Boot is still:
  • much safer than having Secure Boot disabled
  • a firmware‑level protection
  • impossible to bypass without physical access + complex attacks
Old keys do not mean “insecure”; it only means Microsoft will replace them in the future.
2. VeraCrypt System Encryption – protects AFTER the bootloader starts
VeraCrypt protects:
  • the data on your disk
  • the confidentiality of your files
  • access to your system if someone steals your laptop
But it does NOT protect against:
  • bootkits
  • UEFI rootkits
  • bootloader tampering
  • firmware‑level attacks
Because VeraCrypt:
  • replaces the Windows bootloader
  • disables Secure Boot
  • is not cryptographically signed for UEFI
  • does not provide protection against pre‑boot attacks
One basic script created by copilot to show some info:
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = "UEFI Bootloader Detector"
$form.Size = New-Object System.Drawing.Size(800,600)
$form.StartPosition = "CenterScreen"

$box = New-Object System.Windows.Forms.TextBox
$box.Multiline = $true
$box.ScrollBars = "Vertical"
$box.ReadOnly = $true
$box.Font = New-Object System.Drawing.Font("Consolas",10)
$box.Dock = "Fill"
$form.Controls.Add($box)

function Add-Line($text) {
    $box.AppendText($text + "`r`n")
}

Add-Line "=== UEFI Bootloader Detector ==="
Add-Line ""

# Montăm partiția EFI
mountvol S: /s | Out-Null

Add-Line "EFI Partition Contents:"
$efi = Get-ChildItem S:\EFI -ErrorAction SilentlyContinue
foreach ($item in $efi) {
    Add-Line "  $($item.Name)"
}

Add-Line ""
Add-Line "=== Bootloader Detection ==="

# Windows Boot Manager
Add-Line ""
Add-Line "Windows Boot Manager:"
if (Test-Path "S:\EFI\Microsoft\Boot\bootmgfw.efi") {
    Add-Line "  ✔ Windows bootloader detected"
} else {
    Add-Line "  ✖ Windows bootloader NOT found"
}

# VeraCrypt
Add-Line ""
Add-Line "VeraCrypt:"
if (Test-Path "S:\EFI\VeraCrypt\DcsBoot.efi") {
    Add-Line "  ✔ VeraCrypt bootloader detected"
} else {
    Add-Line "  ✖ VeraCrypt bootloader NOT found"
}

# GRUB
Add-Line ""
Add-Line "GRUB:"
$grubPaths = @(
    "S:\EFI\ubuntu\grubx64.efi",
    "S:\EFI\fedora\grubx64.efi",
    "S:\EFI\debian\grubx64.efi",
    "S:\EFI\opensuse\grubx64.efi",
    "S:\EFI\centos\grubx64.efi"
)

$grubFound = $false
foreach ($path in $grubPaths) {
    if (Test-Path $path) {
        Add-Line "  ✔ GRUB detected at $path"
        $grubFound = $true
    }
}
if (-not $grubFound) {
    Add-Line "  ✖ GRUB not found"
}

# rEFInd
Add-Line ""
Add-Line "rEFInd:"
if (Test-Path "S:\EFI\refind\refind_x64.efi") {
    Add-Line "  ✔ rEFInd detected"
} else {
    Add-Line "  ✖ rEFInd not found"
}

# systemd-boot
Add-Line ""
Add-Line "systemd-boot:"
if (Test-Path "S:\EFI\systemd\systemd-bootx64.efi") {
    Add-Line "  ✔ systemd-boot detected"
} else {
    Add-Line "  ✖ systemd-boot not found"
}

# Fallback EFI
Add-Line ""
Add-Line "Fallback Bootloader:"
if (Test-Path "S:\EFI\Boot\bootx64.efi") {
    Add-Line "  ✔ Fallback bootloader detected (bootx64.efi)"
} else {
    Add-Line "  ✖ Fallback bootloader not found"
}

Add-Line ""
Add-Line "=== Detection Complete ==="

$form.ShowDialog()

luni, 20 aprilie 2026

Tools : two script in powershell for audit authentication ...

I used copilot to create these powershell scripts to check this windows 10 operating system, because not work well.I think is a hacking with admnistrator access over ehernet.
Purpose : Collect Kerberos and NTLM authentication events from the Windows Security Log and export them into a JSON file for SIEM ingestion.
What it does:
Reads key authentication events (4768, 4769, 4771, 4624, 4625, 4776).
Extracts useful fields (user, IP, ticket type, failure reason, timestamp).
Converts everything into structured JSON.
Saves the JSON file so Splunk, Sentinel, ELK, Wazuh, or Graylog can ingest it.
Does not perform analysis — it only collects and exports raw data.
# ============================
# AUDIT AUTENTIFICARI KERBEROS + NTLM
# Compatibil: AD, SIEM, WEF
# ============================

$OutputFile = "C:\Logs\Kerberos_Audit_$(Get-Date -Format yyyyMMdd_HHmmss).json"

# Evenimente relevante
$EventIDs = @(4768, 4769, 4771, 4624, 4625, 4776)

# Preluare evenimente din Security Log
$Events = Get-WinEvent -FilterHashtable @{
    LogName = "Security"
    Id      = $EventIDs
} -ErrorAction SilentlyContinue

# Parsare evenimente
$Parsed = foreach ($ev in $Events) {

    $xml = [xml]$ev.ToXml()
    $data = $xml.Event.EventData.Data

    [PSCustomObject]@{
        TimeCreated     = $ev.TimeCreated
        EventID         = $ev.Id
        Machine         = $ev.MachineName
        User            = $data[1].'#text'
        IP              = $data[18].'#text'
        TicketType      = switch ($ev.Id) {
                            4768 { "TGT Request" }
                            4769 { "Service Ticket (TGS)" }
                            4771 { "Kerberos Failure" }
                            4776 { "NTLM Authentication" }
                            4624 { "Logon Success" }
                            4625 { "Logon Failure" }
                            default { "Unknown" }
                          }
        Status          = $data[2].'#text'
        ServiceName     = $data[3].'#text'
        FailureReason   = $data[5].'#text'
        RawMessage      = $ev.Message
    }
}

# Export JSON pentru SIEM
$Parsed | ConvertTo-Json -Depth 5 | Out-File $OutputFile -Encoding UTF8

Write-Host "Audit complet. Log salvat în: $OutputFile"
The advanced script : alerts + dashboards + TXT report for detect suspicious authentication behavior and generate human-readable alerts.
It analyzes the events and identifies:
Brute-force attacks
Too many failures from the same user or IP in a short time window.
NTLM fallback
Detects when authentication falls back from Kerberos to NTLM (Event 4776).
Useful for spotting misconfigurations or downgrade attacks.
Kerberos failures
Detects repeated 4771 errors (bad passwords, clock skew, SPN issues).
# ============================
# AUDIT AUTENTIFICARI KERBEROS + NTLM
# DETECTIE: BRUTEFORCE, NTLM FALLBACK, KERBEROS FAILURES
# ============================

$LogFolder = "C:\Logs"
if (!(Test-Path $LogFolder)) {
    New-Item -ItemType Directory -Path $LogFolder | Out-Null
}

$Timestamp   = Get-Date -Format yyyyMMdd_HHmmss
$JsonFile    = "$LogFolder\Kerberos_Audit_$Timestamp.json"
$ReportFile  = "$LogFolder\Kerberos_Alerts_$Timestamp.txt"

# Interval analiză (ex: ultimele 2 ore)
$HoursBack = 2
$StartTime = (Get-Date).AddHours(-$HoursBack)

# Praguri detecție
$BruteForceThreshold = 5   # minim X eșecuri
$BruteForceWindowMin = 10  # în Y minute

$EventIDs = @(4768, 4769, 4771, 4624, 4625, 4776)

$Events = Get-WinEvent -FilterHashtable @{
    LogName   = "Security"
    Id        = $EventIDs
    StartTime = $StartTime
} -ErrorAction SilentlyContinue

$Parsed = foreach ($ev in $Events) {
    $xml  = [xml]$ev.ToXml()
    $data = $xml.Event.EventData.Data

    [PSCustomObject]@{
        TimeCreated   = $ev.TimeCreated
        EventID       = $ev.Id
        Machine       = $ev.MachineName
        User          = $data[1].'#text'
        IP            = $data[18].'#text'
        TicketType    = switch ($ev.Id) {
                            4768 { "TGT Request" }
                            4769 { "Service Ticket (TGS)" }
                            4771 { "Kerberos Failure" }
                            4776 { "NTLM Authentication" }
                            4624 { "Logon Success" }
                            4625 { "Logon Failure" }
                            default { "Unknown" }
                        }
        Status        = $data[2].'#text'
        ServiceName   = $data[3].'#text'
        FailureReason = $data[5].'#text'
        RawMessage    = $ev.Message
    }
}

# Export JSON brut pentru SIEM
$Parsed | ConvertTo-Json -Depth 5 | Out-File $JsonFile -Encoding UTF8

# ============================
# DETECTIE: NTLM FALLBACK
# ============================

$NtlmEvents = $Parsed | Where-Object { $_.EventID -eq 4776 }
$NtlmCount  = $NtlmEvents.Count

# ============================
# DETECTIE: KERBEROS FAILURES
# ============================

$KerbFailEvents = $Parsed | Where-Object { $_.EventID -eq 4771 }
$KerbFailCount  = $KerbFailEvents.Count

# ============================
# DETECTIE: BRUTE FORCE (USER / IP)
# ============================

$FailureEvents = $Parsed | Where-Object { $_.EventID -in 4625, 4771, 4776 }

$BruteForceAlerts = @()

# Grupare pe User
$FailureEvents | Group-Object User | ForEach-Object {
    $user = $_.Name
    if ([string]::IsNullOrWhiteSpace($user)) { return }

    $events = $_.Group | Sort-Object TimeCreated
    for ($i = 0; $i -lt $events.Count; $i++) {
        $startTime = $events[$i].TimeCreated
        $windowEnd = $startTime.AddMinutes($BruteForceWindowMin)
        $windowEvents = $events | Where-Object { $_.TimeCreated -ge $startTime -and $_.TimeCreated -le $windowEnd }

        if ($windowEvents.Count -ge $BruteForceThreshold) {
            $BruteForceAlerts += [PSCustomObject]@{
                Type        = "BruteForce_User"
                User        = $user
                Count       = $windowEvents.Count
                FirstEvent  = $startTime
                LastEvent   = $windowEvents[-1].TimeCreated
            }
            break
        }
    }
}

# Grupare pe IP
$FailureEvents | Group-Object IP | ForEach-Object {
    $ip = $_.Name
    if ([string]::IsNullOrWhiteSpace($ip)) { return }

    $events = $_.Group | Sort-Object TimeCreated
    for ($i = 0; $i -lt $events.Count; $i++) {
        $startTime = $events[$i].TimeCreated
        $windowEnd = $startTime.AddMinutes($BruteForceWindowMin)
        $windowEvents = $events | Where-Object { $_.TimeCreated -ge $startTime -and $_.TimeCreated -le $windowEnd }

        if ($windowEvents.Count -ge $BruteForceThreshold) {
            $BruteForceAlerts += [PSCustomObject]@{
                Type        = "BruteForce_IP"
                IP          = $ip
                Count       = $windowEvents.Count
                FirstEvent  = $startTime
                LastEvent   = $windowEvents[-1].TimeCreated
            }
            break
        }
    }
}

# ============================
# GENERARE RAPORT TXT
# ============================

$ReportLines = @()

$ReportLines += "=== KERBEROS / NTLM AUDIT REPORT ==="
$ReportLines += "Interval analizat: ultimele $HoursBack ore"
$ReportLines += "Generat la: $(Get-Date)"
$ReportLines += ""
$ReportLines += "Total evenimente analizate: $($Parsed.Count)"
$ReportLines += "NTLM Authentication (4776): $NtlmCount"
$ReportLines += "Kerberos Failures (4771):   $KerbFailCount"
$ReportLines += ""

$ReportLines += "=== NTLM FALLBACK DETECTIE ==="
if ($NtlmCount -gt 0) {
    $ReportLines += "ATENTIE: Exista $NtlmCount evenimente NTLM (posibil fallback de la Kerberos)."
} else {
    $ReportLines += "Nu au fost detectate evenimente NTLM (4776) in interval."
}
$ReportLines += ""

$ReportLines += "=== KERBEROS FAILURES DETECTIE ==="
if ($KerbFailCount -gt 0) {
    $ReportLines += "ATENTIE: Exista $KerbFailCount esecuri Kerberos (4771)."
} else {
    $ReportLines += "Nu au fost detectate esecuri Kerberos (4771) in interval."
}
$ReportLines += ""

$ReportLines += "=== BRUTE FORCE DETECTIE ==="
if ($BruteForceAlerts.Count -gt 0) {
    foreach ($alert in $BruteForceAlerts) {
        if ($alert.Type -eq "BruteForce_User") {
            $ReportLines += "Brute force pe USER: $($alert.User) | Count: $($alert.Count) | Interval: $($alert.FirstEvent) - $($alert.LastEvent)"
        } elseif ($alert.Type -eq "BruteForce_IP") {
            $ReportLines += "Brute force pe IP:   $($alert.IP) | Count: $($alert.Count) | Interval: $($alert.FirstEvent) - $($alert.LastEvent)"
        }
    }
} else {
    $ReportLines += "Nu au fost detectate pattern-uri brute force (user/IP) peste pragul $BruteForceThreshold in $BruteForceWindowMin minute."
}
$ReportLines += ""

$ReportLines += "=== SUGESTII DASHBOARD (Splunk / Sentinel / Kibana) ==="
$ReportLines += "Splunk - Kerberos Failures:"
$ReportLines += "  index=kerberos EventID=4771 | stats count by User, IP, FailureReason"
$ReportLines += ""
$ReportLines += "Splunk - NTLM Fallback:"
$ReportLines += "  index=kerberos EventID=4776 | stats count by User, IP, Machine"
$ReportLines += ""
$ReportLines += "Splunk - Brute Force (User):"
$ReportLines += "  index=kerberos EventID=4625 OR EventID=4771 OR EventID=4776"
$ReportLines += "  | bin _time span=10m"
$ReportLines += "  | stats count by User, _time"
$ReportLines += "  | where count >= $BruteForceThreshold"
$ReportLines += ""
$ReportLines += "Kibana / Elastic:"
$ReportLines += "  Filtre pe campurile: EventID, User, IP, FailureReason, Machine"
$ReportLines += ""
$ReportLines += "Sentinel:"
$ReportLines += "  SecurityEvent"
$ReportLines += "  | where EventID in (4768, 4769, 4771, 4624, 4625, 4776)"
$ReportLines += "  | summarize count() by Account, IPAddress, EventID, bin(TimeGenerated, 10m)"
$ReportLines += ""

$ReportLines | Out-File $ReportFile -Encoding UTF8

# ============================
# AFISARE IN CONSOLA
# ============================

Write-Host "=== REZUMAT AUDIT ==="
Write-Host "JSON log:    $JsonFile"
Write-Host "Raport TXT:  $ReportFile"
Write-Host "Evenimente:  $($Parsed.Count)"
Write-Host "NTLM (4776): $NtlmCount"
Write-Host "KerbFail:    $KerbFailCount"
Write-Host ""

if ($BruteForceAlerts.Count -gt 0) {
    Write-Host "Brute force detectat:"
    $BruteForceAlerts | Format-Table -AutoSize
} else {
    Write-Host "Nu au fost detectate pattern-uri brute force peste prag."
}

if ($NtlmCount -gt 0) {
    Write-Host ""
    Write-Host "ATENTIE: Exista evenimente NTLM (4776) - posibil fallback de la Kerberos."
}

if ($KerbFailCount -gt 0) {
    Write-Host ""
    Write-Host "ATENTIE: Exista esecuri Kerberos (4771) - verifica SPN, parole, clock skew."
}

sâmbătă, 28 februarie 2026

Security : CORS (Cross‑Origin Resource Sharing) few headers.

CORS (Cross‑Origin Resource Sharing) is a browser security mechanism that controls whether a web application is allowed to request resources from a different domain than the one it was loaded from. It is a controlled extension of the Same‑Origin Policy, which would otherwise block most cross‑site requests.
CORS allows a server to explicitly declare which origins are permitted to access its resources. Without this rule, a malicious website could attempt to read sensitive data from your account on another site.
Header Explanation
Access-Control-Allow-Origin: * Allows any origin to access the resource (very risky for sensitive APIs).
Access-Control-Allow-Origin: https://example.com Allows only the specified origin to access the resource.
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH Specifies which HTTP methods are allowed for cross-origin requests.
Access-Control-Allow-Headers: Content-Type, Authorization, X-Api-Key Lists which custom request headers the client is allowed to send.
Access-Control-Allow-Credentials: true Allows cookies and authentication data in cross-origin requests; cannot be used with "*".
Access-Control-Expose-Headers: X-RateLimit-Remaining, X-Custom-Header Allows the browser to read specific response headers that are normally hidden.
Access-Control-Max-Age: 86400 Defines how long the browser may cache the preflight response (in seconds).
Access-Control-Request-Method: PUT Sent by the browser during preflight to ask if the HTTP method is allowed.
Access-Control-Request-Headers: Authorization, X-Api-Key Sent by the browser during preflight to ask if custom headers are allowed.
Origin: https://client.com Sent by the browser to indicate the origin of the request.
Vary: Origin Instructs caches that the response may vary depending on the Origin header.
Vary: Access-Control-Request-Headers Ensures caches treat responses differently based on requested headers.
Vary: Access-Control-Request-Method Ensures caches treat responses differently based on requested methods.
Timing-Allow-Origin: * Allows cross-origin access to detailed performance timing information.
Timing-Allow-Origin: https://example.com Allows only the specified origin to access performance timing data.
Access-Control-Allow-Private-Network: true Allows requests to private network resources (used in newer browser security models).
Cross-Origin-Opener-Policy: same-origin Isolates the browsing context from cross-origin pages to prevent data leaks.
Cross-Origin-Opener-Policy: same-origin-allow-popups Allows popups but keeps the main page isolated from cross-origin interference.
Cross-Origin-Opener-Policy: unsafe-none Disables isolation; allows cross-origin interactions (least secure).
Cross-Origin-Embedder-Policy: require-corp Requires embedded resources to explicitly allow cross-origin embedding (needed for SharedArrayBuffer).
Cross-Origin-Embedder-Policy: unsafe-none Allows embedding any resource without restrictions (not secure).
Cross-Origin-Resource-Policy: same-origin Restricts resource loading to the same origin only.
Cross-Origin-Resource-Policy: same-site Allows resource loading from the same site but different subdomains.
Cross-Origin-Resource-Policy: cross-origin Allows resource loading from any origin.
Cross-Origin-Opener-Policy-Report-Only Reports violations of COOP without enforcing them.
Cross-Origin-Embedder-Policy-Report-Only Reports violations of COEP without enforcing them.
Content-Security-Policy: script-src 'self' Restricts which scripts can run; critical for preventing cross-origin script injection.
Content-Security-Policy: worker-src 'self' Controls which origins can load Web Workers; required for secure WASM execution.
Content-Security-Policy: frame-ancestors 'none' Prevents the page from being embedded in iframes (anti-clickjacking).
Content-Security-Policy: require-trusted-types-for 'script' Protects against DOM XSS by enforcing Trusted Types.
Permissions-Policy: shared-array-buffer=(self) Allows SharedArrayBuffer only in isolated contexts (COOP + COEP required).
Permissions-Policy: fullscreen=(self) Controls which origins can request fullscreen mode.
Permissions-Policy: geolocation=() Blocks geolocation access for all origins.
Referrer-Policy: no-referrer Prevents sending the Referer header to any destination.
Referrer-Policy: strict-origin-when-cross-origin Sends full referrer on same-origin requests, but only origin on cross-origin.
Sec-Fetch-Site: cross-site Indicates the request came from a different site; used by browsers for security decisions.
Sec-Fetch-Mode: cors Indicates the request is a CORS request.
Sec-Fetch-Dest: script Indicates the destination type of the request (script, image, iframe, etc.).
Sec-Fetch-User: ?1 Indicates the request was triggered by a user interaction.
Report-To: {"group":"coop","max_age":10886400} Defines where browsers should send COOP/COEP violation reports.
NEL: {"report_to":"coop","max_age":10886400} Network Error Logging; allows reporting of network failures.

miercuri, 25 februarie 2026

Security : PNG Analysis by Didier Stevens.

This is another good tool by Didier Stevens :

luni, 23 februarie 2026

Security : Google CVE-2026-2441- Chrome zero-day of 2026.

Google has issued a patch for a high‑severity Chrome zero‑day, tracked as CVE‑2026‑2441, a memory bug in how the browser handles certain font features that attackers are already exploiting.
CVE-2026-2441 has the questionable honor of being the first Chrome zero-day of 2026. Google considered it serious enough to issue a separate update of the stable channel for it, rather than wait for the next major release.

vineri, 13 februarie 2026

News : about the new CLI tools this month.

It seems that this month a new trend of CLI tools has emerged in the field of artificial intelligence. It is normal, most of them are developers who use the keyboard. In my opinion, both browser and keyboard solutions are equally exposed to network security. Let's see what has emerged:
CLI Tool Best For Programming Language Model Price
Entire (Checkpoints) AI Session Wrapper / Rewind & Audit Rust / Go Model-agnostic (Wrapper) Open Source (Free)
Gemini CLI MCP integration, Google ecosystem & docs retrieval Go / Node.js Gemini 3 Pro Free Tier (1000 req/day)
Claude Code Deep reasoning, autonomous coding & multi-agent tasks Node.js / TypeScript Claude Opus 4.6 Pay-per-token (API)
Codex CLI Ultra-fast terminal-native coding & automation Python / Rust GPT-5.3 Codex-Spark Included in ChatGPT Plus/Pro
Cline 2.0 Parallel agentic workflows & browser automation TypeScript Multi-model (Claude, GPT, Kimi) Bring your own API key
Aider Git-native pair programming & refactoring Python GPT-5.2 / Claude 4.5 Free (Open Source)
Goose Extensible toolkit-based agents (Block/Square) Rust Multi-model Open Source (Free)
Amp Architecture-aware coding & deep research Go Sourcegraph Custom LLM Freemium / Enterprise
Droid Autonomous DevOps & CI/CD self-healing Python Droid-Proprietary Subscription based
Devin CLI End-to-end autonomous engineering (Full-stack) Rust / Python Devin v2 Custom Usage-based (Credits)
OpenCode Privacy-first local AI coding (Ollama/Llama) C++ / Python Local Models (Llama 4) Free (Self-hosted)

sâmbătă, 17 ianuarie 2026

Security : VPN's and Hydra Catapult, WireGuard and more ...

Today a little about security with VPN...
Hydra Catapult is a protocol developed by AnchorFree to deliver blazing-fast download and upload speeds over a secure VPN ...
This protocol was developed by Hotspot Shield.
One of the key features of Catapult Hydra is its use of optimized algorithms for data transmission, which dynamically adjust the speed and quality of the connection based on network conditions.
Hydra is able to block many VPN blocks, as it goes mostly unnoticed. That being said, Large Government entities can usually identify Hydra
When using the WireGuard protocol, the Split tunneling functionality is not available. If you want to use this functionality, choose a different protocol.
NOTE:
Hydra VPN can be hacked not because it is Hydra specifically, but because it is a free service without public security audits, may rely on less secure servers, and can be compromised through weak passwords vulnerable to brute‑force tools like Hydra, making a premium VPN with independent audits a safer choice.
Se the basic of a hacking vpn from Top10VPN - the official youtube channel.

marți, 13 ianuarie 2026

News : ... about my hacked system by provider.

I still haven't managed to block the hacking attacks that the provider is making, it's installed quite well and is happily learning about being a hacker and incompetent, filling in files and blocking them... you'd better watch TV - if it doesn't burn it through coaxial, everything works here...
Here are the steps to delete a file and a folder that is blocking my Active Presenter software from making movies...
Run Process Explorer as Administrator so it can access all open handles, then press Ctrl + F to open the Find Handle or DLL search window, and search for the folder or file name by typing something like Untitled1_tempdir, video_20260104_21-02-22.mp4
The folder is locked by an NTFS kernel‑level lock.
There is no doubt anymore.
It’s not a process.
It’s not an attribute.
It’s not an ACL.
It’s not the antivirus.
It’s not Explorer.
It’s not Windows Search.
It’s not ffmpeg.
It’s not ActivePresenter.

It’s a kernel handle that keeps the folder “alive” even though it’s empty.

This happens EXACTLY when a program (ActivePresenter) crashes while writing to the folder.
Windows is left with an internal lock on that directory, and any delete command is rejected.

And now comes the important part:

🔥 There is NO command in CMD or PowerShell that can break a kernel lock.
None.
Zero.
No matter how much you try, the result will always be the same: “Access is denied.”
  • PowerShell – delete file
    Remove-Item ".\video_20260104_21-02-22.mp4" -Force
  • PowerShell – delete folder
    Remove-Item Untitled1_tempdir -Recurse -Force
    Remove-Item "C:\Users\catafest\Documents\ActivePresenter\.ActivePresenterCachedProjects\Untitled1_tempdir" -Recurse -Force
  • PowerShell – take ownership
    takeown /F ".\video_20260104_21-02-22.mp4"
    takeown /F . /R /D Y
  • PowerShell – ACL operations
    icacls . /grant "$env:USERNAME:F" /T /C
    icacls .
  • PowerShell – search for locking processes
    Get-Process | Where-Object { $_.Modules.FileName -like "video_20260104_21-02-22.mp4" } 2>$null
  • PowerShell – stop services
    Stop-Service WSearch -Force
  • CMD – delete folder contents
    del Untitled1_tempdir
  • CMD – delete folder (NTFS raw path)
    rd /s /q \\?\C:\Users\catafest\Documents\ActivePresenter\.ActivePresenterCachedProjects\Untitled1_tempdir
    rd /s /q "C:\Users\catafest\Documents\ActivePresenter\.ActivePresenterCachedProjects\Untitled1_tempdir"
  • CMD – move folder
    move \\?\C:\Users\catafest\Documents\ActivePresenter\.ActivePresenterCachedProjects\Untitled1_tempdir C:\Temp
  • CMD – recreate folder
    mkdir Untitled1_tempdir
  • Registry – pending delete (failed)
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d "\??\C:\Users\catafest\Documents\ActivePresenter\.ActivePresenterCachedProjects\Untitled1_tempdir" /f

vineri, 2 ianuarie 2026

Security : Responding to CVE-2025-55182: Secure your React and Next.js workloads

Editor's note: This blog was updated on Dec. 4, 5, 7, and 12, 2025, with additional guidance on Cloud Armor WAF rule syntax, and WAF enforcement across App Engine Standard, Cloud Functions, and Cloud Run.
Earlier today, Meta and Vercel publicly disclosed two vulnerabilities that expose services built using the popular open-source frameworks React Server Components (CVE-2025-55182) and Next.js to remote code execution risks when used for some server-side use cases. At Google Cloud, we understand the severity of these vulnerabilities, also known as React2Shell, and our security teams have shared their recommendations to help our customers take immediate, decisive action to secure their applications.

vineri, 19 decembrie 2025

Google Apps Script : ... get data from protected websites with scrapingbee A.P.I. and GAScript.

Simple example with scrapingbee A.P.I. and GAScript to get data from the btassetmanagement.ro website.
Many financial websites — including BT Asset Management — use several layers of protection to prevent automated scraping. These protections are not meant to block normal users, but to stop bots, crawlers, and automated tools from extracting data at high speed.
Web Application Firewall that detects:
  • unusual request patterns
  • requests without browser headers
  • requests from datacenter IPs
  • too many requests in a short time
  • missing cookies or session tokens
If the request looks like a bot, the firewall returns

miercuri, 17 decembrie 2025

Security : Rust Binder contains the following unsafe operation on kernel.

This operation is unsafe because when touching the prev/next pointers of a list element, we have to ensure that no other thread is also touching them in parallel. If the node is present in the list that `remove` is called on, then that is fine because we have exclusive access to that list. If the node is not in any list, then it's also ok. But if it's present in a different list that may be accessed in parallel, then that may be a data race on the prev/next pointers.

News : Reporting a security issue - good practice.

This is how the python solve a security issue:
We take security very seriously and ask that you follow our security policy carefully.
If you've identified a security issue with a project hosted on PyPI.
Login to your PyPI account, then visit the project's page on PyPI. At the bottom of the sidebar, click Report project as malware. Supply the following details in the form:
  • A URL to the project in question
  • An explanation of what makes the project a security issue
  • A link to the problematic lines in the project's distributions via inspector.pypi.io
Important! If you believe you've identified a security issue with PyPI, DO NOT report the issue in any public forum, including (but not limited to):
  • Our GitHub issue tracker
  • Official or unofficial chat channels
  • Official or unofficial mailing lists

marți, 16 decembrie 2025

Security : Third-party apps & services on google.

You shared data with these third-party apps and services and this can be a security issue.
You track of your connections on this issue on the google official.

marți, 11 noiembrie 2025

News : ShaderBoy with google access ... bad or not?

In the web area, all sorts of propagated coincidences and implementations have started to appear. Here is a website that allows you to work with shaders and offers Google access functionality.
Because there are ongoing discussions about global security solutions and some security software developers have newer business implementations... I maintain my opinion that accessing a website with Google access, without knowing what access you are granting, for example: your photos, blogs, documents, is not a very good idea. Managing a large flow of Google accesses on a single account is difficult, which is why, in the case of hacking, using a traditional password will compromise only a single account.
Customizing access through Google, any other quirky ideas, and all kinds of duplicated accounts lead to rejections and blocks in web consumer psychology.
If you press no, then you are sure is works good ? https://shaderboy.net/app/.

miercuri, 29 octombrie 2025

News : Tools from sordum website ...

Sordum.org offers various tools to simplify your computer usage, such as AskAdmin, BlueLife Hosts Editor, ReIcon, and more. Download freeware to block access, …
I tested the TempCleaner tool by authors: BlueLife , Velociraptor and works ...
You can find these tools on the official website.

sâmbătă, 18 octombrie 2025

Security : WinSpy++

WinSpy++ is a handy programmer’s utility which can be used to select and view the properties of any window in the system. WinSpy is based around the Spy++ utility that ships with Microsoft Visual Studio.

vineri, 12 septembrie 2025