RSSAmplifier

Blog

Mathy Vanhoef

Professor at KU Leuven (Belgium) | Ex-PostDoc at NYU | Open to consultancy

mathyvanhoef.comRSS feed ↗25 posts

Latest posts

The SSID Confusion Attack: Common Misconceptions

We've spotted some confusion about the SSID confusion attack . First, it's by no means something to panic about , but it's nice research to make one think about threat models. To address some common misconceptions: The adversary doesn't need to know the pre-shared secret. The SSID Confusion attack can cause a victim to connect to a different SSID, as long as that SSID uses the same credentials as…

Making the Cloudflare WARP VPN leak DNS requests

Cloudflare offers a free VPN client called Cloudflare WARP . I found that its Windows client can be tricked into leaking all DNS requests . The adversary can then spoof DNS responses and intercept nearly all traffic. To exploit the vulnerability, the adversary needs to create a rogue Wi-Fi or Ethernet network that supports IPv6 . When the local network supports IPv6, all DNS requests are leaked.…

FragAttacks: Clarifying Some Aspects

If you haven't yet read about this research then watch my USENIX Security presentation: In this blog post I'll discuss some aspects in more detail than I could in the paper . Addressing general misconceptions None of the flaws are in the cryptographic primitives used by Wi-Fi. In other words, we're not attacking RC4 or SHA1. The design flaws are instead at the intersection of crypto and protocol…

Providing source code when submitting papers: how to give anonymous but protected access

Update 30 November '21 : if you simply want to anonymize your GitHub repository and are OK with it being public, then consider using https://anonymous.4open.science/ When submitting an academic paper for review, it is often a good idea to provide access to the research code as well. Even if reviewers only rudimentary scroll through the code, it shows you are committed to releasing the code once…

Protecting Wi-Fi Beacons from Outsider Forgeries

We recently presented the paper Protecting Wi-Fi Beacons from Outsider Forgeries at the WiSec 2020 conference . You can view the recorded presentation on YouTube: After the presentation we received a lot of interesting question, and it's useful to discuss these in more detail. So let's dig into some of the details of our work! How does beacon protection handle hidden networks? A hidden network…

Riving a router stuck in an infinite reboot loop

When doing wireless security research, you need enough devices to test and confirm your findings. Results have to be practical, after all. Due to COVID-19, this became more tedious: access to the lab is being limited, making it harder to test many devices. Because I wanted some extra devices to hack play around with, I realized that I still had a router from my ISP. The problem is that I bricked…

Accessing and Inspecting Draft IEEE Standards

This is going to be a quick blog post on how you can access IEEE standards. I'll also show how you can follow ongoing discussions, at least to some extend. Why Inspect Drafts Security protocols tend to fail when they are developed behind closed doors. They also fail when it's too hard to join discussions. We saw this with WPA3: its Dragonfly handshake was standardized in the IEEE 802.11 standard…

WPA3: A Missed Opportunity

Almost half a year ago, the Wi-Fi Alliance made a press release announcing they were working on WPA3. In a previous blog post , I discussed the four main features that were mentioned in this press release. Today, the WPA3 certification program is finally released publicly. Unfortunately, only one of the four initially announced features are a mandatory part of WPA3. The WPA3 Certification Program…

unKRACK: Mitigating Future WPA2 Vulnerabilities

In the past few months, I've been working on new results regarding the KRACK attack against WPA2. This includes improved (and more practical) exploitation techniques, and a method to mitigate future attacks against WPA2 . I hope to present both topics in more detail at either my HITB Singapore talk if accepted ( so please for vote it ), or in a more detailed future blog post. In the meantime this…

WPA3: Technical Details and Discussion

Update 26 June 2018 : The Wi-Fi Alliance released the specification of WPA3. For an up-to-date discussion of WPA3, see my new blog post . Summarized, only section "A More Secure Handshake" is a mandatory part of WPA3 . Section "Increased Session Key Sizes" is optional, and only required when using WPA3-Enterprise. The other features discussed in this post are not part of WPA3. Update 20 May 2018:…

Windows 10 Lock Screen: Abusing the Network UI for Backdoors (and how to disable it)

This is a short blog post about a peculiar decision that Microsoft made. When you lock your computer on Windows 10, you are still able to connect to wireless networks. It's even possible to connect to new networks. You simply click on the network icon in the bottom right, and then add the wireless network: So what's the deal with this? Well, it means that anyone can make your device connect to a…

How MAC Address Randomization Works on Windows 10

When Apple announced its devices would use random MAC addresses when searching for Wi-Fi networks, it received extensive media attention. And rightly so. It prevents companies from tracking your movements , and Apple was the first major player to start doing this. Windows and Android are quietly trying to catch up. As a result, some devices running Windows now support MAC address randomization,…

Advanced WiFi Attacks Using Commodity Hardware

