802.
1x NAC & BYPASS
TECHNIQUES
Hack in Paris 2017
Valérian LEGRAND
ABOUT
o Valérian LEGRAND, Security consultant and Penetration Tester at Orange
CyberDefense
o Breaking things is my job
o Why this research ?
o 802.1x often disabled for penetration tests
o Provides a good excuse for bad devs & admins
o “Great you found X critical vulnerabilities… but we disabled 802.1x for the
penetration test so it’s not that bad !”
o Needed for specific Red Team engagements
o Also, huge thanks for the help to :
o Andrei Dumitrescu (twitter : @_dracu_)
o Quentin Biguenet
o Florent “KASH” Lalegerie
o But also : Fabien, Nicolas, Pierre, Simon, Slim, etc…
2
WHAT WE GONNA TALK
ABOUT
Wired 802.1X
How the hell does it work ?
A Brief Overview
of 802.1X
Bypasses
FENRIR
Goddammit,
We Want Shells !
3
WIRED 802.1X
o IEEE standard originally created in 2001
o Physical port-based network access control
o The new device has to authenticate in order to access the network beyond the switch
o 3 roles involved
o SUPPLICANT : The new device
o AUTHENTICATOR : The switch (or Wireless AP)
o AUTHENTICATION SERVER : The server responsible for checking credentials
(Usually a RADIUS server)
4
THE HAPPY EAP FAMILY
o EAP = Extensible Authentication Protocol
o Defines authentication message formats
o LOTS of different formats
o EAP-MD5, EAP-TLS, EAP-TTLS, EAP-PSK, etc…
o Some are very weak (Seriously, don’t use LEAP)
o EAP is NOT a wire protocol
o EAP messages are encapsulated by other protocols
o EAPoL = EAP over LAN
o PEAP = Protected EAP (mainly used on Windows systems)
o …
5
PORT-BASED ACCESS CONTROL
o The Authenticator defines 2 logical states per physical port
o Uncontrolled State
o Controlled State
o The uncontrolled state allows 802.1x frames only
o The Authenticator forwards the frames to the Authentication Server
o The controlled state acts like a “normal” port
o The network is fully accessible
o From this point, any packet can go wherever it needs to on the network without
authentication !
6
GIMME ACCESS, YOU SWITCH !
Standard base
authentication scheme
7
A BRIEF OVERVIEW OF
802.1X BYPASSES
8
BYPASS BY DESIGN
Just a quick note about what is NOT
802.1x protection
o 802.1x only acts as a gatekeeper
o If a device is compromised when already connected to the LAN, 802.1x protection
is useless
o Social engineers don’t care about 802.1x (think malicious attachments for
example)
o 802.1x is not a solution to protect a LAN against BYOD hazards
o The compromised device will authenticate against 802.1x as usual
o It is also possible to retrieve credentials/certificates
on legitimate devices
o Mimikatz (Benjamin Delpy)
o Note : bruteforce is not possible
o Temporization rules on authentication server
9
SOME DEVICES JUST WANT TO
SEE THE NETWORK BURN
BYPASS - The easy way :
o Some devices do not support 802.1x
o You wish they do, but they don’t…
o Usually : old devices, low-grade equipment (printers), or very specific systems
(security cameras)
o These devices can be unplugged and their Ethernet port hijacked in order to access the
network without the need to authenticate
o Solution : MAC Authentication Bypass (MAB)
o (Seriously, who puts “bypass” in the name of a security feature ???)
o MAB uses the device’s MAC address to validate its identity
o The authenticator first tries to authenticate the new device by sending EAP Request-
Identity messages
o After 3 unsuccessful attempts, the authenticator falls back to MAB and sends the
device’s MAC address to the authentication server
10
THE REAL BYPASS :
TRAFFIC INJECTION
BYPASS - The hard way :
o 802.1x provides Network Access Control
o It provides authentication over who can access the network
o It does NOT provide traffic encryption (many people believe it does)
o It does NOT provide per-packet authentication
January August
2001 2005 2005 2011 2011
Standard Steve Riley Abb (Gremwell blog) Alva ‘Skip’ Duckwall
creation HUB attack Marvin tool ebtables, iptables,
bridge
Extension of 802,1x-2001 to
« allow concurrent sessions »
o Traffic Injection : spoof a legitimate and authenticated supplicant’s MAC and IP address to
fake legitimate packets
o Still works today in a vast majority of cases !
o Especially works in traditional Windows environments
11
FENRIR
12
FENRIR & TRAFFIC
INJECTION
o Traffic Injection is the most reliable technique to physically attack a 802.1x network
o This led to the development of FENRIR
o Traffic tapping and injection
o Stealth
o Auto-configuration
o Collision issue avoidance
o Modularity & extensibility
o Full control over the traffic
o Reverse connection capabilities
o Not developed in Java !
o The goal was to obtain a tool “out-of-the-box” that could be useful during a penetration
test (including Red Team)
o Requirements :
o A laptop with 2 physical interfaces (external netcards work great !)
o Python & Scapy
13
HOW IT WORKS
o We need that :
o Frames at “A” : appear to be coming from the legitimate host
o Frames at “B” : appear to be coming from the network
o Frames at “C” : appear to be addressed to the legitimate host
o Frames at “D” : appear to be addressed to the network
o FENRIR captures frames on both physical interfaces and rewrites headers to make the
FENRIR host disappear
o Frames from/to the legitimate host are forwarded
o (You can also do whatever you want to do on them too here)
o Frames from/to FENRIR are rewritten
14
HOW IT WORKS
o Step 1 :
o FENRIR acts as a wire and let the legitimate device authenticate itself to the switch
Switch’s port state changes from uncontrolled to controlled
o Step 1.5 : optional automatic configuration
o Passive tapping to gather legitimate host’s MAC/IP addresses, TTL, etc…
o Step 2 :
o FENRIR will perform per frame analysis (for legitimate and rogue hosts’ frames)
o Frames from/to rogue host will be rewritten
We need to keep the legitimate host’s network access up in order to bypass
periodic re-authentications
15
HOW IT WORKS
16
HOW IT WORKS
From : 192.168.1.42 : 5555
To : 192.168.1.10 : 443
17
HOW IT WORKS
From : 192.168.1.10 : 443
To : 192.168.1.42 : 5555
18
HOW IT WORKS
From : 192.168.1.42 : 35180
To : 192.168.201.30 : 80
19
HOW IT WORKS
From : 192.168.201.30 : 80
To : 192.168.1.42 : 35180
20
HOW IT WORKS
From : 192.168.201.30 : 80
To : 192.168.1.32 : 35180
21
FENRIR - DEMO
22
GODDAMMIT
WE WANT SHELLS
23
REVERSE CONNECTIONS
o FENRIR provides the possibility to capture reverse connections (connections initiated from
the network)
o Useful for :
o Reverse shells
o Fake servers (think Responder for example)
o …
o Rules system, “à la” iptables that can be added/deleted on the fly to allow interception of
specific frames
24
GOING WILD
o Once FENRIR is set up, you find yourself in a perfect MitM spot
o A whole new world of network fun !
o Attack modules ?
o Injecting malicious exe on the wire
o Modifying network traffic for the legitimate host
o Responder
o …
o Classic attacks
o FENRIR works with all TCP/UDP tools
(and new protocols can be added)
o nmap
o netcat
o Metasploit
o CrackmapExec
o Empire
o …
25
GIMME SHELLS
DEMO
26
TAKE AWAYS
o 802.1x protection is great (really it is), but is just a brick in the wall
o Ways of bypassing it exist - Do not consider your network secure because you
implemented it ! 802.1x =/= physical access protection
o 802.1x protects the door but not what goes through
o No encryption
(Does anyone realize this kid is eating sand ?!?)
https://github.com/Orange-Cyberdefense/fenrir
27