+ All Categories
Home > Documents > Scrutinizing WPA2 Password Generating Algorithms in...

Scrutinizing WPA2 Password Generating Algorithms in...

Date post: 17-Mar-2018
Category:
Upload: doanduong
View: 256 times
Download: 3 times
Share this document with a friend
78
Scrutinizing WPA2 Password Generating Algorithms in Wireless Routers Radboud University Nijmegen (The Netherlands) MSc Eduardo Novella MSc Carlo Meijer Dr. ing. Roel Verdult {[email protected], [email protected], [email protected]} The Kerckhoffs Institute & The Digital Security Radboud University Nijmegen Luxembourg, 20 October 2015
Transcript
Page 1: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Scrutinizing WPA2 Password GeneratingAlgorithms in Wireless Routers

Radboud University Nijmegen(The Netherlands)

MSc Eduardo Novella MSc Carlo MeijerDr. ing. Roel Verdult

{[email protected], [email protected], [email protected]}

The Kerckhoffs Institute & The Digital SecurityRadboud University Nijmegen

Luxembourg,20 October 2015

Page 2: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Outline

Who we are

Introduction

Methodology

Findings & Vulnerabilities

Conclusion

Q&A

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 2 / 78

Page 3: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Already presented at Usenix WOOT & BsidesLV

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 3 / 78

Page 4: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Scientific paper

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 4 / 78

Page 5: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

$whoami: Eduardo Novella: @enovella

• MSc at The Kerckhoffs Institute (Radboud University Nijmegen)

• Hardware RE WirelessHART nodes (WiFi SCADA) (Fox-IT)

• Security Analyst at Riscure (Riscure Delft)

• Focused on embedded security (mainly PayTV industry)

• Blog: http://www.ednolo.alumnos.upv.es

Delft (NL) & San Francisco (USA)

https://www.riscure.comNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 5 / 78

Page 6: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

$who: Carlo Meijer and Roel Verdult

Roel Verdult 1, 2

• RFID hacking

• libNFC developer

• Attacking wirelesscrypto-protocols:• Mifare• iClass• Hitag2• Megamos Crypto• Atmel CryptoMemory• ...

Carlo Meijer

• MSc student at theKerckhoffs Institute

• Future phD atRadboud

• New Mifare attack 2

1 http://www.cs.ru.nl/~rverdult/publications.html2 “Ciphertext-only Cryptanalysis on Hardened Mifare Classic Cards”

(ACM CCS’15, October 2015)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 6 / 78

Page 7: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

What this talk is about

Main ideas:

1 Basic hardware hacking

2 Propose a methodology to reverse-engineer routers

3 Find out WPA2 password generating algorithms used by ISPs

4 Responsible disclosure procedure with Dutch ISPs and NCSC a

ahttps://www.ncsc.nl/english

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 7 / 78

Page 8: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

WPA Authentication: 4-way handshake

Supplicant

Client

Authenticator

Access Point

Set up manually the passphrase (Pre Shared Key PSK) andgenerate Pairwise Master Key(PMK)1 256-bit

(1) ANonce , AA

PTKderived

(2) SNonce , SA, MICptk

PTKderived

and GTKif needed

(3) Install PTK, GTKptk, MICptk

PTK andGTK

Installed

(4) ACK, MICptk

KeyInstalled

msc WPA-PSK Personal : 4-Way Handshake. Mutual authentication Process

PMK = PBKDF2(hash-function, passphrase, salt, iterations, key length) WPA1-MD5 & WPA2-SHA1

PTK = PBKDF2(ANonce, SNonce, AA, SA, PMK)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 8 / 78

Page 9: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Wireless Authentication & Deauthentication

Figure : WPA2 4-way handshakeauthentication

Figure : WPA2 deauthentication

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 9 / 78

Page 10: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Firmware image structure

--------------------------------------------------

| 0x00000 Bootloader |

--------------------------------------------------

