Security Review #210

May 31, 2024

If you accept that we are living in a simulation, then you must also accept that the simulation is likely written in Javascript

— Jared Palmer

Starred Articles

Enumerating MS-RPC interfaces and domain users without authentication

This is devoted to the research methodology against MS-RPC interfaces, developed after observing some interesting behavior from one of the Windows interfaces. Also included is a discussion of how we can link this behavior to null sessions, and revive their legacy by enumerating information from the domain controller, specifically domain users without triggering any alerts.

Beyond the Basics: Exploring Uncommon NTLM Relay Attack Techniques

Despite the success and widespread usage of the technique, there are some lesser-known NTLM relay attacks that are potentially being overlooked by many offensive security professionals. This post aims to highlight some of those lesser-known attacks and add them to your arsenal.

Check Point - Wrong Check Point (CVE-2024-24919)

CVE-2024-24919 is a 'high' priority bug, which falls under the category of Exposure of Sensitive Information to an Unauthorized Actor. In this post we will search for the root cause of the bug via patch-diffing and find a way to exploit it.

How RAG Poisoning Made Llama3 Racist!

In this blog, we reveal how a few simple triggers can lead to the full exploitation of RAG Applications. We discovered a method to poison RAG pipelines, making the entire RAG app useless with proprietary poisoning payloads. We demonstrate a successful poisoning attack on RAG with a high Attack Success Rate (ASR) through small triggers inserted into the knowledge base documents.

Keylogging in the Windows Kernel with undocumented data structures

In this post, I detail a keylogging technique that revolves around gafAsyncKeyState, an undocumented kernel structure in win32kbase.sys used by NtUserGetAsyncKeyState. By first locating and then parsing this structure, we can read keystrokes the way that NtUserGetAsyncKeyState does, without calling any APIs at all.

New Articles

Getting XXE in Web Browsers using ChatGPT

I wondered what a malicious page with disabled JavaScript could do. Focusing on SVG, which is based on XML, and allow file access. In this post I show the tests I run to check if the Same Origin Policy (SOP) is correctly implemented for all possible XML and SVG syntaxes and if access through the file:// protocol properly handled.

Analysis of CVE-2023-39143

CVE-2023-39143 is a path traversal vulnerability found in Papercut MF/NG, a print management solution. This in-depth analysis will examine different exploitation scenarios associated with this CVE. Exploiting this vulnerability grants unauthorized access to read, download, and delete arbitrary files, thereby potentially enabling remote code execution (RCE) on the affected system

Hi Meta, WhatsApp with Integrity?

Meta's WhatsApp suffers from an integrity issue that allows attackers to create an inconsistent world view on victims' multi-device setup. Simply put, users expect their chats' history to be the same across all devices. However, we show that a rogue client can send different messages to the same user's different devices and it has some obvious (and some less obvious) security implications.

LangChain JS Arbitrary File Read Vulnerability

I discovered an Arbitrary File Read (AFR) vulnerability in LangChain JS library. This vulnerability allows an attacker to read files on the server that they should not be accessing. When combined with Server Side Request Forgery (SSRF), an attacker can exploit SSRF to read arbitrary files on the server and expose sensitive information.

YARA-X as file inspection tool

YARA-X has modules that can parse certain file formats and produce a data structure containing information extracted from the parsed files. In this blog, we will see how this information can be leveraged to create more precise and powerful rules tailored to each file format's unique characteristics.

A 9-year-old bug in MikroTik RouterOS

We found a 9-year-old WAN bug on RouterOS. The vulnerability occurs in the radvd of RouterOS. As a result, an attacker can trigger a buffer overflow by sending two crafted Router Advertisement packets, that allows an attacker to gain full control over the underlying Linux system of the router. This vulnerability was assigned as CVE-2023-32154

DYLD - Do You Like Death? Part XI

This is the eleventh and the last article in the series about debugging Dyld-1122 and analyzing its source code. We will learn how Dyld load dependent dylibs, bind them all together, return the address of the main(), calls it and finally terminates.

Email Forensics

Email forensics involves the examination, extraction, and analysis of email data to gather digital evidence crucial for resolving crimes and specific incidents, ensuring the integrity of the investigation process. In this article, we will review the key elements of email investigation.

Windows 11 UAC Bypass in Modern Malware

In this article, we've prepared a brief overview of UAC bypass methods in Windows 11 that are used in modern malware and provided examples of their implementation in active threats.

From trust to trickery: Brand impersonation over the email attack vector

Brand impersonation could happen on many online platforms, including social media, websites, emails and mobile applications. In this article, we review the techniques used by threat actors to deceive their victims into giving up their credentials or other sensitive information by abusing the popularity of well-known brands.

Unmasking Adversary Cloud Defense Evasion Strategies: Modify Cloud Compute Infrastructure Part 2

