Security Review #237

December 20, 2024

One of the best way to analyze malware is to build it

— Sun Tzu

Starred Articles

Security ProbLLMs in xAI's Grok: A Deep Dive

This post examines Grok's vulnerabilities against modern LLM application security threats, including prompt injection, data exfiltration, conditional attacks, disinformation and ASCII Smuggling.

Tales from the cloud trenches: Unwanted visitor

Amazon Simple Email Service (SES) is a common target for attackers to send out spam or phishing emails. In this post, we explore specific techniques regarding persistence within AWS SES that we have observed used by an attacker.

Exploiting Reflected Input Via the Range Header

Reflected input is often unexploitable because the attack ends up in a place which stops it working, such as inside a quoted attribute. However, the Range header can be used to force the server to send only the attack section from the document, making it fully-exploitable in the process.

How to Hunt Vulnerabilities in Machine Learning Model File Formats

This guide will walk you through hunting for 0-days in model file formats such as Pickle, ONNX, Safetensors, and GGUF. We're talking about bugs that could let you hide malicious payloads, manipulate memory, or plant backdoors that only trigger under specific conditions.

New Articles

Attacking Entra Metaverse: Part 1

This series will focus on attacker tradecraft around the syncing mechanics between Active Directory and Entra. This first blog post demonstrates how complete control of an Entra user is equal to compromise of the on-premises user.

CVE-2024-55557 - Weasis 4.5.1

An unsafe and unprotected password file with weak encryption methods leads to full credentials disclosure. The attacker has different option to chain the required steps to pursue the attack: local file read or remote path disclosure and file read.

Snowy Days & The Malware Packing Ways

This post will concentrate on basic compressors and crypters utilized by malware authors. We will explore the definitions of compressors and crypters, examine their functionalities, and discuss unpacking techniques. Additionally we will attempt to unpack a malware sample and develop a simple compressor/crypter in C for PE binaries.

Unsafe Archive Unpacking: Labs and Semgrep Rules

This post delves into the issue of unsafe archive extraction across various programming languages. It shows how giving developers more freedom also places the responsibility on them. While manual implementations are important, they can also introduce serious security risks.

Diving into ADB protocol internals - Part 2

In this article, we'll dive into the message protocol between ADB Server and adbd, with the goal of improving our Rust client library with capacity to fully interact with a device, eliminating the need for system dependency installations.

Auth bypass in Go SSH package

Systems that implement the PublicKeyCallback function incorrectly end up with a vulnerability that allows an authorization bypass in Go's x/crypto/ssh. Our analysis suggests that this issue is prevalent across multiple projects utilizing this (golang.org/x/crypto/ssh) package, leading to potentially severe security implications.

Databricks JDBC Attack via JAAS

I analyze a vulnerability in Databricks JDBC driver. It stems from improper handling of the krbJAASFile parameter. An attacker could potentially exploit this flaw to achieve remote code execution (RCE) within the driver's context by tricking the victim into using a specially crafted connection URL that includes the krbJAASFile property.

When Replicas Go Rogue - A Deep Dive into Cloudflared Replicas Exploitation Scenarios

This blog post will explore various methods that threat actors could use to access Cloudflared connector tokens and delve into how they might exploit the Cloudflared connector replicas feature once such a token is compromised. Finally, the post will present a practical AiTM attack scenario, showcasing session hijacking through a step-by-step process.

CapabilityAccessManager.db Deep Dive, Part 2

This article talks about some key settings for the database, the process used to grant capability access, a few ways to detect intentional manipulation of the artifact, and some interesting situations that may arise such that the data is not in an intuitive order.

Who Knows What Happened to My Logs? Tracking Event Log Deletion

Windows 10/11 tracks all log deletions. It's possible for a threat actor to clear the majority of logs and, at the very end, clear System.evtx, leaving behind only a single piece of evidence of their activity. However, by correlating the modification times of empty event logs with the timestamp of the last log deletion, we may be able to determine what else was cleared.

Understanding Account Authentication Artifacts

Windows authentication protocols keep logs of every attempt - successful or otherwise. Let's explore how authentication protocols like Kerberos and NTLM create artifacts that are goldmines for forensic investigations.

Analyzing Volatile Memory - Unpacking the Mystery Files

In this post, we'll explore how Windows manages volatile memory beyond the traditional RAM, where it stores snapshots of this data, and why it's a treasure trove for forensic investigations.

Group Policy Artifacts

GPOs are like the network's rulebook, setting who can do what, where, and how. In this article, we will see how to investigate compromises GPOs.

Cracking the Case of Windows Account Life-cycle Artifacts

In this post, we'll explore the artifacts tied to user account life-cycles, where to find them, and how they can expose unauthorized access, privilege changes, or sneaky cover-ups.

Pagefile - Analysing Volatile Memory

In this article, we will learn how to leverage pagefile from an incident response poin of view.

Hibernation Files - Analyzing Volatile Memory

Microsoft stores a compressed snapshot of your RAM in a file called hiberfil.sys. Let's dive into why this file matters for forensic investigations and how to analyze it.

