Security Review #285

December 05, 2025

UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.

— Dennis Ritchie

Starred Articles

Exploiting Ghost SPNs and Kerberos Reflection for SMB Privilege Elevation

Default Active Directory (AD) settings allow standard users to register DNS records, enabling Ghost SPNs (Service Principal Names mapped to hostnames that fail to resolve). This introduces an exploitable attack surface that adversaries can leverage to perform Kerberos authentication reflection, leading to remote privilege escalation.

LLM-Powered AMSI Provider vs. Red Team Agent

We built an LLM-powered AMSI provider and paired it against a red team agent, generating a unique dataset and a blueprint for detecting malicious code at execution time.

Shai-Hulud 2.0: the supply chain attack that learned

We investigate a new wave of the Shai-Hulud supply chain attack. It leverages the same worm-like propagation mechanism observed previously, but with updated tactics. It also exfiltrate stolen credentials directly to GitHub repositories created with compromised tokens.

Living Off the Land: Windows Post-Exploitation Without Tools

I walk you through conducting complete post-exploitation operations using nothing but native Windows tools. We'll cover initial reconnaissance, credential harvesting, lateral movement, persistence mechanisms, and data exfiltration. I'll explain why these techniques work, what defenders see when you use them, and how to make your operations blend in with legitimate administrative activity.

Discreet Driver Loading in Windows

We will dive into the techniques for loading vulnerable drivers in a stealthy way, focusing on how to integrate them into the system without triggering alarms or leaving obvious traces.

New Articles

SVG Filters - Clickjacking 2.0

I've discovered a technique that turns classic clickjacking on its head and enables the creation of complex interactive clickjacking attacks, as well as multiple forms of data exfiltration.

Hacking the Meatmeet BBQ Probe - Part 3

We uncover BLE flaws in the Meatmeet BBQ probe that allowed us to take over the device, push malicious firmware, and even build a BLE BBQ Probe botnet.

Critical RCE Vulnerabilities Discovered in React & Next.js

React and Next.js are exposed to critical unauthenticated RCE via CVE-2025-55182 and CVE-2025-66478. The flaw stems from insecure deserialization in the RSC payload handling logic, allowing attacker-controlled data to influence server-side execution.

ADS Forensics

ADS (Alternate Data Streams) in NTFS are extra named data parts attached to the same file, allowing adversaries to hide malicious payloads or exfiltrate data stealthily, bypassing normal detection methods. We will detail how ADS works and how suspicious files can be detected.

Hacking the Meatmeet BBQ Probe - Part 1

We reverse engineer the Meatmeet Pro thermometer, dump its ESP32 flash, uncover stored credentials, and analyze UART, BLE, and MQTT communication.

Hacking the Meatmeet BBQ Probe - Part 2

We analyze the Meatmeet Android app, uncovering stored credentials, traffic interception, insecure uploads, session bypass, and leaked tokens.

Developing Modern Ransomware - Part 1: User-Land

In this post, I walk through the process of building a modern piece of ransomware from an attacker's perspective. The goal is to show, step-by-step, how an operator would think about assembling the core components of a payload and layering on the evasion techniques that help it slip past contemporary defenses.

Pwning OpenAI Atlas Through Exposed Browser Internals

We detail a critical ChatGPT Atlas Browser vulnerability: XSS on an OpenAI subdomain let attackers hijack tabs, leak browsing URLs, and steal OAuth tokens.

Bind Link - EDR Tampering

The Bind Link API enables Administrators to create transparent mappings from a virtual path to a backing path (local or remote). It is possible to abuse the feature of bind links to force the redirection of the folder containing the EDR files to a folder that a threat actor has write access to perform evasion.

Conditional Access bypasses

We explore built-in and undocumented bypasses in Microsoft Entra Conditional Access (CA): Microsoft Authenticator App scope combination, Device Management Service access via Teams, and resources excluded from Conditional Access.

Cracking the Crystal Palace

In this blog article, we will look at Crystal Palace from a defence perspective and search for artifacts that would tell a capability has been loaded by Crystal Palace. We enventually identify __resolve_hook() and build the corresponding YARA rule.

Hide the threat - GPO lateral movement

We discuss 3 techniques used to filter the targets when performing lateral mouvement though GPO mechanism: filter during the execution of the attack (in-script), using configuration settings within GPO(in configuration), using the configuration of the GPO itself (security filtering).

CSP Bypasses: Advanced Exploitation Guide

Content Security Policies (CSPs) are often deployed as the last line of defense against client-side attacks such as cross-site scripting (XSS) and clickjacking. In this article, we'll explore in-depth what Content Security Policies are and how we can bypass CSPs to, for example, exploit XSS vulnerabilities.

Still Recent

Exploiting DLL Hijacking in Windows Electron Apps

This blog shows how to identify and abuse DLL hijacking vulnerabilities in Windows Electron apps, as well as the process of developing a proof of concept that utilises DLL proxying.

Unearthed Arcana

Process Injection - Part 3: NTAPI Injection

In this post, we're going to take a look at how the functions that you use from the standard Windows API get translated into the lower-level NTAPI/syscalls. After that, we'll program a super simple injector that will inject a DLL into our target process, except this time instead of using only Win32 API, we'll swap out one function for its NTAPI counterpart.

The Nightmare of Proc Hollow's Exe

In this blog, we are going to discuss a method of hiding malicious code, using Process Hollowing. At a high level, this is where malicious code launches a new process, then overwrites parts of it, and then allows the process to continue running. When a specific event is triggered, the malicious code is executed.

Process Injection - Part 5: Direct System Calls

We will use syscalls that allow us and our programs (which reside in the user-space) the ability to interface with the Kernel directly. Since we, as user-space residents can't operate in the Kernel, we need these intermediaries/interfaces in order to (indirectly) do it for us.

Adventures in Dynamic Evasion

EDR collect data from multiple sources (e.g. hooked functions, ETW, driver callbacks) working in tandem. In this article, we try to understand the limitations of each these sources to identify blind spots. We can then tailor our TTPs to avoid hitting as many "sensors" as possible, giving us a higher chance of success during the operation.

Process Injection - Part 1: Shellcode Injection

We go through the steps of the simplest injection technique: get a handle on a process, allocate a buffer in the process memory, write the content of the shellcode in this buffer, and create a thread that will run the shellcode.