The 'Create Snapshot', 'Create Cloud Instance', 'Delete Cloud Instance', 'Revert Cloud Instance' and 'Modify Cloud Compute Configurations' features are widely available across major cloud platforms. They can also be leveraged in many ways by threat actors. In this article, we will details techniques to detect such abuse.

Beware of HTML Masquerading as PDF Viewer Login Pages

A phishing method that has gained prominence involves phishing emails that masquerade as PDF viewer login pages. In this blog post, we will explore the intricacies of these phishing scams, how they operate, and the steps you can take to protect yourself from falling victim to them.

Server Side Credit Card Skimmer Lodged in Obscure Plugin

In this post, we'll explore how attackers are using a very obscure PHP snippet WordPress plugin to install server-side malware to harvest credit card details from a WooCommerce online store.

Exploiting V8 at openECSC

This blog post detail the steps of exploiting a Chrome V8 memory corruption: finding the corruption, breaking bounds, getting primitives, executing code and collecting garbage.

Iconv, set the charset to RCE - Part 1: Exploiting the glibc to hack the PHP engine

I stumbled upon a 24 years old buffer overflow in the glibc, proven useful in exploiting PHP engine in two different ways. In this first part of the series, I'll describe how I encountered the bug, why suitable targets are rare, and finally dive into the PHP engine to demonstrate a new exploitation vector: converting file read primitives into remote code execution in PHP applications.

Non-Production Endpoints as an Attack Surface in AWS

We identified two new archetypes for bypassing AWS CloudTrail through certain non-production endpoints with API actions that access account-level information and through API calls which generate multiple events in CloudTrail.

Multiple vulnerabilities in Eclipse ThreadX

Eclipse ThreadX is an advanced embedded development suite including a small but powerful operating system that provides reliable, ultra-fast performance for resource-constrained devices. I identified multiple security vulnerabilities that may cause memory corruption. Their impacts range from denial of service to potential arbitrary code execution.

Exploiting CVE-2024-32002: RCE via git clone

In this post, I'll walk you through my journey of reversing the Git RCE (CVE-2024-32002), from initial discovery to crafting a working exploit.

Recover ADCS from Compromise

This article highlights the necessity of setting up and upholding a robust "back-and-restore" strategy as a primary defence mechanism against cyber threats. It becomes much more likely that recovery for ADCS will not be successful, and a complete rebuild will be required.

Post-Exploiting an F5 Big-IP: root, and now what?

While CVE-2022-1388 is known to be used by various threat actors, post exploitation scenarios were not well documented. This article illustrates an MITM attack setup on the F5 appliance eventually leading to a full compromise the whole Windows domain - without performing a single AD attack.

CVE-2024-22058 Ivanti Landesk LPE

In this post we describe a vulnerability we discovered in the Ivanti LanDesk software and how it can be exploited to achieve local privilege escalation via arbitrary code execution.

mXSS: The Vulnerability Hiding in Your Code

mXSS (mutation cross-site scripting) is a security vulnerability that arises from the way HTML is handled. This blog dives into mXSS, providing examples, splitting this big "mXSS" name into subsections, and covering developer mitigation strategies.

SWAPPALA: Why Change When You Can Hide?

I have decided to focus on in-memory obfuscation techniques since my Reflective DLL was target of in-memory scanning tools. The idea is to use a Sacrificial DLL to load my Reflective DLL, stomp it and then restore the original content while sleeping.

Sophisticated RAT Targeting Gulp Projects on npm

We analyze glup-debugger-logger, a malicious NPM package published with two obfuscated files that worked together. One worked as a kind of initial dropper and the other script providing the attacker with a persistent remote access mechanism to control the compromised machine.

How to Achieve Eternal Persistence in an Active Directory environment - Part 2

If the password of the krbtgt account is reset, we could end up in a scenario where the credentials that we have obtained no longer work to decrypt network data. To achieve our ultimate goal of eternal persistence, we need to take a look at how password changes are replicated. In this blog post we cover one aspect of AD's password replication process.

Evading Token Protection For EntraID/M365 (2024 Edition)

Like many Microsoft customers protecting users from external token theft and AiTM (adversary in the middle) ranks as one of the most top security concerns when it comes to an attacker gaining unauthorized access to cloud data. So I thought it was necessary to do an updated post on Token Protection in Conditional access.

Still Recent

Detection Engineering

This blog post explores the discipline of Detection Engineering, a way to maximize detection efficacy given the limitations of existing detection systems.

JavaScript Malware Switches to Server-Side Redirects & DNS TXT Records as TDS

In this post, we'll examine some recent changes in techniques and functionality of a JavaScript-based malware, including new obfuscation techniques and switch from client side to server side redirects. We will also reveal common indicators of compromise and malicious domains to watch out for, and outline how to mitigate risk and protect your website and server from infection.

Oldies but Goodies