Security Review #235

December 06, 2024

Do not fall for the illusion that by preventing errors, you won't have errors to fix. The truth is, the cost of preventing errors is often far greater than the cost of fixing them.

— Ed Catmull

Starred Articles

Dissecting JA4H for improved Sliver C2 detections

This blogpost dissects three JA4H fingerprints observed the activity of a C2 cluster. It concludes that an even more general fingerprint can uncover the same activity with an acceptable false positive rate.

DeepSeek AI: From Prompt Injection To Account Takeover

This post demonstrates how it is possible for a prompt injection in the DeepSeek AI application to entirely take over a user's account if an application is vulnerable to XSS, which the LLM can exploit.

(QR) Coding My Way Out of Here: C2 in Browser Isolation Environments

In this blog post, we demonstrate a novel technique that can be used to circumvent all three current types of browser isolation (remote, on-premises, and local) for the purpose of controlling a malicious implant via C2. We show how attackers can use machine-readable QR codes to send commands from an attacker-controlled server to a victim device.

Bypassing WAFs with the phantom $Version cookie

In this post, I'll explore some dangerous, lesser-known features of modern cookie parsers and show how they can be abused to bypass web application firewalls.

New Articles

MSSQL Identified as Vulnerable to Emoji String Exploitation

Microsoft SQL Server has been found to treat a goblin emoji as equivalent to an empty string, potentially leading to security vulnerabilities in applications that utilize it, particularly in the context of brute-force password attacks.

Breaking out of VRChat using a Unity bug

VRChat is a fairly popular game letting users upload mostly whatever they want in a free environment exposing a massive attack surface for software vulnerabilities. I will leverage the VRChat's scripting language, Udon, to exploit an out-of-bounds heap read/write vulnerability in Unity's Texture class.

Windows Data Protection API Revisited

We analyze the recent changes in the way Chromium-based browsers encrypt cookies. It clearly shows that having code execution access as the victim on their Windows host is no longer possible to obtain the cleartext version of their browser cookies by simply using the DPAPI user master keys.

Cloud Digital Forensics and Incident Response - Part 3: Elastic Kubernetes Service Takeover Leads to Cryptominer Deployment

This forensic investigation looks at a number of artifacts including web server logs, container logs, CloudWatch Kubernetes logs, and CloudTrail logs across a variety of attacks - web application command injection, Instance Metadata Service (IMDS) access, JSON Web Token (JWT) abuse, and valid credential abuse.

Combating Anti-forensics: Timestomping

Although timestomping is a common anti-forensics method, if you know how to approach it then it becomes nothing more than a minor inconvenience. This article explains how to use NTFS journaling to identify altered timestamps.

C2 Hunting: How to Find C2 Servers with Shodan

Let me introduce you to C2 hunting. A powerful threat hunting technique that allows you to stay one step ahead of the bad guys with publicly available information and investigative rigor.

Detecting WiFi dumping via direct WinAPI calls and introduction to "Immutable Artifacts"

What I want to do is to attempt to find artifacts that are immutable. Meaning - no matter what specific technique the attacker is using to dump WiFi - the assumption is that there is an artifact(s) that must be generated every single time, regardless of the tooling/tradecraft in use.

Abusing AD-DACL: GenericWrite

In this post, we will explore the exploitation of Discretionary Access Control Lists (DACL) using the GenericWrite permission in Active Directory environments. This permission can be exploited by attackers to update attributes such as group memberships, account permissions, or even execute privilege escalation by modifying login scripts or service principals.

ksthunk.sys Integer Overflow (PE)

A vulnerability in the ksthunk.sys CKSAutomationThunk::ThunkEnableEventIrp allows a local attacker to exploit an Integer Overflow vulnerability which can then be used to gain elevated privileges in the Windows operating system.

Exploring Anti-Phishing Measures in Microsoft 365 - Part 2

We discovered that Microsoft modified the "First Contact Safety Tip" anti-phishing feature to better resist our attack. In this blog post, we discuss these changes, and whether it is still possible to carry out the same attack.

The New PKCE Authentication in AWS SSO Brings Hope (Mostly)

In this post, we'll take a closer look at the newly-released PKCE support for AWS SSO authentication flows and how it can help preventing "device code phishing" attacks.

Group Policy Security Nightmares - Part 2

In this second post we will explore an unusual Group Policy Object (GPO) configuration: a source HOSTS file on a remote share granted with "Users" full control.

Windows Sockets: From Registered I/O to SYSTEM Privileges

This post discusses CVE-2024-38193, a use-after-free vulnerability in the afd.sys Windows driver. Specifically, the vulnerability is in the Registered I/O extension for Windows sockets. We describe the exploitation process for the vulnerability.

BitLocker Security: Are Your Keys Truly Safe?

A common assumption is that since the BitLocker keys are stored in the Trusted Platform Module (TPM) the decryption process is secure. This is however only partly true as we will see in this article. We will look at the purpose of the TPM and how it works in relation to BitLocker.

Pentesting Salesforce Communities

