Not protecting against a pineapple hack keeps coming up on this forum. Does anyone have an easy setup for protecting from this man in the middle wireless hack which does not require constant attention? I think this would be a good thing for a small business network or home user network.
Running a Radius server has been proposed. So you setup Radius on a switch port to authenticate the real wireless WAP. What stops the pineapple from advertising out in the wireless realm as the same SSID and forwarding to the real WAP?
Pineapple attacks (more appropriately Karma attacks) exploit trust on the wireless client side... I'm not going to go too deep into how to execute, or the deeper specifics of how it works - beyond the scope of SNBForums or haxxor school...
Many WiFI clients, when searching to attach to a network, broadcast the last known/connected SSID in their Probe Request Message - Karma leverages this by saying, basically, "here I am" using the jasager deamon (jasager is "yes man" in German).
How to defeat a pineapple - the only way you can defeat it is by not letting it attach to your network - point (A) below - whether via hardline (which radius can defeat), or over WiFi (WPA2-Enterprise or WPA2 Personal (CCMP-AES) with a strong passphrase), the key thing is don't give it access - these things love open Hospots like Coffee Shops and Hotels, basically anywhere easy access can be had with little authentication.
[Trusted Network] --(A)-- [PineApple] --(B)-- <many SSID's> --(C)-- [Client]
KARMA attacks are really based on Point (C) above - A client, let say, it's last known good network was "CorpWifi", even though it uses WPA2-Enterprise w/Radius auth, sends that SSID in the Probe Request message to any AP (and other known networks as well that it has attached to), and the PineApple at Point B, sees this, and updates the SSID list to be that SSID ("CorpWifi") - the client sees this, and does the initial association - since there is no RSN information, the Auth sequences for WPA2/WPA2 Enterprise, are never started...
Now remember how the wifi connection handshake works...
1) The client searches and sends Probes to a Broadcast Address - the BSSID of ff:ff:ff:ff:ff:ff, and in that Probe Request is also the SSID of the last known network
2) The Pineapple hears this - as this is all in the clear - so it sends a Probe Response, and it uses the SSID contained inside the Probe Request, and more importantly, it does not include any RSN or WEP information, e.g. it's operating as an Open AP, no Auth needed
3) Since the Probe Request/Response handshake is completed, the supplicant is never invoked on the client side, and the device completes the association, sends a DHCP request, and the PineApple offers up a valid DHCP config to the device
4) done, the Client is now associated, has valid address info, and everything is hunky-dory...
That's all fine if Point B (which is under your control perhaps) is wireline or wireless, but what if the trusted network is someone elses network that is under control of the Pineapple owner/operator - let's say it's a 3G modem - well, that's a problem, ain't it? I can set up a pineapple in my house, and attack my neighbor using his SSID, and capture on or more of his clients...
What if the SSID is hidden, does that help - no, it doesn't, because it's still there, and there are ways to get at it, and populate the SSID list of the pineapple - then I can send some deauth packets at the target, and the clients will disassociate and start the handshake all over again, and perhaps some of those clients will land on the rouge AP provided by the pineapple...
MAC filtering? - nope, doesn't help here as the PineApple doesn't require access to the target network, it becomes the target network...
So how does one beat this? Well, something that do help is keeping your client up to date - newer clients don't send out the SSID in the probe request message, it's just sends "Broadcast" and the broadcast SSID, and then picks/chooses the appropriate one - one thing the vendors here can/should do is reject an AP if the known good AP is a member of a robust security network (WPA2 PSK/Enterprise), but this is typically not widely found - there are some 3rd party, if I recall, the enterprise oriented connection managers (Cisco, Intel, etc) have settings that can help here - but generally the client management by Windows/Mac/Android/iOS/Linux don't require auth to be enabled even on known networks...
Radius, in and of itself, isn't going to fix/solve a Pineapple Karma attack - it can keep a pineapple off the wireline controlled by the Radius server, but... see above, a pineapple doesn't need to be there, all depends on what the pineapple operator wants to do..
UTM's can help in areas controlled by the network operator to keep rogues off the LAN, and they can also detect and mitigate to some degree a pineapple in the area - I've seen one case where the UTM did detect the rogue AP, and started knocking clients off it by sending deauth frames at the pineapple...
So how can I be safe?
a) Don't use open wifi in public areas, or use it very sparingly
b) if one must, then VPN is an absolute neccesscity, even if only PPTP - VPN operates at a higher layer than a Pineapple does, so even if your client is 'pwned', the VPN will keep the upper layer traffic safe.
c) SSL verification - a bit of work, but keeping your browser current, and having only trusted SSL certs in your keychain can help - but SSLstrip can defeat this
d) Use a browser that supports HSTS, meaning that it'll first use HTTPS before falling back to HTTP - most modern browsers do this - Chrome, Safari, Firefox