| 0x10000 Bootloader backup |

--------------------------------------------------

| 0x.. Kernel |

--------------------------------------------------

| 0x.. Code (OS) ro, packed, obfuscated |

| gzip, lzma, zlib |

------- -------

| 0x.. File system (sqsh,cramfs,jffs2) |

--------------------------------------------------

| 0x.. NVRAM (mac,sn,wpa,..) |

--------------------------------------------------

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 10 / 78

Page 11: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Binwalk: RE hexdumps with signatures

--------------------------------------------------

zlib : 78 01, 78 9C, 78 DA

gzip : 1F 8B LZMA : 5D 00 00 80

SQFS : 68 73 71 73 JFFS2: 85 19

YAFFS: 03 00 00 00 01 00 00 00 FF F

--------------------------------------------------

Tools

1 Disassembler IDA Pro → MIPS arch

2 Binwalk → Unpack FW

3 QEMU → MIPS emulator

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 11 / 78

Page 12: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Obtaining the firmware

All the information resides into the firmware image,

Steps:

1 Downloading from their website → FW images & updates

2 Exploiting vulnerabilities → RCE, CI, OVF, CSRF...• FTP & Telnet server• HTTP server• UPnP & DLNA• TR-069 ...

3 Discovering HW debug interfaces: UART and JTAG

4 Desoldering the flash chip

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 12 / 78

Page 13: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: Public download

Ups & downs

1 Seldom happen → Especially ISPs

2 Obfuscated → Bootloader included?

1 byte-nibble-block swapping2 XOR obfuscation → watchout 00 & FF chunks :)3 Challenging w/o bootloader

3 Encrypted (AES, DES) → Need the responsible for dec.

4 ISPs → TR-069 for auto-upgrading

1 Requirement → A valid IP range2 Find bugs in there → Might be illegal :(

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 13 / 78

Page 14: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

OS Command injection: Ping I

Low-hanging fruit

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 14 / 78

Page 15: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

OS Command injection: Ping II

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 15 / 78

Page 16: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

OS Command injection: Ping III

Using the USB to pwn the box

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 16 / 78

Page 17: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: Logical flaws

Ups & downs

1 Do not need HW background

2 Do not need to open it up → :-)

3 Do not need to have soldering skills

4 Not always feasible or time-consuming

Commands

1 cat /proc/mtd

2 dd if=/dev/mtdblock of=/mnt/usb/fw.bin bs=1

3 cat /dev/mtdblock | nc -l -p 1337

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 17 / 78

Page 18: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Opening the box: HW recognition

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 18 / 78

Page 19: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

UART’ing a device I (Serial port)

UART (universal asynchronous receiver/transmitter)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 19 / 78

Page 20: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

UART’ing a device II: Hooking it up

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 20 / 78

Page 21: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

UART’ing a device III: Debugging info

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 21 / 78

Page 22: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

UART’ing a device IV: Debugging info

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 22 / 78

Page 23: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: UART interface

Ups & downs

1 HW needed → i.e USB2ttl dongle, Bus Pirate

2 Discover the baudrate & pinout → Bruteforce

3 Soldering skills required

4 Getting into Bootloader by pressing a key prior 3 seconds

5 Provides plenty of useful info → SoC, Memory info, baseaddr

6 Not always opened → Password-protected

7 Bruteforcing the password or shorting pins → Doable

Commands

1 python baudrate.py -p /dev/ttyUSB0

2 minicom -s

3 screen /dev/ttyS0 115200

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 23 / 78

Page 24: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

JTAG’ing a MIPS SoC

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 24 / 78

Page 25: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: OpenOCD Commands I

$ openocd -f openocd.cfg

Open On-Chip Debugger 0.8.0 (2014-07-08-18:13)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.sourceforge.net/doc/doxygen/bugs.html

Warn : Adapter driver ’usb_blaster’ did not declare which transports it allows; assuming legacy JTAG-only