I exploited some common and other lesser-known flaws in Salesforce applications (also called Salesforce Communities), which eventually led to an account takeover vulnerability. I will show some plugins and in-depth techniques to facilitate the enumeration of the target and the discovery of these flaws.

From File Upload To LFI: A Journey To Exploitation

In this article, I'll walk you through how I discovered and exploited a vulnerable file upload functionality in an environment of disabled PHP functions such as exec(), passthru() and systen() , pivoted to Local File Inclusion (LFI), and ultimately gained access to critical application data, including a database.

CloudGoat Official Walkthrough Series: 'sqs_flag_shop'

This blog post will walk through sqs_flag_shop CloudGoad scenario, where you will attempt to move through an AWS environment and perform privilege escalation against the Glue service in order to capture the flag.

CSPT the Eval Villain Way!

In this blog post, we will demonstrate how to find and exploit Client Side Path Traversal bugs with Eval Villain.

Discovering a Deserialization Vulnerability in LINQPad

I discovered a deserialization vulnerability in LINQPad, a .NET scratchpad application commonly used by developers. In this post, we will look at how this vulnerability was found.

How Open Directories Provide Insight into XWorm Delivery Strategies

In this blog post, we will analyze how threat actors misuse open directories to deliver XWorm, providing valuable insights into their targeting and operational behavior. We will also detail how XWorm is disguised as popular software, exposing the deceptive techniques used to trick potential victims.

Inside Akira Ransomware's Rust Experiment

We analyzed the construction and control flow of Akira ransomware's Rust version, which has specific features uniquely targeting ESXi server. Our analysis demonstrates how Rust idioms, boilerplate code, and compiler strategies come together to account for the complicated assembly.

Credit Card Skimmer Malware Targeting Magento Checkout Pages

We discovered a malicious JavaScript injection targeting Magento websites. This malware dynamically creates a fake credit card form or extracts payment fields directly depending on the variant of the malware, activating only on checkout pages. The stolen data is then encrypted and exfiltrated to a remote server.

Shiny Vulnerabilities in R's Most Popular Web Framework

This post shares two of my findings from a quick look at Shiny, the most popular web framework for use with the R programming language: a Denial of Service and a flow in the random number generator (RNG).

Where There's Smoke, There's Fire

This article will focus on the Mitel's MiCollab platform. We will discuss how to reproduce CVE-2024-35286, how we found an authentication bypass vulnerability (CVE-2024-41713), and a post-auth arbitrary file read.

Extracting Account Connectivity Credentials (ACCs) from Symantec Management Agent (aka Altiris)

Symantec Management Agent uses a "Account Connectivity Credential (ACC)". This account is used to facilitate network access to the Symantec Site Server in order to download package, policy and task configuration data. We provide details of all the steps required to recover the ACC using a low privileged domain user.

Still Recent

Bypass Apache Superset restrictions to perform SQL injections

The following article explains how during an audit we took a look at Apache Superset and found bypasses (by reading the PostgreSQL documentation) for the security measures implemented.

Salamander/MIME

In this article, we'll take a look at S/MIME and how we can use the concept of invisible salamanders to craft messages that tell each recipient a different story.

Warning Against Malware in SVG Format Distributed via Phishing Emails

We have recently identified multiple instances of malware being distributed in Scalable Vector Graphics (SVG) format. The SVG malware is being distributed as an attachment in phishing emails, and the email body includes instructions on how to execute the file.

Discovering 10 Vulnerabilities in the Mongoose Web Server Library

In this blog post, we will walk you through the key highlights of our research on the Mongoose Web Server Library: we'll explain how we uncovered these security flaws, discuss their impacts on IoT devices and explore what they mean for the broader security IoT ecosystem.

Oldies but Goodies

Prototype Pollution in NASAs Open MCT CVE-2023-45282

In this article, we first review the concept of prototype pollution in JavaScript then focus on CVE-2023-45282, a vulnerability in Open MCT front-end application.

Gem::SafeMarshal escape

I decided to learn how Gem::SafeMarshal works and take on the challenge of breaking it to execute arbitrary commands.

Modern iOS Pentesting: No Jailbreak Needed

In this article we will demonstrate hos to test an app's security without jailbreaking by using developer tools to gain debugging privileges and bypass FairPlay DRM.

Unearthed Arcana

ROP Chain Exploit x64 with example

In this article, I'm explaining the ROP chain method for a 64 bit architecture, as there aren't so many resources available to explain ROP Chain in 64 Bit Architecture easily.

Return TO LIBC attack with ASLR enabled binary.

ASLR stands for "Address space layout randomization" and is designed to prevent the buffer overflow attacks. This article explains how to overcome this mechanism by bruteforcing the base address of libc.

Phishing for AWS credentials via AWS SSO device code authentication

In this post, we demonstrate that AWS SSO is vulnerable by design to device code authentication phishing - just like any identity provider implementing OpenID Connect device code authentication. The feature provides a powerful phishing vector for attackers, rendering ineffective controls such as MFA (including Yubikeys) or IP allow-listing at the IdP level.