Archives for Quarkslab's blog
Bluetooth Low Energy GATT Fuzzing
Internship Offers for the 2024-2025 Season
Linux kernel instrumentation from Qemu and Gdb
Attacking the Samsung Galaxy A* Boot Chain
Bypass Apache Superset restrictions to perform SQL injections
Exploiting Microsoft Teams on macOS during a Purple Team engagement
Differential fuzzing for cryptography
crypto-condor: a test suite for cryptographic primitives
Exploiting Chamilo during a Red Team engagement
Audit of Airswift's Supply Chain Financing
MIFARE Classic: exposing the static encrypted nonce variant... and a few hardware backdoors
Heap exploitation, glibc internals and nifty tricks.
Audit of Cloud Native Buildpacks
Let’s Go into the rabbit hole (part 3) — the challenges of dynamically hooking Golang programs
Looking for vulnerabilities in Strapi (CVE-2024-34065)
Recovering an ECU firmware using disassembler and branches
Let’s Go into the rabbit hole (part 2) — the challenges of dynamically hooking Golang programs
How malware authors play with the LNK file format
Audit of Kuksa, the open-source shared building blocks for Software Defined Vehicles
Emulating RH850 architecture with Unicorn Engine
Hydradancer: Faster USB Emulation for Facedancer
Passbolt: a bold use of HaveIBeenPwned
Reversing Windows Container, episode II: Silo to Server Silo
Solving SandboxAQ's Post-Quantum Crypto CTF
Exploiting GLPI during a Red Team engagement
Leveraging Sourcetrail to a mapping tool, meet Numbat and Pyrrha
BGE Attack on AES White-Boxes: Extending Blue Galaxy Energy for Decryption and Shuffled States
PHP deserialization attacks and a new gadget chain in Laravel
PixieFail: Nine vulnerabilities in Tianocore's EDK II IPv6 network stack.
Blue Galaxy Energy: a new White-box Cryptanalysis Open Source Tool
Our Pwn2Own journey against time and randomness (part 2)
Workflow of a zkSync Era transaction: from generation to finalization
Internship Offers for the 2023-2024 Season
QBinDiff: A modular diffing toolkit
Let’s Go into the rabbit hole (part 1) — the challenges of dynamically hooking Golang programs
Reversing Windows Container, episode I: Silo
Debugging Windows Isolated User Mode (IUM) Processes
Diving into Starlink's User Terminal Firmware
Breaking Secure Boot on the Silicon Labs Gecko platform
Android Data Encryption in depth
For Science! - Using an Unimpressive Bug in EDK II to Do Some Fun Exploitation
Security audit of Mithril Security BlindAI
Introducing TritonDSE: A framework for dynamic symbolic execution in Python
Android greybox fuzzing with AFL++ Frida mode
A gentle introduction to Microsoft OMI and how to crash it
Our Pwn2Own journey against time and randomness (part 1)
Audit of Falco, the open-source cloud-native runtime security
Vulnerabilities in the TPM 2.0 reference implementation code
Dark Phoenix: a new White-box Cryptanalysis Open Source Tool
Post-Exploitation: Abusing the KeePass Plugin Cache
Digging into the OCI Image Specification
Internship Offers for the 2022-2023 Season
Quokka: A Fast and Accurate Binary Exporter
Defeating eBPF Uprobe Monitoring
Attacking Titan M with Only One Byte
Secure Messaging Apps and Group Protocols, Part 2
Binbloom blooms: introducing v2
Secure Messaging Apps and Group Protocols, Part 1
Commit Level Vulnerability Dataset
A Brief Overview of Auditing XCMv2
Heap Overflow in OpenBSD's slaacd via Router Advertisement
Kubernetes and HostPath, a Love-Hate Relationship
Smali the Parseltongue Language
Audit of the MimbleWimble Integration Inside Litecoin
Why is Exposing the Docker Socket a Really Bad Idea?
Status of post-quantum cryptography implementation
Digging into Linux namespaces - part 2
Digging into Linux namespaces - part 1
Mattermost End-to-End Encryption Plugin
Internship Offers for the 2021-2022 Season
kdigger: a Context Discovery Tool for Kubernetes
Introducing QBDL: how to run the NVIDIA NGX SDK under Linux
A virtual journey: From hardware virtualization to Hyper-V's Virtual Trust Levels
Guided tour inside WinDefender’s network inspection driver
RFID: Monotonic Counter Anti-Tearing Defeated
Audit of Session Secure Messaging Application
Remote Denial-of-Service on CycloneTCP : CVE-2021-26788
Analysis of a Windows IPv6 Fragmentation Vulnerability: CVE-2021-24086
Extending Emuroot: support for Android 10 & 11
Bad Neighbor on FreeBSD: IPv6 Router Advertisement Vulnerabilities in rtsold (CVE-2020-25577)
Technical Assessment of the herumi Libraries
RFID: New Proxmark3 Tear-Off Features and New Findings
How the MSVC Compiler Generates XFG Function Prototype Hashes
Internships at Quarkslab 2020-2021: the COVID season
Examining the August Smart Lock
Introduction to Whiteboxes and Collision-Based Attacks With QBDI
Why are Frida and QBDI a Great Blend on Android?
A Deep Dive Into Samsung's TrustZone (Part 3)
Triton v0.8 and ARMv7: A Guideline for Adding New Architectures
Playing Around With The Fuchsia Operating System
How a Security Anomaly was Accidentally Found in an EAL6+ JavaCard
Reverse Engineering a VxWorks OS Based Router
CVE-2020-0069: Autopsy of the Most Stable MediaTek Rootkit
PhD Defense of Jonathan Salwan: Use of Symbolic Execution for Binary Deobfuscation
Reverse Engineering a Philips TriMedia CPU based IP Camera - Part 3
A Deep Dive Into Samsung's TrustZone (Part 2)
A Deep Dive Into Samsung's TrustZone (Part 1)
A Glimpse Into Tencent's Legu Packer
EEPROM: When Tearing-Off Becomes a Security Issue
Analysis of Qualcomm Secure Boot Chains
Quarkslab Internship Offers for 2019-2020
Exploring Execution Trace Analysis
An Experimental Study of Different Binary Exporters
Epona and the Obfuscation Paradox: Transparent for Users, a Pain for Reversers
Weisfeiler-Lehman Graph Kernel for Binary Function Analysis
Obfuscating Java bytecode with LLVM and Epona
Security Audit of dalek libraries
Security Audit of Monero RandomX
CVE-2018-6924: FreeBSD ELF Header Parsing Kernel Memory Disclosure
Security Audit of Particl Bulletproof and MLSAG
LLDBagility: practical macOS kernel debugging
Android Native Library Analysis with QBDI
Android Application Diffing: Analysis of Modded Version
An overview of macOS kernel debugging
Android Application Diffing: CVE-2019-10875 Inspection
Android Application Diffing: Engine Overview
Reverse-engineering Broadcom wireless chipsets
Android Runtime Restrictions Bypass
Defeating NotPetya from your iLO
Reverse Engineering a Philips TriMedia CPU based IP camera - Part 2
Reverse Engineering a Philips TriMedia CPU based IP camera - Part 1
Internship offers at Quarkslab for the 2018-2019 season
Playing with the Windows Notification Facility (WNF)
Security Audit of Monero Bulletproofs
Unaligned accesses in C/C++: what, why and solutions to do it properly
Modern Jailbreaks' Post-Exploitation
Overview of Intel SGX - Part 2, SGX Externals
A Story About Three Bluetooth Vulnerabilities in Android
Symbolic Deobfuscation: From Virtualized Code Back to the Original (DIMVA 2018)
Easy::jit: Just-In-Time compilation for C++
Overview of Intel SGX - Part 1, SGX Internals
Quarks In The Shell - Episode IV
Introduction to Trusted Execution Environment: ARM's TrustZone
When SideChannelMarvels meet LIEF
Android Bluetooth Vulnerabilities in the March 2018 Security Bulletin
Frozen - zero cost initialization for immutable containers and various algorithms
Reverse Engineering the Win32k Type Isolation Mitigation
Spectre is not a Bug, it is a Feature
Have fun with LIEF and Executable Formats
Internship offers at Quarkslab for the 2017-2018 season
Reverse engineering of the Nitro OBD2
Vulnerabilities in High Assurance Boot of NXP i.MX microprocessors
Reverse Engineering Samsung S6 SBOOT - Part II
Frozen - An header-only, constexpr alternative to gperf for C++14 users
Security Assessment of OpenVPN
Exploiting MS16-145: MS Edge TypedArray.sort Use-After-Free (CVE-2016-7288)
LIEF - Library to Instrument Executable Formats
Make Confide great again? No, we cannot
Reverse Engineering Samsung S6 SBOOT - Part I
Analysis of MS16-104: .URL files Security Feature Bypass (CVE-2016-3353)
Global Dead Code Elimination for LLVM, revisited
Differential Fault Analysis on White-box AES Implementations
CVE-2016-7259: An empty file into the blue
Internship offers at Quarkslab for the 2016-2017 season
Security Assessment of VeraCrypt: fixes and evolutions from TrueCrypt
On the fly virtualization with Cappsule
Arybo: cleaning obfuscation by playing with mixed boolean and arithmetic operations
Xen exploitation part 3: XSA-182, Qubes escape
Xen exploitation part 2: XSA-148, from guest to host
A brief survey of Fully Homomorphic Encryption, computing on encrypted data
Xen exploitation part 1: XSA-105, from nobody to root
Reversing a Finite Field Multiplication Optimization
Implementing a Custom Directive Handler in Clang
Windows Filtering Platform: Persistent state under the hood
Offres de stages Quarkslab pour la saison 2015-2016
What theoretical tools are needed to simplify MBA expressions?
Kernel Vulnerabilities in the Samsung S4
A glimpse of ext4 filesystem-level encryption
Why 2FA would not have saved HT?
Security assessment of instant messaging app ChatSecure: when privacy matters
Turning Regular Code Into Atrocities With LLVM: The Return
HiTB Challenge: IRMA - Results
MongoDB vs. Elasticsearch: The Quest of the Holy Performances
Writing your own Analyzer for the Open-Source Multi-Scanner IRMA
Turning Regular Code Into Atrocities With LLVM
Deobfuscation: recovering an OLLVM-protected program
Stages et alternances 2014-2015
You like Python, security challenge and traveling? Win a free ticket to HITB KUL!
SCAF - Source Code Analysis Framework based on Clang - Pre-alpha preview
A glance at compiler internals: Keep my memset
USB Fuzzing Basics: From fuzzing to bug reporting
Building an obfuscated Python interpreter: we need more opcodes
Convert IPv4 string representation to a 32-bit number with SSE instructions
TCP backdoor 32764 or how we could patch the Internet (or part of it ;))
An Angular introduction, and things to keep in mind
Have you ever played with Domino?
Unique random number set computation
Evasi0n Jailbreak: Precisions on Stage 3
Bradley, hash-and-decrypt, Gauss ... a brief history of armored malware and malicious crypto