Info : only one transport option; autoselect ’jtag’

trst_only separate trst_push_pull

adapter_nsrst_delay: 100

jtag_ntrst_delay: 100

force hard breakpoints

Info : No lowlevel driver configured, will try them all

Info : usb blaster interface using libftdi

Info : This adapter doesn’t support configurable speed

Info : JTAG tap: vrx200.cpu0 tap/device found: 0x00001183 (mfg: 0x0c1, part: 0x0001, ver: 0x0)

Info : JTAG tap: vrx200.cpu1 tap/device found: 0x00000183 (mfg: 0x0c1, part: 0x0000, ver: 0x0)

Info : accepting ’telnet’ connection from 4444

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 25 / 78

Page 26: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: OpenOCD Commands II

$ telnet localhost 4444

Open On-Chip Debugger

> targets

TargetName Type Endian TapName State

-- ------------------ ---------- ------ ------------------ ------------

0* vrx200.cpu1 mips_m4k big vrx200.cpu1 running

> flash banks

#0 : vrx200.nor0 (cfi) at 0xb0000000, size 0x00800000, buswidth 2, chipwidth 2

#1 : vrx200.nor1 (cfi) at 0xb4000000, size 0x00800000, buswidth 2, chipwidth 2

> halt

target state: halted

target halted in MIPS32 mode due to debug-request, pc: 0x800056fc

> targets

TargetName Type Endian TapName State

-- ------------------ ---------- ------ ------------------ ------------

0* vrx200.cpu1 mips_m4k big vrx200.cpu1 halted

> dump_image norflash1.bin 0xb0000000 0x00800000

dumped 8388608 bytes in 19577.435547s (0.418 KiB/s)

> dump_image norflash2.bin 0xb4000000 0x00800000

dumped 8388608 bytes in 19009.316406s (0.431 KiB/s)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 26 / 78

Page 27: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: JTAG interface

Ups & downs

1 HW needed → i.e Altera BusBlaster, J-Link

2 Tedious to find out the pinout → enumJTAG, JTAGulator

3 OpenOCD, UrJTAG → No config done → Dig into HW specs

4 Obfuscated? → TRICK: Wait until loaded into RAM as clear

5 Not always available in SoC or Password-protected

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 27 / 78

Page 28: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Dumping the flash chip

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 28 / 78

Page 29: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Dumping the flash chip

Figure : Using clips Figure : Desoldering the memory

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 29 / 78

Page 30: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Recap: Desoldering

Ups & downs

1 HW needed → Rework station (e100),EEPROM reader( e500), Chinese readers (e80)

2 Quite expensive → TSOP48, TSOP56 sockets (e40 each)

3 Device might remain broken → Soldering back works!

4 BGA package is not used in routers

5 Always possible → obfuscated? encrypted?

Figure : NAND memory Figure : TSOP socketNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 30 / 78

Page 31: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: Findings

1 UART→ Tiny OpenWRT into RAM• Dump FW (Flash)• Enable telnet

2 Backdoors detected in all routers

3 OS command injection in Telnet service → Got root

4 Stack buffer overflow in HTTP server → ROP gadgets

5 WPA2 password generating algorithms

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 31 / 78

Page 32: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: Backdoors and super-admin

1 Firmware dumped viaserial console UART

2 Credentials arehardcoded• Cannot be changed by

customer• Cannot be changed by

ISP without fw update• Plaintext, not hashed

Figure : Hardcoded credentials in binary

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 32 / 78

Page 33: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: Command Injection in telnet service

Figure : Sanity checking code

1 Telnet command sanitization

• Checks for ’&’• Checks for ’;’• Does not check for ’|’→ still vulnerable

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 33 / 78

Page 34: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: How to obtain WPA keys?

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 34 / 78

Page 35: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: How to obtain WPA keys?

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 35 / 78

Page 36: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: How to obtain WPA keys?

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 36 / 78

