C, PHP, VB, .NET

Дневникът на Филип Петров


* WiFi Карма и Pineapple атаки

Публикувано на 18 ноември 2016 в раздел ОСУП.

Едно голямо удобство при мобилните устройства и лаптопи е, че те могат да се свързват автоматично към познати мрежи (такива, към които вече са се свързвали). Така например вашия мобилен телефон ще се свърже директно с домашната мрежа като се приберете вкъщи. Как се осъществява това?

Когато не са свързани с WiFi мрежа, нашите мобилни устройства периодично изпращат специални "probe" пакети, с които търсят познати устройства наоколо. Това са специални пакети, в които се съдържа SSID (името на мрежа) към която искаме да се свържем. Нормално ако даден access point (wifi рутер) не отговаря на поискания му SSID, то просто ще пропусне probe пакета. Ако обаче отговаря, ще отговори на клиентската машина и така устройствата "ще се намерят".

Карма атаките се осъществяват от трета страна. Практически това са недоброжелателни access points, които отговарят положително на всички probe заявки. Казано най-просто - те се опитват да се преставят за ваш познат рутер, към който вече сте се свързвали. Очевидната им цел е да им повярвате, да се свържете с тях, а от там да подслушват или модифицират вашия трафик (man in the middle атака). Важно е да се отбележи, че атаката ще работи само с връзки, които не са били защитени с парола (WPA2 криптиране)! Тоест устройството на жертвата трябва да търси SSID на позната незащитена WiFi мрежа. За атака на защитени връзки, хакера първо трябва да се сдобие с ключовете за криптиране.

В последните години производителите се опитаха да разрешат проблема, като замениха probe заявките с търсене на конкретни SSID с общи (generic) probe заявки, в които просто се търси "Broadcast". Съвместимите рутери ще изпратят обратно на всеки probe request т.нар. "beacon" - пакет, който съдържа SSID на рутера. Така остава в ръцете на клиента да реши дали да се свърже към този рутер или не. По този начин клиента не изпраща търсения от него SSID и съответно хакера не би трябвало да може да се представи за познат за него рутер.

Pineapple атаката се стреми да прескочи тази защита. В устройството на атакуващия се пази т.нар. "SSID pool" - голям списък с предварително зададени SSID имена. Това може да са често срещани думи и имена, предварително подбрани имена на популярни свободни WiFi мрежи или специално подбрани от хакера имена за случаите, когато той следи физически жертвата си и събира SSID на мрежи по местата, където жертвата ходи най-често. От там насетне атакуващият access point или агресивно изпраща beacon отговори (по 200-400 в секунда), когато атаката е насочена към случайни жертви, или чака жертвата си да изпрати probe, когато атаката е таргетирана. Когато атаката не е насочена към специален човек, обикновено хакерите първо обикалят много заведения, клубове, училища и университети, където събират SSID имена на незащитени WiFi мрежи, а след това започва да изпраща beacons с надеждата някой да види позната мрежа в някой от тях и да се свърже.

Защитата от този вид атаки има две гледни точки:

  • Като клиенти е препоръчително да НЕ използваме незащитени WiFi мрежи. Ако го правим, в никакъв случай не трябва да отбелязваме кутийката с "reconnect automatically" по време на свързване. Препоръчително е да изключваме WiFi контролера на мобилните си устройства когато не използваме интернет (това освен всичко друго ще ни спести и батерия);
  • Като програмисти на най-различни услуги трябва да се подсигурим, че нашите приложения винаги комуникират с клиентите само и единствено през TLS, както и да подсигурим услугите си с HSTS.

 



Добави коментар

Адресът на електронната поща няма да се публикува


*