Security Review #218

July 26, 2024

If your data fits in memory there is no advantage to putting it in a database: it will only be slower and more frustrating.

— Hadley Wickham

Starred Articles

Anyone can Access Deleted and Private Repository Data on GitHub

You can access data from deleted forks, deleted repositories and even private repositories on GitHub. We are introducing a new term: Cross Fork Object Reference (CFOR). A CFOR vulnerability occurs when one repository fork can access sensitive data from another fork (including data from private and deleted forks).

Thread Name-Calling - using Thread Name for offense

In this write-up, we explain how the API for thread descriptions can be abused to perform process injection while bypassing endpoint protection products.

New Articles

Electron JS ASAR Integrity Bypass

In this article, I explain how simple is the integrity check logic of Electron JS ASR, and how it can be bypassed without using any reverse engineering.

Dock Tile Plugins Could Be Used to Escalate Privileges

In this article, I detail how a persistence feature in macOS I recently came across - and that is tied to Dock tile plugins - can be leveraged for privilege escalation.

Adaptive DLL Hijacking

DLL hijacking is a technique where an attacker exploits the way applications load Dynamic Link Libraries (DLLs) in Windows. In this article, we will review the main techniques that can be used to hijack a DLL.

One Shell To Rule Them All

In this article I propose a new tool oneshell to solve some of the problems with existing tooling.

Type confusion attacks in ProseMirror editors

We found a type confusion issue in ProseMirror's rendering process that leads to a stored Cross-Site Scripting (XSS) vulnerability in Outline (CVE-2024-40626). An authenticated user can create a document containing a malicious JavaScript payload. When other users view this document, the malicious Javascript can execute in the origin of Outline.

How to Analyze Malicious MSI Installer Files

This blog aims to provide detailed information on the structure and function of MSI files, offering a comprehensive step-by-step guide to analyze these files for potential threats. It highlights the traditional tools and techniques used in the analysis process, ensuring analysts and researchers can effectively identify and mitigate risks associated with malicious MSI installers.

Cracking Electron Integrity

Electron Apps on macOS offer double integrity protection in the form of ElectronAsarIntegrity, which we should be aware of when trying to patch something in the app. This article will explain how to patch such applications.

Punch Card Hacking - Exploring a Mainframe Attack Vector

In this article, we demonstrate an entry level technique for penetration testers to get started using a different twist on a familiar technology to attack mainframes.

Breaking Instruction Hierarchy in OpenAI's gpt-4o-mini

In this article, I demonstrate that system instructions continue to be suggestions, rather than a security boundary. Do not depend on system instructions alone to protect sensitive information, tool invocations or the "identity" of your LLM Applications.

CHARX Vulnerability Discovery

This post will detail some of our research on the Phoenix Contact CHARX SEC-3100 and the bugs we discovered.

Phish Out of Water

This article provides different techniques to prevent proxies, firewalls, and browsers from blocking sketchy files delivering payloads during phishing attempts.

Capturing Exposed AWS Keys During Dynamic Web Application Tests

We have recently identified several vulnerable HTTP requests that allow attackers to capture access keys and session tokens for a web application's AWS infrastructure. Attackers could use these keys and tokens to access back-end IOT endpoints and CloudWatch instances to execute commands.

Using Symbolic Execution to Devirtualise a Virtualised Binary

In this article, I will be discussing a sample binary which features virtual machine obfuscation, an obfuscation technique where the source code is compiled to a custom bytecode language and executed by an interpreter for this language.

Multi-sandwich attack with MongoDB Object ID

In this article, we're going to present a new time-based attack scenario for obtaining an impact without needing to know the temporality.

Cloud Digital Forensics and Incident Response - Part 1: EC2 Compromise Leads to S3 Bucket Exfiltration

This article details a simulated compromise of a set of Amazon Web Services (AWS) resources and a Windows system. We will walk through cloud forensic analysis of CloudTrail logs, analyze vertical (lateral) movement from the data plane to the control plane of AWS, and employ Windows forensics against malware and credential attacks.

Forensic Investigation Operations - Windows Base Part 1

In this series of articles, we will show you in a laboratory environment what kind of analysis you should perform against Windows machines that have been hacked or are somehow compromised in the system.

Forensic Investigation Operations - Windows Base Part 2