Page 37: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: How to obtain WPA keys?

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 37 / 78

Page 38: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: How to obtain WPA keys?

MD5(constant seed,lowercase ethernet mac address,uppercase wifi mac address

)

1 Bruteforce: 224. Minutes using GPUs

2 802.11 headers hold mac addresses in plaintext• Capturing a single raw packet is sufficient• Allows instant computation of passphrase

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 38 / 78

Page 39: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Comtrend: Biggest ISP in Spain, 2010

$ sysinfo && sh

# for i in /*; do echo $i ; done

Figure : Same algorithm, differentsecret seed Figure : They forgot to remove the

plaintext!

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 39 / 78

Page 40: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 40 / 78

Page 41: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: Previous Findings

Italian researchers released the following problems:1

1 Sitecom WLM-3500 backdoor accounts

2 WLM-3500 and WLM-5500 → Wireless keys

3 Firmware obfuscation → XOR encryption

4 WLR-4000 and WLR-4004 → Wireless keys

5 Several web flaws

1http://blog.emaze.netNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 41 / 78

Page 42: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: Our findings

1 WLR-2100 and WLR-2500 → New algorithm

2 WLR-XXXX and WLM-XXXX → Confirm all affected

3 WL-XXX → New algorithm

4 Around 90% are affected → Only MAC is needed :(

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 42 / 78

Page 43: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WPA generation

Figure : Only mac is involved. Never using random functions

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 43 / 78

Page 44: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WPA generation

Figure : Old-New algorithm. Around 40 models are affected

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 44 / 78

Page 45: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WPA generation

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 45 / 78

Page 46: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WLR-2X00

We emulated an stripped MIPS binary:

$ chroot . ./qemu-mips-static bin/AutoWPA 000cf6ec73a0 wpamac

flash set WLAN-WPA-PSK NUWFBAYQJNXH

flash set USER-PASSWORD NUWFBAYQJNXH

flash set WEP128-KEY1-1 4e555746424159514a4e584800

MD5(MAC address) converting to charset (A-Z)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 46 / 78

Page 47: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WLR-2X00. Epic fail :)

