Habr•September 23, 2026•🇷🇺Translated from Russian

EVTX Record Recovery: Advanced Carving Techniques for Damaged Windows Event Logs

Positive Technologies researchers have published a detailed technical guide on recovering EVTX records through carving techniques when attackers destroy or encrypt Windows event logs.

Windows event logs in EVTX format remain a critical telemetry source during incident response. They frequently provide the only evidence of credential theft, lateral movement, or persistence. Attackers routinely clear logs with wevtutil cl, encrypt them, or wipe entire disks. Modern ransomware increasingly targets full virtual machine images such as VDI, VMDK, and VHDX, rendering the volume file system unmountable due to destroyed MFT or partition tables.

EVTX File Structure

An EVTX file consists of three nested layers: file header, chunks, and records. The 4096-byte file header begins with the magic ElfFile\x00 and contains fields for first and last chunk numbers, next record ID, and two CRC32 checksums. Each 65536-byte chunk starts with ElfChnk\x00 and holds its own header with separate checksums for the header and event data, plus caches for strings and templates.

Event records begin with the magic bytes 2A 2A 00 00, followed by DataSize, EventRecordID, a FILETIME timestamp, BinXML body, and a duplicate DataSize trailer. The trailer enables boundary detection during carving. BinXML uses token streams and template instances to avoid repeating tag names, storing full templates once per chunk and referencing them via TemplateInstance tokens.

Carving Methods

The team describes two carving approaches. Chunk-based carving searches for the ElfChnk\x00 signature at any offset, validates header and data checksums separately, and assigns high, medium, or low confidence levels. When checksums match, full records with named fields are reconstructed using the chunk’s string and template caches.

Record-based carving scans for the 2A 2A 00 00 magic and extracts substitution values directly from TemplateInstance records. This method recovers field values even when the owning chunk and its caches are lost, although field names cannot be restored. The EventRecordID sequence helps identify gaps caused by deleted events.

The resulting library, implemented in Go, handles both complete files and raw images while tolerating checksum mismatches. It supports automated pipelines for large-scale artifact analysis during ransomware and targeted intrusion investigations.

Related articles

Securitylab•Other

OpenAI Releases GPT-6.1 Terra: Cost-Effective Model Focused on Computer Control, Image Analysis and Practical Automation

OpenAI has launched GPT-6.1 Terra, a new model positioned between its high-end GPT-6 Astra and more affordable options in the GPT-6 family. The model emphasizes real-world computer interaction, visual understanding of documents and interfaces, and reduced error rates rather than raw reasoning benchmarks. It supports a 1.05 million token context window, image inputs, and tool use through the Responses API while cutting input token prices by half compared with its predecessor. Published benchmarks show substantial gains on Terminal-Bench 4.0, OSWorld 2.1 and Agents' Last Exam, with error rates dropping sharply at both low and maximum reasoning levels. OpenAI stresses that the model still requires human oversight for high-stakes actions and does not directly process audio or video. The release targets developers and enterprises seeking reliable automation of repetitive multi-step tasks at lower cost than flagship models.

Habr•Other

Yandex Black October: How Architectural Flaws and Capacity Mismanagement Turned Data Center Losses Into a 11-Day Fintech Coma

In October 2026 three Yandex data centers in Central Russia were physically destroyed within days, triggering the collapse of Yandex Cloud and multiple core services. Between the first and third site failures engineers had 74 hours to restore quorum and rebalance workloads yet failed to do so because Control Plane components remained tied to the lost zone and spare capacity had been eliminated to cut costs. Core banking and BNPL systems entered Read-Only mode after losing quorum, forcing a complete stop-the-world reconciliation that lasted until 22 October. Backups stored inside the same regional S3 buckets proved unusable, resulting in a seven-day RPO and primary-key collisions after restoration. The incident exposed that Metro-Cluster designs had been incorrectly treated as full Disaster Recovery and that aggressive AP microservice patterns created logical split-brain conditions outside the database layer.

AntiMalware•Other

Astra Group Releases Low-Code Astra AI Platform for Building Corporate AI Agents in Closed Environments

Astra Group has launched the Astra AI Platform, a low-code constructor designed for creating corporate AI applications that operate entirely within closed circuits without reliance on foreign clouds. The platform targets small and medium businesses as well as large corporations, enabling rapid deployment of AI secretaries, technical support assistants, and other agents in days rather than months. It forms part of the broader Astra AI ecosystem and includes two main constructors: one for machine learning model training and deployment, and another for LLM-based language assistants, document search, and process automation. Users can assemble scenarios from visual blocks, debug them in real time, or extend functionality with custom Python code when needed. The solution supports RAG-based knowledge bases, integration with external tools such as CRM and ERP systems, and the coordination of multiple agents for distributed task handling. One demonstrated use case involves processing ten pages of engineering drawings and specifications in five minutes to prepare data for downstream systems. The product is already listed in the Russian domestic software registry and available to customers.

Habr•Other

Multi-Tenancy Isolation in VictoriaMetrics, VictoriaLogs and Grafana: Building Client Separation in a Shared Stack

Voltir runs a single shared monitoring stack consisting of VictoriaMetrics, VictoriaLogs, Grafana and vmalert for all customers instead of deploying separate instances per tenant. Isolation relies on numeric account IDs enforced at every layer: nginx validates tokens against the platform API before proxying writes, Grafana data sources hard-code tenant accounts, and vmalert rules receive automatic account filters. The team discovered that a single malformed rule or template could break alerting for every tenant because vmalert loads the entire rules directory at once. They also found that Grafana automatically created personal organizations granting Org Admin rights, accumulating hundreds of orphaned organizations and users that consumed disk space and resources. A dedicated cleanup module plus hourly reconciliation now removes rules, organizations, series and users when a tenant is deleted, while isolation tests verify both data and API objects across tenants.