In this second part of the series on forensic analysis of a hacked windows machine, our aim is to reveal evidence of a structure that has infiltrated the system and to present methods.

Linux Shellcoding

In this article we are going to learn about Linux Shellcoding and go through with practical knowledges..

Injecting Java in-memory payloads for post-exploitation

This article will try to present a few tricks that we use to inject an in-memory Java payload, illustrated with concrete examples by targeting well-known applications.

A Beginner's Guide to Hunting Malicious Open Directories

This blog will cover the basics of an open directory, how you can discover them during hunting, and how to further your investigations into open directory infrastructure.

Permissive Avere Contributor Role Allows Virtual Machine Credential Dumping

We identified an opportunity for malicious privilege escalation within Microsoft Azure. A threat actor who obtains the Avere Contributor role in the Azure role-based access control (Azure RBAC) system could obtain access keys for any storage account within an Azure tenant and could make backups of disk images for any virtual machine (VM) within the tenant.

CVE-2019-8805: Apple EndpointSecurity framework Privilege Escalation

CVE-2019-8805 is a privilege escalation vulnerability found in macOS. The issue arises due to validation problems in the entitlement verification for connected clients. By exploiting this vulnerability, any application can execute arbitrary code with system privileges.

Introducing Gh0stGambit: A Dropper for Deploying Gh0st RAT

We provide a technical analysis of Gh0stGambit, an evasive dropper used to retrieve and execute encrypted payloads, in the context of a campaign aiming at deploying Gh0st RAT.

Hiding Linux Processes with Bind Mounts

If you have an evil process you want to hide, use a bind mount to mount a different directory on top of the /proc/PID directory for the evil process. In this article, I explain how it can be done by using an existing /proc/PID directory from some other process.

Multiple Vulnerabilities in the Deep Sea Electronics DSE855

This blog details multiple vulnerabilities found in Deep Sea Electronics DSE855, a communications device that allows monitoring of a single DSE controller with USB connectivity over a wired network connection.

Fuzzing JSON to find API security flaws

When it comes to API hacking, fuzzing JSON payloads can expose some interesting security vulnerabilities. In this article, I will demonstrate how to do this. From creating a custom wordlist to optimize the fuzzing to automating the detection of a mass assignment vulnerability within Burp Suite, it should be fun.

Still Recent

New Tactics from a Familiar Threat

call-blockflow, is a near duplicate of the legitimate call-bind package. It contains all the functional code and tests from call-bind but with a weaponized package.json file and five additional files: shim.js, polyfill.js, implementation.js, callTo.js, and mod.json. In this article we will discuss each of these in detail.

Bus Pirate 5: The Swiss ARRRmy Knife of Hardware Hacking

This article presents the Bus Pirate, an open-source hardware hacking platform designed for interfacing with various protocols and hardware interfaces, serving as the "Swiss Army Knife" of hardware hacking.

Oldies but Goodies

The Key to Identify PsExec

The focus of this blog is to bring attention to a relatively new method of identifying the source host from which PsExec was executed from.

Unveiling secrets of the ESP32 - Part 1: creating an open-source MAC Layer

This series is about reverse engineering the ESP32 Wi-Fi networking stack, with the goal of building our own open-source MAC layer. In tthis first part, we will build static and dynamic analysis tools for reverse engineering. We will also start reverse engineering the transmit path of sending packets.

Unveiling secrets of the ESP32 - Part 2: reverse engineering RX

In this secont part, we'll continue reverse engineering, starting with the 'receiving packets' functionality. The goal is to have both transmitting and receiving working. To prove that our setup is working, we'll try to connect to an access point and send some UDP packets to a computer also connected to the network.

How I Met Your Beacon - Part 3: Brute Ratel

In this first part of the series we will analyse Brute Ratel, a lesser known command and control framework.

Unearthed Arcana

How I Met Your Beacon - Part 1: Overview

In this first part of the series, we will view some of the most efficient techniques used to detect C2 beacons.

How I Met Your Beacon - Part 2: Cobalt Strike

In this blog post we will discuss strategies that can be used by defenders and threat hunters to detect Cobalt Strike across different configurations and across the network.

WAF Bypassing with Unicode Compatibility

Unicode Compatibility is a form of Unicode Equivalence which ensures that between characters or sequences of characters which may have distinct visual appearances or behaviors, the same abstract character is represented. In this article, we will see how it can be used to bypass WAF filters.