Reverse-engineered the whole MD5 hash function :(

Figure :Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 47 / 78

Page 48: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WLR-2X00

Figure :

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 48 / 78

Page 49: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Sitecom: WPS generation

Figure : Old-New algorithm. Around 40 models are affected. Bit-wiseoperations

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 49 / 78

Page 50: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM. Remember SpeedTouch issue?

Figure : Generating ESSIDs from the SN

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 50 / 78

Page 51: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM. ESSID generation

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 51 / 78

Page 52: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM. Stickers!

$ echo -n "TWG870)&*gwt00951101703274" | md5sum - | cut -c 1-26

362eb4ed0f0a71d6f5d7a9a57e

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 52 / 78

Page 53: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM

Figure : Generating PSKs from the SN

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 53 / 78

Page 54: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in The Netherlands

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 54 / 78

Page 55: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in The Netherlands

Figure : We fully reverse-engineered the algorithm used in HollandNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 55 / 78

Page 56: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in The Netherlands

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 56 / 78

Page 57: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in more countries

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 57 / 78

Page 58: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in more countries

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 58 / 78

Page 59: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Unstripping crypto: Use findcrypt!

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 59 / 78

Page 60: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in more countries

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 60 / 78

Page 61: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in more countries

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 61 / 78

Page 62: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM in more countries

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 62 / 78

Page 63: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

THOMSOM strategy

Reverse engineering:

1 Create a C code → Load the FW (mmap) & jump

2 Cross-compile it → MIPS arch

3 Emulate it → QEMU

4 Attach the process into → IDA PRO

Hacking the WPA2 key:

1 for each Serial Number → Generate ESSID (public)

2 for each ESSID matching → Generate WPA2 candidates

3 Capture Handshake → Bruteforce offline possible WPA2 keys

4 BINGO!

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 63 / 78

Page 64: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Arcadyan: Obfuscation != Encryption

Figure : FW update obfuscated with 0xFF (www.seguridadwireless.net)Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 64 / 78

Page 65: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Arcadyan. WPA key generation (mac & serial)

We broke this just bruteforcing (105keys)similar Arcadyan algorithms 2, 3.

Require: s6, s7, s8, s9, s10,m9,m10,m11,m12 ∈ [0, ..,F ]k1← (s7 + s8 + m11 + m12) & (0xF )k2← (m9 + m10 + s9 + s10) & (0xF )x1← k1⊕ s10x2← k1⊕ s9x3← k1⊕ s8y1← k2⊕m10y2← k2⊕m11y3← k2⊕m12z1← m11⊕ s10z2← m12⊕ s9z3← k1⊕ k2w1← s6w2← k1⊕ z3w3← k2⊕ z3return [x1, y1, z1,w1, x2, y2, z2,w2, x3, y3, z3,w3]

2https://www.seguridadwireless.net3https://sviehb.wordpress.com

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 65 / 78

Page 66: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Arcadyan: Linksys Desobfuscation routine

Figure : Craig Heffner (@devttyUSB0)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 66 / 78

Page 67: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Arcadyan: Vodafone Desobfuscation routine

Figure : Stefan Viehbock (Easy-Box Germany)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 67 / 78

Page 68: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Arcadyan: Where’s the WPA algo?

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 68 / 78

Page 69: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Timeline

Responsible disclosure

1 2014-12-20 Preliminary informing NCSC a

2 2015-02-11 Official NCSC notification by Radboud Uni.

3 2015-03-01 Dutch ISPs are aware about the vulnerabilities

4 2015-04-02 1st meeting with ISPs. Presentation

5 2015-04-29 2nd meeting with ISPs. Presentation

6 2015-08-04 Talk at Bsides Las Vegas-PasswordsCON

7 2015-08-11 Paper disclosure at USENIX WOOT’15

8 2015-10-20 More disclosure at Hack.lu 2015 conference

ahttps://www.ncsc.nl/english

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 69 / 78

Page 70: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

ADB / Pirelli

Figure : Call flow from generateKey

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 70 / 78

Page 71: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

ADB / Pirelli

Figure : Call flow for createWPAPassphraseFromKey

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 71 / 78

Page 72: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

ADB / Pirelli

Figure : Dissasembly of wlWriteMdmDefaultNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 72 / 78

Page 73: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

ADB / Pirelli

Figure : Dissasembly of generateKey-from-mac

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 73 / 78

Page 74: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

ADB / Pirelli

Figure : Secret data found out in the library

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 74 / 78

Page 75: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

TRENDnet

Figure : Serial number & Model number (visible in ESSID)

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 75 / 78

Page 76: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Belkin (new models)

Figure : Hardcoded value into flash and/or random keyNovella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 76 / 78

Page 77: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Conclusion

• Since SpeedTouch security issue in 2008,security has not improved whatsoever

• This is an industry-wide problem.

• Security by Obscurity does not work!

• Security - Obscurity = NO security

• Vendors reuse the same algorithms with slightly small changes

• Neither stripped nor obfuscated binaries are a solution

• Please do not include algorithms inside of FW images

• SNs are already hardcoded → why not WPA2 keys too?

• if (random) → check soundness of seeding RNG

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 77 / 78

Page 78: Scrutinizing WPA2 Password Generating Algorithms in ...archive.hack.lu/2015/hacklu15_enovella_reversing_routers.pdf · Scrutinizing WPA2 Password Generating Algorithms in Wireless

Who we are Introduction Methodology Findings & Vulnerabilities Conclusion Q&A

Questions and answers

Novella, Meijer, Verdult HackLu 2015 Scrutinizing WPA2 Algorithms in Wireless Routers 78 / 78


Recommended