TL; DR: FaceNiff probabilmente sfrutta il "Buco 192" della WPA e usa l'avvelenamento ARP per impostare un attacco Man-in-the-Middle. I passaggi, in breve, sono:
- Eve usa il Group Temporal Key (GTK) per iniettare i pacchetti ARP nella rete, con l'IP del gateway della rete abbinato al suo indirizzo MAC.
- I client registrano l'indirizzo MAC di Eve come nuovo gateway.
- I client inviano pacchetti crittografati con le loro chiavi private (PTK) all'AP, ma indirizzati a Eve. (I pacchetti devono ancora andare all'AP perché è "l'hub".)
- AP decrittografa i pacchetti, li ricodifica con il PTK di Eve (poiché sono indirizzati a lei) e li re-trasmette. I pacchetti ora sono effettivamente chiari in Eve.
- Segue il dirottamento della sessione.
Secondo un articolo del Registro, sembrerebbe che l'avvelenamento da ARP sia effettivamente coinvolto.
link
The app works even on networks protected by WPA and WPA2 encryption schemes by using a technique known as ARP spoofing to redirect local traffic through the attacker's device. An attacker would have to know the security password, however.
Quindi, per le reti WPA2, FaceNiff sta probabilmente sfruttando "Hole 196". AirTight ha un articolo che fa un ottimo lavoro per spiegare esattamente cos'è Hole 196 e (incollato sotto) come può essere sfruttato in modo che Eve possa annusare il traffico WPA2 come se fosse in chiaro.
link
In a WPA2 network, a malicious insider broadcasts fake packets (with the AP's MAC address as the transmitter's address) encrypted using the shared group key (GTK) directly to other authorized Wi-Fi clients in the network. One example of an exploit that can be launched using GTK is the classic ARP poisoning (man-in-the-middle) attack (demonstrated at Black Hat Arsenal 2010 and Defcon18).
In the ARP poisoning exploit, the insider can include for instance an ARP Request message inside the GTK-encrypted packet. The ARP Request has the IP address of the actual gateway, but the MAC address of the attacker's machine. All clients that receive this message will update their ARP table - mapping the attacker's MAC address with the gateway's IP address.
All "poisoned" Wi-Fi clients will send all their traffic, encrypted with their respective private keys (PTKs), to the AP, but with the attacker's MAC address as the destination. The AP will decrypt the traffic and forward it to the attacker, now encrypting it using the attacker's PTK. Because all traffic reaching the attacker (from the AP) is encrypted with the attacker's PTK, the attacker can decrypt the traffic (including login credentials, emails and other sensitive data).
The attacker can then choose to forward the traffic to the actual gateway of the network, so that the victim Wi-Fi clients do not see any abnormal behavior and continue their communication.