The WiFi protocol assumes all clients behaves fairly. This means a station will give others a chance to transmit packets, before it starts transmitting itself. It's known that with a software defined radio such as a USRP, a user can implement the WiFi protocol themselves and not follow these rules. A desktop computer, antenna, two USRPs on top of each other, and a signal analyzer. An attacker can…

Solving CSAW challenge Wyvern (rev-500) using afl-fuzz

We're given a Linux binary which asks for input: +-----------------------+ | Welcome Hero | +-----------------------+ [!] Quest: there is a dragon prowling the domain. brute strength and magic is our only hope. Test your skill. Enter the dragon's secret: xxxx_find_secret [-] You have failed. The dragon's power, speed and intelligence was greater. Opening the binary in IDA shows that the main()…

Codegate 2015 Good_Crypto: Advanced WEP Cracking

In the Codegate CTF there was challenge based on a wireless network capture . Since I do research on wireless security, I had to solve this one! The challenge was: We recently intercepted some kind of encrypted traffic , can you help us recover the password? Update: Due to a crappy javascript programmer there's one line of code missing, but I'm sure you can figure out which one Step 1: Decrypting…

CSAW 2014: xorcise challenge

Last weekend our CTF team participated in CSAW. One of the challenges was particularly interesting, and this blog post gives a (somewhat) detailed overview on how to solve it. The source code and binary executable were given. This write-up is also available on the awesome write-ups repository . Length checking vulnerabilities: Part One By inspecting the source code we see the binary is a service…

ApBleed: Heartbleed over WPA1/2 Enterprise

Tl;dr: ApBleed is my proof-of-concept to test heartbleed against wireless networks. Patches welcome. Once the heartbleed vulnerability in OpenSSL was made public, most focused on its applicability to web servers. Other targets such as SVN servers, VPNs, etc. were also mentioned. However, there was little public discussion about the impact of heartbleed on wireless networks. Nevertheless, it was…

Reversing and Exploiting ARM Binaries: rwthCTF Trafman

As ARM is becoming more and more popular, the need to reverse engineer ARM binaries is increasing as well. For example, nearly all mobile phones have at least one ARM processor. In this post I show how to set up a virtual ARM environment using Qemu, give an introduction to ARM assembly (while highlighting the differences with x86), show how to reverse ARM binaries, and finally demonstrate how to…

Unmasking a Spoofed MAC Address (CVE-2013-4579)

Update : This vulnerability has been fixed in kernel 3.8.13.16 and above. Certain Atheros wireless drivers do not properly update the MAC address when changed (spoofed) by a user. This allows an active attacker to retrieve the original MAC address. In short, spoofing your MAC address does not always hide the original MAC address. Background While working on the ath9k_htc driver ( used by Atheros…

Transparent Interception of Android HTTPS Traffic

Smoothly intercepting HTTPS traffic of the Android emulator can be a pain in the ass. In particular when you're using a proxy such as Burp, you might not even know that some connections are not being intercepted . During a pentest this is something you absolutely want to avoid. That's why I created a small script to see all the connections the emulator is trying to make (including those that are…

UCSB iCTF: Hacking Nuclear Plants and Pwning ASLR/NX

The following story took place on a Friday evening, with the sun long gone from the horizon, in a dimly lit room where a few hackers teamed up to do what they do best: fuck shit up. A former security researcher at KU Leuven took his fifth coffee this hour. Or was it the sixth? He didn't care. Today there was only one thing on his mind: breaking into the nuclear power plants of those Cyberdyne sons…

Understanding the Heap & Exploiting Heap Overflows

This post will begin with a high level description of the heap and slowly builds up untill you able to write your own heap-based exploits. We assume we have non-root access to a computer but are able to run the following program as root (meaning it's a suid binary ): There's a blatant buffer overflow in line 10 which we will be exploiting. First we need to know how the heap is managed (we focus on…

Common Pitfalls When Writing Exploits

When you're exploiting software (legally hopefully ;) there are some common problems you might encounter. In this post I'm going to focus on three specific problems. I'll assume you're already familiar with basic buffer overflows and have tried to write one before. Oh and even if you were successful in writing the exploit, maybe you encountered some annoyances that are addressed in this posts.…

Compat-Wireless Injection Patch for Aircrack-ng

Update: Compat-Drivers Patch 28 may 2013 : My previous patch for compat-drivers was incomplete. The new patch for compat-drivers works for both the 3.8 and 3.9 versions . It will make monitor mode, injecting, changes channels, and fragmentation working properly. Before continuing make sure you have the linux header installed. If not, execute: apt-get install linux-headers-$(uname -r) Once the…

Secrets of Reverse Engineering: Flaws in Cryptex

The book Reversing: Secrets of Reverse Engineering has an interesting exercise. In the chapter on Deciphering File Formats the author created a command-line file encryption tool. It's called Cryptex and allows you to encrypt one or more files. Although it's a relatively simple tool it was claimed that: "If you use long and unpredictable passwords such as j8&1`#:#mAkQ)d* and keep those passwords…