Crash Dumps - Analyzing Volatile Memory

When a system crashes, Windows OS generates a crash dump, a valuable artifact for debugging and forensic investigations. These dumps capture system data at the time of failure and can reveal critical insights, including running processes, memory states, and system configurations.

Windows Network Forensics

This post will introduce network artifacts that are available on Windows and explain how to extract and interpret this data to understand the host's activity during a potential compromise.

Exploring AWS STS AssumeRoot

Abusing AssumeRoot is one of many living-off-the-cloud (LotC) techniques that adversaries have the capability to target. This article provides insight into AWS' AssumeRoot API operation, how it can be abused by adversaries, and some threat detection and hunting guidance.

Abusing AD-DACL: WriteOwner

In this post, we will explore the exploitation of Discretionary Access Control Lists (DACL) using the WriteOwner permission in Active Directory environments. The WriteOwner permission can be abused by an attacker to change the object owner to an attacker-controlled user and take over the object.

Threat Hunting with - Log Types and Use cases

Zeek logs contain valuable information about network activity, which can be analyzed to detect anomalies, threats, and trends. Here's a detailed guide to analyzing Zeek logs effectively.

Detecting AS-REP Roasting Attacks

This article detail logs and traffic data that can be used for AS-REP Roasting attacks detection, as well as correlation that can be leveraged to get comprehensive detection.

Killing Windows Kernel Mitigations

Within this post you will be getting an introduction to some of the latest exploit mitigations offered by Microsoft and how "easily" they can be bypassed. That said only SOME will be covered, more exist but we will only cover them when relevant within this series.

Restoring Reflective Code Loading on macOS

In this blog, we'll first revisit traditional methods for reflective code loading on macOS and examine specific examples of malware that have leveraged, these now-obsolete and ineffective approaches. Then, we'll detail a surprisingly simple approach that leverages Apple's own loader, ensuring that reflective code loading remains possible.

How an obscure PHP footgun led to RCE in Craft CMS

We show in this blog post that under a common (default) configuration of PHP we can achieve unauthenticated Remote Code Execution in Craft CMS.

Technical Analysis of RiseLoader

RiseLoader is a new malware loader family that implements a custom TCP-based binary network protocol that is similar to RisePro. In this blog, we explore RiseLoader's TCP-based binary protocol, and highlight the similarities between RiseLoader and RisePro.

WikiKit AiTM Phishing Kit: Where Links Tell Lies

We have recently identified a phishing kit, which we have named WikiKit because of its functionality to redirect to Wikipedia pages if the JavaScript is disabled or the phishing link is invalid.

Malware Series: Process Injection Mapped Sections

In this post, we are talking about using shared memory sections to inject and execute code in a remote process. This method of process injection uses Windows Section Objects to create a memory region that can be shared between processes.

Still Recent

Ezekiels Wheel (Hells Gate Analysis)

This writeup is an analysis of the Hells Gate malware. This malware strain contains a technique that performs syscalls on the Windows operating system in order to evade EDR detection.

Exploiting Freemarker SSTI for Remote Code Execution

In this post, I want to discuss a specific type of vulnerability I've encountered: Server-Side Template Injection (SSTI) in Freemarker that can lead to Remote Code Execution (RCE). This vulnerability is particularly concerning as it allows attackers to execute arbitrary code on the server.

Disclosure of 7 Android and Google Pixel Vulnerabilities

This article discloses 7 vulnerabilities, 2 of which pose a threat to Google Pixel devices, while the others pose a threat to all Android devices, regardless of vendor. These vulnerabilities range from access to sensitive data such as geolocation or arbitrary files, to full Bluetooth access and HTML injection.

Write, debug and execute BOFs using bof-launcher (part 1)

Our bof-launcher project allows you to write, build, debug and execute BOFs using Zig, C and/or assembly language on Windows (x86/x64) and Linux (x86/x64/ARM/AARCH64). In this first part, we wil learn how to build the project, how to add our own custom BOFs to the build system and how to run/debug BOFs.

What are C2 Frameworks? Types and Examples

In this article, we will cover how C2 frameworks operate, their role in modern attacks, and strategies to detect and mitigate these threats.

Oldies but Goodies

Tic TAC - Beware of your scan

I discovered a Remote Code Execution vulnerability inside well known Open Source tool actively mantained and lectured in seveal universities and labs using medical standard imaging RFC.

Windows Environment Variables for Ransomware Analysis

Environment variables provide valuable insights into user activities and are often manipulated by attackers to obfuscate their actions. By familiarizing yourself with common environment variables and how they are used, you can enhance your ability to detect, analyze, and respond to security incidents effectively.

Unearthed Arcana

Spoofing Call Stacks To Confuse EDRs

Call stacks are an understated yet often important source of telemetry for EDR products. In this article, we will see how it is possible to spoof a call stack so that when this collection takes place inline (say from within a kernel driver callback routine) a fake call stack is recorded.

Hunting for Apache rootkit using OSquery

In this short blog post, I would like to show you how easy it is to backdoor Apache HTTP server running on the Linux platform by using a malicious Apache module with rootkit functionality.