Ïðèíÿòèå ñòàíäàðòà áåçîïàñíîñòè 802.11i è ïîñòåïåííîå ðàñïðîñòðàíåíèå ñåòåé íà îñíîâå WPA-ñåðòèôèöèðîâàííûõ óñòðîéñòâ ïðèäàëî ìíîãèì óâåðåííîñòü â âûñîêîé ñòåïåíè çàùèùåííîñòè èõ áåñïðîâîäíîé èíôðàñòðóêòóðû. È äåéñòâèòåëüíî, ïðè ïðîäóìàííîé è òùàòåëüíîé íàñòðîéêå áåçîïàñíîñòè WPA-çàùèùåííîé ñåòè, å¸ âçëîì "â ëîá" ïðàêòè÷åñêè íåâîçìîæåí, åñëè íå ñ÷èòàòü âçëîìîì àòàêè ïî îòêàçó â îáñëóæèâàíèè (DoS) íà ïåðâîì è âòîðîì óðîâíÿõ OSI ìîäåëè. Òåì íå ìåíåå, ðàññëàáëÿòüñÿ íå ñëåäóåò. Äàæå åñëè ÈÒ èíôðàñòðóêòóðà ðåãóëÿðíî ïðîâåðÿåòñÿ íà ïðåäìåò óñòàíîâêè íåñàíêöèîíèðîâàííûõ óñòðîéñòâ, êëþ÷ ê çàêðûòîé ñ ïîìîùüþ WPA-PSK 802.11 ñåòè íåâîçìîæíî ïîäîáðàòü àòàêîé ïî ñëîâàðþ, ëèáî æå ïðèìåíåíà êîíôèãóðàöèÿ WPA-802.1õ (WPA-Industry) ñ èñïîëüçîâíèåì áåçîïàñíûõ òèïîâ EAP (íàïðèìåð, EAP-TLS èëè EAP-FAST) è ÷àñòîé ñìåíîé êëþ÷åé, âñ¸ ðàâíî îñòàåòñÿ âîçìîæíîñòü óñïåøíûõ "ëàòåðàëüíûõ" áåñïðîâîäíûõ àòàê. È íàèáîëåå óãðîæàþùèì òèïîì ïîäîáíûõ "àòàê â îáõîä" ÿâëÿþòñÿ àòàêè ïðîòèâ íåàññîöèèðîâàííûõ êëèåíòñêèõ õîñòîâ.
Îáùàÿ èäåÿ äàííîãî ïîäõîäà î÷åíü ïðîñòà è çàêëþ÷àåòñÿ â ñëåäóþùåì:
1. Íàõîäèì íåàññîöèèðîâàííîå êëèåíòñêîå óñòðîéñòâî, ëèáî èñïîëüçóåì çàòîïëåíèå ñåòè ôðåéìàìè äåàññîöèàöèè èëè äåàóòåíòèôèêàöèè äëÿ åãî ïîëó÷åíèÿ.
2. Ýìóëèðóåì òî÷êó äîñòóïà ñïåöèôè÷åñêè äëÿ ïîäñîåäèíåíèÿ ýòîãî õîñòà.
3. Âûäàåì åìó IP àäðåñ, à òàêæå IP àäðåñà ôàëüøèâûõ øëþçà è DNS ñåðâåðà ÷åðåç DHCP.
4. Àòàêóåì óñòðîéñòâî (âîçìîæíûå âåêòîðà àòàê îïèñàíû äàëåå âî âòîðîé ÷àñòè ñòàòüè).
5. Åñëè ýòî íåîáõîäèìî, è óäàëåííûé äîñòóï ê óñòðîéñòâó áûë óñïåøíî ïîëó÷åí, "îòïóñêàåì" õîñò îáðàòíî íà "ðîäíóþ" áåñïðîâîäíóþ ñåòü, ïðåäâàðèòåëüíî çàïóñòèâ íà íåì òðîÿíà.
 2007-îì ãîäó âñå âûïóñêàåìûå ëàïòîïû è íîóòáóêè áóäóò èìåòü âñòðîåííóþ ïîääåðæêó Wi-Fi. Òà æå ñóäüáà âñêîðå æäåò áîëüøèíñòâî, åñëè íå âñå íàëàäîííèêè è ñìàðòôîíû. Äà è ñåé÷àñ î÷åíü ìíîãèå êëèåíòñêèå óñòðîéñòâà (âñïîìíèì Èíòåë Öåíòðèíî) èìåþò òàêóþ ïîääåðæêó âêëþ÷åííîé è ïîñòîÿííî èùóùåé ñåòü äëÿ àññîöèàöèè, ÷àñòî - áåç âåäîìà èõ âëàäåëüöåâ. Äàííûé ôàêò èãíîðèðóåì áîëüøèíñòâîì ñèñòåìíûõ àäìèíèñòðàòîðîâ îðãàíèçàöèé è êîìïàíèé, è äàæå ïðîôåññèîíàëû â ñôåðå ÈÒ áåçîïàñíîñòè ïîä÷àñòóþ èùóò èñêëþ÷èòåëüíî íåñàíêöèîíèðîâàííûå òî÷êè äîñòóïà è àä-õîê ñåòè, íå óäåëÿÿ äîñòàòî÷íîå âíèìàíèå ýòèì "ñêó÷íûì" Probe Request ôðåéìàì îò "ïîòåðÿííûõ" êëèåíòîâ. Êàçàëîñü áû, "îòëîâ" òàêèõ êëèåíòñêèõ õîñòîâ àòàêóþùèìè äî íåâåðîÿòíîñòè ïðîñò. Íî åñòü ðÿä ïðàêòè÷åñêèõ íüþàíñîâ, êîòîðûå íåîáõîäèìî çíàòü êðàêåðó èëè ïåíòåñòåðó äëÿ óñïåøíîãî îñóùåñòâëåíèÿ ïîäîáíîãî ðîäà àòàê. Èìåííî ðàññìîòðåíèþ ýòèõ íüþàíñîâ è ïîñâÿùåíà äàííàÿ ñòàòüÿ.
Äëÿ íà÷àëà íàì íåîáõîäèìî çíàòü, ñîãëàñíî êàêîìó àëãîðèòìó êëèåíòñêèå óñòðîéñòâà àâòîìàòè÷åñêè èùóò ñåòè äëÿ ïîäñîåäèíåíèÿ. Áóäóò ëè îíè àññîöèèðîâàòüñÿ ñ ëþáîé îáíàðóæåííîé 802.11 ñåòüþ ñ äîñòàòî÷íî ìîùíûì ñèãíàëîì ? À åñëè òàêèõ ñåòåé íåñêîëüêî ? Íà ÷åì áóäåò îñíîâàí èõ âûáîð ? Kaê íàñ÷åò ñåòåé ñ "çàêðûòûì" ESSID è ñåòåé, çàùèùåííûõ ñ ïîìîùüþ WEP èëè WPA ? Îòâåòû íà ýòè âîïðîñû çàâèñÿò êàê îò îïåðàöèîííîé ñèñòåìû êëèåíòñêîãî õîñòà, òàê è îò èñïîëüóåìîé èì áåñïðîâîäíîé àïïàðàòíîé ÷àñòè, å¸ äðàéâåðîâ è ïîëüçîâàòåëüñêèõ íàñòðîåê. Çäåñü ìû ðàññìîòðèì äâå ñàìûå ðàñïðîñòðàíåííûå îïåðàöèîííûå ñèñòåìû ïîä êîòîðûìè ðàáîòàåò áîëüøèíñòâî ïîäîáíûõ óñòðîéñòâ - Ìàéêðîñîôò Windows è MacOS X.
"Àëãîðèòì áåñïðîâîäíîé ñàìîíàñòðîéêè" (ÀÁÑ, Wireless Auto Configuration Algorithm) â Windows XP è Windows Server 2003.
Äàííûé àëãîðèòì îïåðèðóåò ñ äâóìÿ ñïèñêàìè 802.11 ñåòåé - Ñïèñêîì Äîñòóïíûõ Ñåòåé (ÑÄÑ) è Ñïèñêîì Ïðåäïî÷èòàåìûõ Ñåòåé (ÑÏÑ). ÑÄÑ ïðåäñòàâëÿåò èç ñåáÿ ñïèñîê ñåòåé, îòâåòèâøèõ íà øèðîêîâåùàòåëüíûå Probe Request ôðåéìû ïðè ïîñëåäíåì àêòèâíîì ñêàíå. ÑÏÑ åñòü ñïèñîê ñåòåé, ê êîòîðûì áûëî óñòàíîâëåíî ïîëíîöåííîå ñîåäèíåíèå â ïðîøëîì. Ïîñëåäíèå ñåòè, ñ êîòîðûìè áûëî àññîöèèðîâàíî óñòðîéñòâî, èäóò â äàííîì ñïèñêå ïåðâûìè. Îïèñàíèå ñåòè â îáîèõ ñïèñêàõ ñîäåðæèò å¸ ESSID, êàíàë è ìåòîä øèôðîâàíèÿ - "îòêðûòûé òåêñò", WEP èëè WPA. Èòàê, êàê æå èñïîëüçóþòñÿ ýòè ñïèñêè â ïðîöåññå ðàáîòû ÀÁÑ ?
1. Êëèåíòñêîå óñòðîéñòâî ñîñòàâëÿåò ÑÄÑ ïóòåì ïîñûëêè øèðîêîâåùàòåëüíûõ Probe Request ôðåéìîâ ñ ïóñòûì ïîëåì ESSID ïî îäíîìó íà êàæäûé èç èñïîëüçóåìûõ 802.11 êàíàëîâ è ïàðàëëåëüíîé îáðàáîòêè îòâåòîâ íà ýòè ôðåéìû.
2. Åñëè îáíàðóæèâàþòñÿ ñåòè, íàõîäÿùèåñÿ â ÑÏÑ, òî ïðîèñõîäèò àññîöèàöèÿ ñ òàêèìè ñåòÿìè â ïîðÿäêå èõ ðàñïîëîæåíèÿ â ýòîì ñïèñêå. Òî åñòü êëèåíòñêîå óñòðîéñòâî àññîöèèðóåòñÿ ñ ñàìîé âåðõíåé ñåòüþ ÑÏÑ, êîòîðàÿ ïðèñóòñòâóåò â ÑÄÑ.
3. Åñëè òàêèõ ñåòåé íå îáíàðóæèâàåòñÿ, èëè æå óñïåøíîé àññîöèàöèè ñ íèìè íå ïðîèçîøëî ïî ïðè÷èíå ðàçëè÷èÿ â 802.11 ñòàíäàðòàõ èëè ïðîáëåì àóòåíòèôèêàöèè, ÀÁÑ "çàõîäèò íà âòîðîé êðóã", ïîñûëàÿ Probe Request ôðåéìû ñïåöèôè÷åñêè äëÿ ïîèñêà ñåòåé, ïåðå÷èñëåííûõ â ÑÏÑ. Íà ïðàêòèêå ýòî îçíà÷àåò, ÷òî äàííûå ôðåéìû ïîñûëàþòñÿ íà êàíàëû ÑÏÑ ñåòåé è ñîäåðæàò èõ ESSID. Ïðè ýòîì, îòñûëêà ýòèõ ôðåéìîâ îò ñîäåðæàíèÿ ÑÄÑ àáñîëþòíî íå çàâèñèò. Ñìûñë íàëè÷èÿ "âòîðîãî êðóãà" ÀÁÑ çàêëþ÷àåòñÿ â ïîèñêå ñåòåé ñ "çàêðûòûì" ESSID.
4. Ïðåäïîëîæèì, ÷òî ïîäõîäÿùèõ Infrastructure ñåòåé âñ¸ ðàâíî íå íàéäåíî. Ñëåäóþùèì ýòàïîì ïîèñêà ÿâëÿåòñÿ íàõîæäåíèå àä-õîê ñåòåé. Äëÿ ýòîãî ïðîâîäèòñÿ ñîïîñòàâëåíèå àä-õîê ñåòåé ÑÄÑ è ÑÏÑ.
5. Åñëè â ÑÏÑ èìååòñÿ õîòÿ áû îäíà àä-õîê ñåòü, íî â ÑÄÑ îíà íå íàéäåíà, ÀÁÑ óñòàíàâëèâàåò êëèåíòñêîå óñòðîéñòâî â ðåæèì àä-õîê è ïðèñâàèâàåò áåñïðîâîäíîìó èíòåðôåéñó IP àäðåñ, ïðèíàäëåæàùèé ê 169.254.0.0/16 äèàïàçîíó (RFC 3330). Òàêèì îáðàçîì, õîñò ñòàíîâèòñÿ ïåðâûì óçëîì ïîòåíöèàëüíîé íîâîé àä-õîê ñåòè è àëãîðèòì çàêàí÷èâàåò ñâîþ ðàáîòó.
6. Åñëè æå àä-õîê ñåòåé â ÑÏÑ íåò, òî ÀÁÑ ïðîâåðÿåò ôëàã "Ïîäñîåäèíèòüñÿ ê Íåïðåäïî÷èòàåìûì Ñåòÿì" ("Connect To Nonpreferred Networks"). Åñëè ýòîò ôëàã ðàâåí åäèíèöå, òî êëèåíòñêîå óñòðîéñòâî áóäåò ïûòàòüñÿ àññîöèèðîâàòüñÿ ñ êàæäîé ñåòüþ ÑÄÑ â ïîðÿäêå èõ î÷åðåäíîñòè â ñïèñêå. Ê ñîæàëåíèþ äëÿ àòàêóþùèõ, ïî óìîë÷àíèþ äàííûé ôëàã ðàâåí íóëþ.
7. Åñëè âûøåóïîìÿíóòûé ôëàã íå âêëþ÷åí ïîëüçîâàòåëåì, òî áåñïðîâîäíàÿ êàðòî÷êà "çàïàðêîâûâàåòñÿ" êàê êëèåíò ñ óñòàíîâëåííûì ïñåâäîñëó÷àéíûì 32-õçíà÷íûì ESSID.  òàêîì ñîñòîÿíèè îíà ôóíêöèîíèðóåò 60 ñåêóíä, ïîñëå ÷åãî àëãîðèòì ïîèñêà ñåòåé ïåðåçàïóñêàåòñÿ. Òå èç ÷èòàòåëåé, êòî çàíèìàëñÿ âàðäðàéâèíãîì, íå ðàç âñòðå÷àëè è áåç òðóäà óçíàþò òàêèå "ñòðàííûå è äëèííûå" Probe Request ESSID çíà÷åíèÿ, âðåìÿ îò âðåìåíè îáíàðóæèâàåìûå Êèñìåòîì èëè äðóãèì ïàññèâíûì 802.11 ñêàííåðîì.
Òàêèì îáðàçîì, óñòàíîâêà àòàêóþùèì ïðîãðàììíîé òî÷êè äîñòóïà ñ ïðîèçâîëüíûì ESSID èìååò ìàëî øàíñîâ íà óñïåõ äàæå ïðè áîëüøîé ìîùíîñòè å¸ ñèãíàëà. "Ìû ïîéäåì äðóãèì ïóòåì."(Ñ)
Àòàêè ïðîòèâ ÀÁÑ â Windows XP è Windows Server 2003.
 ïåðâóþ î÷åðåäü ðàññìîòðèì î÷åâèäíûå ñëàáîñòè äàííîãî àëãîðèòìà.  ïåðâóþ î÷åðåäü, âî âðåìÿ "âòîðîãî ðàóíäà" ÀÁÑ (ïóíêò 3 âûøå), êëèåíòñêîå óñòðîéñòâî ôàêòè÷åñêè ðàñêðûâàåò ñîäåðæàíèå ÑÏÑ. Ïðåäñòàâèì ñåáå ñèòóàöèþ, êîãäà òàêîé õîñò íàõîäèòñÿ âíå äîñÿãàåìîñòè åãî "ðîäíîé" ñåòè. Íàïðèìåð, êîðïîðàòèâíûé ëàïòîï âçÿò ñîòðóäíèêîì íà äîì èëè â êîììàíäèðîâêó (è èñïîëüçóåòñÿ â àýðîïîðòó, ñàìîëåòå, ãîñòèíèöå è òàê äàëåå). Äëÿ îáíàðóæèâøåãî òàêîé ëàïòîï àòàêóþùåãî íå ñîñòàâèò îñîáîãî òðóäà îïðåäåëèòü ïåðâóþ ñåòü â ÑÏÑ ïî ESSID ïîñûëàåìûõ óñòðîéñòâîì Probe Request ôðåéìîâ, è óñòàíîâèòü èìåííî ýòî çíà÷åíèå ESSID íà ñâîåé òî÷êå äîñòóïà. Òî æå ñàìîå îòíîñèòñÿ è ê ïîèñêó àä-õîê ñåòåé ÑÏÑ. Åñëè ïåðâàÿ ñåòü ÑÏÑ çàùèùåíà è òðåáóåò WEP èëè WPA êëþ÷ äëÿ ïîäêëþ÷åíèÿ, èäåì äàëåå ïî ñïèñêó è èùåì â íåì îòêðûòóþ ñåòü, âêëþ÷àÿ àä-õîê WLANû. Âåðîÿòíîñòü íàõîæäåíèÿ òàêîé ñåòè äîñòàòî÷íî âåëèêà. Ê ïðèìåðó, áîëüøèíñòâî Wi-Fi õîòñïîòîâ èñïîëüçóþò ìåòîäû çàùèòû áåñïðîâîäíîé ïåðåäà÷è äàííûõ íà áîëåå âûñîêèõ óðîâíÿõ OSI ìîäåëè, îáû÷íî íà ñåäüìîì (ìîæíî òàêæå âñïîìíèòü è NoCat øëþç, èíîãäà èñïîëüçóåìûé â ñîîáùåñòâàõ ëþáèòåëåé Wi-Fi). Ïîäêëþ÷åíèå ê òàêèì ñåòÿì îñòàâèò îïèñàíèå "íåçàùèùåííîé" (íà 2-îì óðîâíå) ñåòè â ÑÏÑ, êîòîðûì áåç ïðîáëåì ìîæåò âîñïîëüçîâàòüñÿ àòàêóþùèé. Èëè, åù¸ îäèí ïðèìåð. Äâà ïîëüçîâàòåëÿ óñòàíàâëèâàþò àä-õîê ñîåäèíåíèå íà íåñêîëüêî ìèíóò äëÿ ïåðåäà÷è åäèíñòâåííîãî ôàéëà. Âåðîÿòíîñòü òîãî, ÷òî îíè áóäóò çàùèùàòü ïîäîáíîå ñîåäèíåíèå èñïîëüçóÿ WEP èëè WPA-PSK äîñòàòî÷íî íèçêà. È äåéñòâèòåëüíî, êòî îáíàðóæèò è óñïååò àòàêîâàòü ýòî ñîåäèíåíèå â òå÷åíèè äâóõ - òðåõ ìèíóò, îñîáåííî åñëè ïåðåäàâàåìûé ôàéë íå èìååò íèêàêîé êîíôèäåíöèàëüíîñòè? Îäíàêî, â ÑÏÑ îáîèõ óñòðîéñòâ îñòàíåòñÿ îïèñàíèå íåçàùèùåííîé àä-õîê ñåòè!
Ïîäîáíîå îïèñàíèå âåäåò êî âòîðîé ñëàáîñòè. Ïðè îòñóòñòâèè òàêîé àä-õîê ñåòè ïîáëèçîñòè (êðàéíå âåðîÿòíûé ñöåíàðèé, ó÷èòûâàÿ òî, ÷òî àä-õîê ñîåäèíåíèÿ îáû÷íî ñòàâÿòñÿ íà êîðîòêèå ïðîìåæóòêè âðåìåíè è ÷àñòî - ñ íîâûì ESSID êàæäûé ðàç), Windows êëèåíò óñòàíîâèòñÿ â ïîñòîÿííîì ðåæèìå ðàáîòû êàê àä-õîê óçåë, îæèäàþùèé äðóãèõ êëèåíòîâ (ïóíêò 5 âûøå). Òàê ïî÷åìó áû íå ñòàòü òàêèì êëèåíòîì, âçÿâ ñåáå îäèí èç RFC 3330 àäðåñîâ, è íå ïðîâåñòè øèðîêîâåùàòåëüíûé ïèíã èëè ïîñëàòü ARP çàïðîñû (èëè æå ïðîñòî "ïîñíèôôàòü" ýôèð íà ïðåäìåò NetBIOS ïàêåòîâ) äëÿ îáíàðóæåíèÿ IP àäðåñà æåðòâû è ïðîâåäåíèÿ äàëüíåéøèõ àòàê ? Ïðè÷¸ì, äëÿ ïîäîáíîãî ïîäêëþ÷åíèÿ íå òðåáóåòñÿ íèêàêîãî âçàèìîäåéñòâèÿ ñî ñòîðîíû ïîëüçîâàòåëÿ. Îíî ÿâëÿåòñÿ ïîëíîñòüþ àâòîìàòè÷åñêèì.
Íàêîíåö, ïðè îòñóòñòâèè íåçàùèùåííûõ è àä-õîê ñåòåé â ÑÏÑ, è âêëþ÷åííîãî ôëàãà "Ïîäñîåäèíèòüñÿ ê Íåïðåäïî÷èòàåìûì Ñåòÿì", íàø àëãîðèòì äîñòèãíåò óñòàíîâêè êëèåíòñêîé êàðòî÷êè â "ðåæèì îæèäàíèÿ" ñ ïîñûëêîé Probe Request ôðåéìîâ ñ äëèííûì ïñåâäîñëó÷àéíûì ESSID (ïóíêò 7 âûøå). Ïðîáëåìà â òîì, ÷òî ýòè "çàãàäî÷íûå" ESSID çíà÷åíèÿ ÿâëÿþòñÿ âïîëíå "ðàáî÷èìè". Òî åñòü, äîñòàòî÷íî óñòàíîâèòü ïî ñîñåäñòâó òî÷êó äîñòóïà ñ òàêèì ESSID, è êëèåíò áëàãîïîëó÷íî íà íåå "êëþíåò", ÷òîáû ïîëó÷èòü IP àäðåñ ÷åðåç DHCP è ïîäâåðãíóòüñÿ äàëüíåéøèì àòàêàì. Ñëåäóåò ñêàçàòü, ÷òî äàííàÿ ïðîáëåìà óæå óñòðàíåíà â Longhorn, íî äî òîòàëüíîãî ïåðåõîäà íà ýòó îïåðàöèîííóþ ñèñòåìó åù¸ äàëåêî. À òåïåðü ñàìîå èíòåðåñíîå: òàê êàê ñåòü ñ äëèííûì ïñåâäîñëó÷àéíûì ESSID îòñóòñòâóåò â ÑÏÑ, ïîäñîåäèíåíèå ê òàêîé ñåòè íå òîëüêî íå òðåáóåò íèêàêîãî âçàèìîäåéñòâèÿ ñî ñòîðîíû àòàêóåìîãî ïîëüçîâàòåëÿ, íî äàæå è íå áóäåò ïîêàçàíî êàê ñóùåñòâóþùåå èíäèêàòîðîì áåñïðîâîäíîé ñâÿçè Windows XP. Äàííûé èíäèêàòîð áóäåò ãîâîðèòü, ÷òî óñòðîéñòâî íå àññîöèèðîâàíî ñ êàêîé-ëèáî Wi-Fi ñåòüþ, è òîëüêî êîíòðîëüíàÿ ïàíåëü óñòàíîâêè ñåòåâûõ îïöèé Windows ïîêàæåò íàëè÷èå ñîåäèíåíèÿ è ïðèñâîåííîãî IP àäðåñà. ×òîáû îõëàäèòü ïûë áåñïðîâîäíûõ êðàêåðîâ, ñëåäóåò óïîìÿíóòü, ÷òî ïîñëåäíèå âåðñèè äðàéâåðîâ 802.11a/b/g êàðòî÷åê ñ Atheros ÷èïñåòîì õîòü è îòñûëàþò Probe Request ôðåéìû ñ ïñåâäîñëó÷àéíûìè ESSID, íî íå ïîääåðæèâàþò àâòîìàòè÷åñêîå ñîåäèíåíèå ñ òî÷êàìè äîñòóïà, íàñòðîåííûìè ñ òàêèìè ESSID çíà÷åíèÿìè.
×òî æå äåëàòü àòàêóþùåìó åñëè, êàê áûëî ñåé÷àñ óïîìÿíóòî, àâòîìàòè÷åñêàÿ àññîöèàöèÿ èñïîëüçóÿ ïñåâäîñëó÷àéíûå ESSID íåâîçìîæíà, à ÑÏÑ íå ñîäåðæèò íåçàùèùåííûõ íà âòîðîì óðîâíå ñåòåé ? Åñëè ñåòè, ê êîòîðûì ïîäñîåäèíÿëîñü àòàêóåìîå óñòðîéñòâî, çàùèùåíû ñ ïîìîùüþ íåïîäáèðàåìîãî ïî ñëîâàðþ WPA-PSK ëèáî WPA-802.1õ ñ èñïîëüçîâàíèåì EAP-TLS, òî íà äàííûé ìîìåíò ïåðñïåêòèâ óñïåøíîãî âçëîìà íå âèäíî. Åñëè ïî êðàéíåé ìåðå îäíà òàêàÿ ñåòü áûëà çàùèùåíà ñ ïîìîùüþ WPA-802.1õ ñ èñïîëüçîâàíèåì EAP-TÒLS èëè EAP-PEAP, òî ñóùåñòâóåò âîçìîæíîñòü ïðîâåäåíèÿ àòàê íà äàííûå ïðîòîêîëû ñîãëàñíî àëãîðèòìàì, îïèñàííûì â ïðåçåíòàöèè íåáåçûçâåñòíîé õàê-ãðóïïû Shmoo "Òhe Radical Realm of Radius, 802.1x, and You" (âû ìîæåòå çàãðóçèòü ýòó çàìå÷àòåëüíóþ ïðåçåíòàöèþ ñ
http://www.layerone.info/2005/presentation...f%20RADIUS.pdf).  òî âðåìÿ êàê â çàäà÷ó äàííîé ñòàòüè íå âõîäèò îïèñàíèå àòàê ïðîòèâ EAP-TÒLS è EAP-PEAP, ïðåäëîæåííûõ â äàííîé ïðåçåíòàöèè, ñëåäóåò îòìåòèòü, ÷òî ðàññìàòðèâàåìûé íàìè ñëó÷àé îõîòû (à âåðíåå "ðûáàëêè") íà êëèåíòñêèå óñòðîéñòâà èäåàëåí äëÿ ïðîâåäåíèÿ òàêèõ Shmoo àòàê, êàê PAP-PULL è PAP-PEEK. Ïî÷åìó?  ïåðâóþ î÷åðåäü èç-çà òîãî, ÷òî àòàêóþùåìó íå ìåøàåò ëåãèòèìíàÿ òî÷êà äîñòóïà è íåò íèêàêîé íóæäû â ïðîâåäåíèè ïîñòîÿííûõ çàòîïëåíèé ôðåéìàìè äåàññîöèàöèè èëè äåàóòåíòèôèêàöèè, ïîñêîëüêó àòàêóåìîå êëèåíòñêîå óñòðîéñòâî ïî îïðåäåëåíèþ íè ñ ÷åì íå àññîöèèðîâàííî! Ïîñëåäíèé ìîìåíò çíà÷èòåëüíî îáëåã÷àåò ïðîâåäåíèå ýòèõ àòàê ñ Windows ïëàòôîðì. Âïðèäà÷ó, ïîäîáíîãî ðîäà àòàêè âåñüìà "øóìíûå", à â íàøåì ñëó÷àå àòàêóåìûå êëèåíòñêèå óñòðîéñòâà íàõîäÿòñÿ âíå ïðåäåëîâ äîñÿãàåìîñòè êîðïîðàòèâíîé ñèñòåìû îáíàðóæåíèÿ íåñàíêöèîíèðîâàííîãî áåñïðîâîäíîãî äîñòóïà (wIDS). À âåçó÷èé êðàêåð ìîæåò íàïîðîòüñÿ è íà êëèåíòñêèé õîñò, ñîäåðæàùèé â ÑÏÑ ñåòü, çàùèùåííóþ óñòàðåâøèì EAP-MD5. Äëÿ óñïåøíîãî ïðèñîåäèíåíèÿ òàêîãî óñòðîéñòâà äîñòàòî÷íî ïîäíÿòü hostapd äåìîí, ïðèõîäÿùèé ñ HostAP äðàéâåðîì Jouni Malinen'a äëÿ êàðòî÷åê ñ Prism 2 - 3 ÷èïñåòîì, ïðè ýòîì âêëþ÷èâ åãî îãðàíè÷åííóþ RADIUS-ôóíêöèîíàëüíîñòü ñ àâòîìàòè÷åñêîé àóòåíòèôèêàöèåé ñóïïëèêàíòîâ âíå çàâèñèìîñòè îò ïðèñûëàåìûõ èìè ïàêåòîâ êâèòèðîâàíèÿ. Ýòà êëàññè÷åñêàÿ àòàêà ïðîòèâ EAP-MD5 áûëà äåòàëüíî îïèñàíà íàìè â "Wi-Ôó".
Ãîâîðÿ îá óñòàðåâøèõ ìåõàíèçìàõ çàùèòû 802.11 ñåòåé, íåâîçìîæíî íå óïîìÿíóòü èçáèòûé âñåìè WEP. È àòàêè íà íåãî ìîãóò áûòü ïðèìåíåíû è ïðîòèâ îòäåëüíûõ êëèåíòñêèõ óñòðîéñòâ, ñåòè â ÑÏÑ êîòîðûõ "çàùèùåíû" ñ ïîìîùüþ WEPà. Åñëè âñå àä-õîê ñåòè â ÑÏÑ èìåþò WEP â ñâîèõ óñòàíîâêàõ, òî è ïðîèçâîëüíàÿ àä-õîê êîíôèãóðàöèÿ ñ RFC 3330 àäðåñîì, êàê îïèñàíî â ïóíêòå 5 âûøå, áóäåò èñïîëüçîâàòü WEP. Ïðîáëåìà â òîì, ÷òî òàêîé àä-õîê óçåë íå áóäåò "ñîáëþäàòü òèøèíó" - äîñòàòî÷íî âñïîìíèòü õîòÿ áû îòñûëêó NetBIOS HELLO ïàêåòîâ êàæäûå 2 ñåêóíäû. Ñîîòâåòñòâåííî, ïîäîáíîãî ðîäà òðàôèê ìîæåò áûòü óñïåøíî óòèëèçèðîâàí äëÿ âçëîìà WEP êëþ÷à ðàçëè÷íûìè ìåòîäàìè, îò ïðîñòîãî ïåðåáîðà ïî ñëîâàðþ ñ ïîìîùüþ WepAttack äî àêñåëåðàöèè âçëîìà ïóòåì èíüåêöèè ïàêåòîâ èñïîëüçóÿ Christopher Devine's aireplay (ìîäèôèöèðîâàííàÿ àòàêà ëîæíîé àóòåíòèôèêàöèè ëèáî èíòåðàêòèâíàÿ ðåèíüåêöèÿ ïàêåòîâ, ñ ïîìîùüþ êîòîðûõ ìîæíî çàñòàâèòü îäèíî÷íûé àä-õîê êëèåíò ïîñëàòü çàøèôðîâàííûé ARP ïàêåò äëÿ ïîñëåäóþùåé ARP ðåèíüåêöèè).
Åù¸ áîëåå èíòåðåñíûé ïðèìåð - êëèåíòû ñ ïñåâäîñëó÷àéíûì ESSID (ïóíêò 7) è WEPîì, êîòîðûå "âîçíèêàþò" â òåõ ñëó÷àÿõ, êîãäà âñå ñåòè, ïåðå÷èñëåííûå â ÑÏÑ, ÿâëÿþòñÿ çàùèùåííûìè. Ñàì ôàêò òîãî, ÷òî ïðè íàëè÷èè â ýòîì ñïèñêå è WPA-çàùèùåííûõ ñåòåé, âñ¸ ðàâíî èñïîëüçóåòñÿ WEP - ýòî óæå óÿçâèìîñòü. Íî, áîëåå òîãî, òàê êàê óñòàíîâêè ïîäîáíîé ñåòè íèãäå íå îïðåäåëåíû è "ñàìîêîíôèãóðèðóþòñÿ" áåç ó÷àñòèÿ ïîëüçîâàòåëÿ, àòàêóþùàÿ òî÷êà äîñòóïà ñïîñîáíà íàâÿçàòü òàêèì êëèåíòàì íåáåçîïàñíûé ìåòîä 802.11 àóòåíòèôèêàöèè ñ èñïîëüçîâàíèåì ðàñïðåäåëåííîãî WEP êëþ÷à. Íàâÿçûâàÿ ýòîò ìåòîä, êðàêåð ìîæåò ïîñëàòü êëèåíòñêîìó óñòðîéñòâó challenge ñòðîêó ñ èçâåñòíûì òåêñòîì è ïîëó÷èòü îáðàòíî å¸ æå, çàXORåííóþ ñ ÷àñòüþ RC4 ïîòîêà. Òàêèì îáðàçîì, çàXORèâ ïîëó÷åííîå ñ ïåðâîíà÷àëüíûì òåêñòîì, àòàêóþùèé óçíàåò 144 áàéòà RC4 ïîòîêà äëÿ çàäàííîãî âåêòîðà èíèöèàëèçàöèè (IV). Ó ýòîé àòàêè ìíîãî âîçìîæíûõ ïðèìåíåíèé.  ÷àñòíîñòè:
* ìîæíî ïîñûëàòü âñ¸ íîâûå è íîâûå challenge çàïðîñû, ïîêà íå îòêðîåòñÿ ïîòîê RC4 øèôðà äëÿ âñåõ âåêòîðîâ èíèöèàëèçàöèè 24-áèòíîãî WEP IV ïðîñòðàíñòâà. Ýòî ãðîìîçäêî è ìîæåò çàíÿòü çíà÷èòåëüíîå êîëè÷åñòâî âðåìåíè
* ìîæíî àòàêîâàòü ïîëó÷åííûé îòâåò ïåðåáîðîì ïî ñëîâàðþ èñïîëüóÿ WepAttack è ñõîäíûå óòèëèòû
* ìîæíî èñïîëüçîâàòü èçâåñòíûå 144 áàéòà ïîòîêà äëÿ ðåèíüåêöèè ïàêåòîâ ê êëèåíòñêîìó óñòðîéñòâó ñ ïîìîùüþ ñòàðîãî äîáðîãî WepWedgie Àíòîíà Ðýéäæåðà. Óäà÷íàÿ ðåèíüåêöèÿ çàñòàâèò àòàêóåìûé õîñò ïîñëàòü çàøèôðîâàííûé ARP ïàêåò, êîòîðûé ëåãêî ïåðåõâàòèòü è èñïîëüçîâàòü ñ aireplay.
 ëþáîì èç âûøåïåðå÷èñëåííûõ ñëó÷àåâ, îäèíî÷íîå êëèåíòñêîå óñòðîéñòâî òðåáóþùåå ñîåäèíåíèå, çàùèùåííîå WEPîì, òðóäíî íàçâàòü íåóÿçâèìûì.
 ñëåäóþùåé ÷àñòè ñòàòüè ìû îáñóäèì àòàêè íà êëèåíòñêèå Wi-Fi óñòðîéñòâà, ðàáîòàþùèå ïîä ÌacOS Õ, à òàêæå èìåþùèåñÿ Linux - èìïëåìåíòàöèè, äàëüíåéøèå âîçìîæíîñòè è ìåòîäû çàùèòû îò ïîäîáíûõ àòàê.
Ïðèøëî âðåìÿ ïîñòàâèòü òî÷êó íàä "i" è ðàññìîòðåòü îñòàâøèåñÿ àñïåêòû àòàê íà êëèåíòñêèå 802.11 óñòðîéñòâà. Íî ñíà÷àëà - äâà íåáîëüøèõ ëèðè÷åñêèõ îòñòóïëåíèÿ. Ïåðâîå: â îðèãèíàëå äåéñòâèòåëüíî "íîðìàëüíûå ãåðîè", Àêåëëà ïðîìàõíóëñÿ, íî íàçâàíèå ñòàòüè ìåíÿòü óæå ïîçäíî smile.gif È âòîðîå: â ïðîìåæóòêå ìåæäó ñòàòüÿìè ðàáîòàë ÿ â äðóãîì ãîðîäå, è ïîïàëñÿ ìíå ïîä ðóêó êëèåíòñêèé Acer'îâñêèé ëàïòîï ïîä Windows XP Professional SP2, êîòîðûé íàäî áûëî íàñòðîèòü è ïîä÷èñòèòü îò ðàçíîãî spyware. Ïîãëÿäåë ÿ íà íàñòðîéêè åãî âñòðîåííîé miniPCI 802.11 êàðòî÷êè è óæàñíóëñÿ: áûëî âûñòàâëåí ôëàã "Ïîäñîåäèíèòüñÿ ê Íåïðåäïî÷èòàåìûì Ñåòÿì", è äîïîëíèòåëüíî äîáàâëåíî "Ïîäñîåäèíèòüñÿ ê Ñåòè ñ Íàèáîëüøåé Ñèëîé Ñèãíàëà". Ïðè ýòîì âëàäåëèöà ëàïòîïà, ðàáîòàþùàÿ â îòäåëå ïî ïðîäàæàì, äàæå è íå ïîäîçðåâàëà î íàëè÷èè âñòðîåííîé áåñïðîâîäíîé êàðòî÷êè è êëÿëàñü, ÷òî â äàííûå íàñòðîéêè íå ëàçèëà è íè÷åãî òàì íå ìåíÿëà (÷åìó ÿ îõîòíî âåðþ). Wi-Fi ñåòè íå èñïîëüçóþòñÿ íè â îôèñå, íè äîìà ó äàííîé ñîòðóäíèöû. Êòî ìîã ïîìåíÿòü íàñòðîéêè ïî óìîë÷àíèþ äëÿ Wi-Fi êàðòî÷êè óïîìÿíóòîãî ëàïòîïà - íåèçâåñòíî (âîçìîæíî, ïðîäàâøàÿ åãî êîìïàíèÿ), äà è íå ñóòü âàæíî. Âàæíî òî, ÷òî ïîäîáíûå ñëó÷àè è óñòðîéñòâà - ñóùåñòâóþò. È áîëüøèíñòâî êîíñóëüòàíòîâ ïî áåçîïàñíîñòè, íå ãîâîðÿ óæå î ñèñòåìíûõ àäìèíèñòðàòîðàõ, ñêîðåå âñåãî ïðîãëÿäåëè áû ýòó î÷åíü ñåðüåçíóþ ïðîáëåìó êîíôèãóðàöèè, êîòîðóþ íå îáíàðóæèò íè îäèí ñóùåñòâóþùèé íà äàííûé ìîìåíò ñêàíåð ïðîâåðêè óÿçâèìîñòåé è óðîâíÿ "çàïàò÷åííîñòè".
Âåðíåìñÿ æå ê îïèñàíèþ àëãîðèòìîâ âûáîðà òî÷êè äîñòóïà íåàññîöèèðîâàííûìè êëèåíòñêèìè óñòðîéñòâàìè. Êàê áûëî ñïðàâåäëèâî çàìå÷åíî â êîììåíòàðèÿõ ê ïåðâîé ÷àñòè ñòàòüè, Ëèíóêñ - êëèåíòû âåñüìà íåðàçáîð÷èâû â ñîåäèíåíèÿõ ñ òî÷êàìè äîñòóïà è â áîëüøèíñòâå ñëó÷àåâ ãîòîâû àññîöèèðîâàòüñÿ ñ ëþáîé áëèçëåæàùåé òî÷êîé ñ ìàêñèìàëüíîé ñèëîé ñèãíàëà. Ïðè ýòîì, êàê áûëî çàìå÷åíî íàìè åùå ãîäà òðè íàçàä, äàæå ñî ñòàðûìè Hermes II ÷èïñåò êàðòî÷êàìè íåò íèêàêîé íåîáõîäèìîñòè ïðîïèñûâàòü íîìåð êàíàëà ñ ïîìîùüþ êîìàíäû iwconfig. Ñ ESSID íåñêîëüêî ñëîæíåå, è ìíîãîå çàâèñèò îò óñòàíîâîê ôàéëîâ êîíôèãóðàöèè áåñïðîâîäíîãî êëèåíòà.  íåêîòîðûõ ñëó÷àÿõ, ïðè ïîäüåìå 802.11 èíòåðôåéñà ñ ïîìîùüþ êîìàíäû iwconfig [interface] up, ESSID îïòèìàëüíîé òî÷êè äîñòóïà áóäåò ïðèíèìàòüñÿ àâòîìàòè÷åñêè, íî ðàñ÷èòûâàòü íà ýòî àòàêóþùåìó â öåëîì íå ñòîèò. Áîëåå ðàöèîíàëüíî ïðîñëóøàòü ýôèð íà ïðåäìåò ïîñûëàåìûõ Probe Request ôðåéìîâ è ïðèíÿòü ESSID, óêàçàííîå â íèõ. Probe Request ôðåéìû îòïðàâëÿþòñÿ âñåìè êëèåíòñêèìè óñòðîéñòâàìè ïîä Ëèíóêñ, ê ïðèìåðó Cisco Aironet êàðòî÷êè ïîñûëàëè èõ äàæå â ðåæèìå ìîíèòîðèíãà (RFMON) ïîä ñòàðûìè ÿäðàìè äî 2.4.14 âåðñèè. Äàííûé áàã â íàñòîÿùåå âðåìÿ óñòðàíåí. Çàïóùåííàÿ ïîëüçîâàòåëåì èëè àâòîìàòè÷åñêîé óòèëèòîé (íàïðèìåð, APhunter èëè APradar) êîìàíäà iwlist [interface] scanning ïîä Ëèíóêñ ôîðñèðóåò ïîñûëêó Probe Requests.  òî âðåìÿ êàê "ñàññîöèèðîâàòü" êëèåíòñêîå óñòðîéñòâî ïîä Ëèíóêñ íåñëîæíî, íà áîëåå âûñîêèõ óðîâíÿõ OSI ìîäåëè àòàêóþùåãî ìîãóò æäàòü ñþðïðèçû. À èìåííî, êîíôèãóðàöèÿ áåñïðîâîäíîãî èíòåðôåéñà ïîä Ëèíóêñ ãëóáîêî èíäèâèäóàëüíà è çàâèñèò îò äèñòðèáóòèâà ñèñòåìû, åãî âåðñèè è íàñòðîéêè îïöèé ôàéëîâ êîíôèãóðàöèè èíòåðôåéñà ïîëüçîâàòåëåì.  îòëè÷èå îò Windows, íàëè÷èå DHCP êëèåíòà íà òàêîì èíòåðôåéñå ìàëîâåðîÿòíî, è äàæå ñòàòè÷åñêèé IP àäðåñ ìîæåò áûòü íåóñòàíîâëåí â ðàñ÷åòå íà åãî ïðîïèñûâàíèå ïîëüçîâàòåëåì ïðè ïîäêëþ÷åíèè ê áåñïðîâîäíîé ñåòè èñïîëüçóÿ êîìàíäó iwconfig. Áåçóñëîâíî, ìîæíî íàðâàòüñÿ íà óñòðîéñòâî, íà êîòîðîì ïîëüçîâàòåëåì çàïóùåíà êàêàÿ-íèáóäü óòèëèòà äëÿ àâòîìàòè÷åñêîãî íàõîæäåíèÿ è ïîäêëþ÷åíèÿ ê Wi-Fi ñåòÿì, ñêàæåì APHopper . Îäíàêî âåðîÿòíîñòü òàêîãî ñëó÷àÿ ìÿãêî ñêàæåì íåâåëèêà. Åñëè íà áåñïðîâîäíîì èíòåðôåéñå ïðîïèñàí ñòàòè÷åñêèé IP àäðåñ, àòàêóþùèé ìîæåò èñïîëüçîâàòü ïåðåáîð àäðåñîâ ñ ïîìîùüþ ARP çàïðîñîâ äëÿ åãî íàõîæäåíèÿ, èñïîëüçóÿ Ettercap, THC-wardrive è ïðî÷èå ïîäîáíûå óòèëèòû. Ðàçóìååòñÿ, 192.168.0.0./16 - õîðîøèé âûáîð äèàïàçîíà àäðåñîâ äëÿ íà÷àëüíîãî ïåðåáîðà. Ñëåäóåò òàêæå ïðèíèìàòü âî âíèìàíèå, ÷òî áåñïðîâîäíîå óñòðîéñòâî ïîä Ëèíóêñîì ìîæåò áûòü èçíà÷àëüíî íàñòðîåíî íå êàê êëèåíò, à êàê òî÷êà äîñòóïà, ê ïðèìåðó ïðè èñïîëüçîâàíèè äðàéâåðîâ HostAP (ESSID ïî óìîë÷àíèþ - "test"), madwifi èëè Prism54g. Äàííûå ñëó÷àè òîëüêî óïðîùàþò çàäà÷ó àòàêóþùåãî, òàê êàê åìó íå òðåáóåòñÿ îáëàäàòü âîçìîæíîñòÿìè òî÷êè äîñòóïà íà óñòðîéñòâå, êîòîðîå îí ïûòàåòñÿ ïîäñîåäèíèòü.
Íåñìîòðÿ íà íåïðåðûâíîå ðàñïðîñòðàíåíèå Ëèíóêñà êàê îïåðàöèîííîé ñèñòåìû ìîáèëüíûõ óñòðîéñòâ, âòîðîé ïî ÷àñòîòå âñòðå÷àåìîñòè ïîñëå Windows îïåðàöèîíêîé áåñïðîâîäíûõ êëèåíòîâ âñ¸ æå ÿâëÿåòñÿ MacOS X. Ðàññìîòðèì æå, êàê âåäóò ñåáÿ ýòè êëèåíòû â íåàññîöèèðîâàííîì ñîñòîÿíèè, è ÷åì èõ ïîâåäåíèå îòëè÷àåòñÿ îò ïîâåäåíèÿ óñòðîéñòâ ïîä Ìàéêðîñîôò Windows, ðàññìîòðåííîãî â ïåðâîé ÷àñòè ñòàòüè.
Àëãîðèòì âûáîðà áåñïðîâîäíûõ ñåòåé â MacOS X è àòàêè ïðîòèâ íåãî
Íåñìîòðÿ íà íåïðåðûâíîå ðàñïðîñòðàíåíèå Ëèíóêñà êàê îïåðàöèîííîé ñèñòåìû ìîáèëüíûõ óñòðîéñòâ, âòîðîé ïî ÷àñòîòå âñòðå÷àåìîñòè ïîñëå Windows îïåðàöèîíêîé áåñïðîâîäíûõ êëèåíòîâ âñ¸ æå ÿâëÿåòñÿ MacOS X. Ðàññìîòðèì æå, êàê âåäóò ñåáÿ ýòè êëèåíòû â íåàññîöèèðîâàííîì ñîñòîÿíèè, è ÷åì èõ ïîâåäåíèå îòëè÷àåòñÿ îò ïîâåäåíèÿ óñòðîéñòâ ïîä Ìàéêðîñîôò Windows, ðàññìîòðåííîãî â ïåðâîé ÷àñòè ñòàòüè. Äëÿ íà÷àëà íàì íåîáõîäèìî çíàòü, ãäå õðàíèòñÿ ñïèñîê ïðåäïî÷èòàåìûõ Wi-Fi ñåòåé ïîä MacOS X. Äàííûé ñïèñîê ïðåäñòàâëÿåò ñîáîé XML ôàéë, îáû÷íî /localhost/System/Library/DTDs/PropertyList.dtd. Äî âåðñèè MacOS X 10.3.3, ñïèñêà ïðåäïî÷èòàåìûõ/äîâåðÿåìûõ ñåòåé íå ñóùåñòâîâàëî, îäíàêî ïîñëå îòêðûòèÿ â 2003-åì ãîäó ñåðüåçíîé êëèåíòñêîé óÿçâèìîñòè, äàííûé ñïèñîê áûë ñîçäàí äëÿ å¸ óñòðàíåíèÿ. Ñàìà ïî ñåáå, ýòà óÿçâèìîñòü äîñòàòî÷íî çíàìåíàòåëüíà è ñâîäèòñÿ ê òîìó, ÷òî ïîäñîåäèíèâøèéñÿ ê òî÷êå äîñòóïà àòàêóþùåãî MacOS X êëèåíò ïðèíèìàåò ÷åðåç DHCP íå òîëüêî IP àäðåñà ñåáÿ, øëþçà è DNS ñåðâåðà, íî è ïàðàìåòðû ïîëíîñòüþ äîâåðÿåìîãî ôàëüøèâîãî LDAP èëè NetInfo ñåðâåðà, ïîñëå ÷åãî ñòàíîâèòñÿ âîçìîæíûì çàëîãèíèòüñÿ íà àòàêóåìîå óñòðîéñòâî ñ uid 0 è ëþáûì èìåíåì ïîëüçîâàòåëÿ. Ñëåäóåò îòìåòèòü, ÷òî êîíôèãóðàöèÿ áåñïðîâîäíûõ MacOS X õîñòîâ ïîçâîëÿåò áîëüøèé âûáîð îïöèé ïî ñðàâíåíèþ ñ Windows, à èìåííî "âñåãäà àññîöèèðîâàòüñÿ ñ óêàçàííîé ñåòüþ", "ñîåäèíÿòüñÿ ñ ïîñëåäíåé àññîöèèðîâàííîé ñåòüþ" è "ñîåäèíÿòüñÿ ñ íåçàùèùåííîé ñåòüþ ñ íàèáîëåå ñèëüíûì ñèãíàëîì". Íåñìîòðÿ íà êàæóùóþñÿ îòíîñèòåëüíóþ áåçîïàñíîñòü ïåðâûõ äâóõ îïöèé, îíè ëåãêî îáõîäÿòñÿ àòàêóþùèì.
Èòàê, êàê æå ðàáîòàåò ñàì àëãîðèòì âûáîðà?  îòëè÷èè îò Windows, îí çàäåéñòâóåòñÿ íå êàæäûå 60 ñåêóíä, à òîëüêî êîãäà ëîãèíèòñÿ ïîëüçîâàòåëü èëè "ïðîñûïàåòñÿ" êëèåíòñêèé õîñò. Ïîèñê íà÷èíàåòñÿ ñ ïîñûëêè Probe Request ôðåéìà ñ ESSID ïîñëåäíåé àññîöèèðîâàííîé ñåòè è èäåò äàëåå âíèç ïî ñïèñêó äîâåðÿåìûõ ñåòåé. Åñëè íè îäíîé èç äîâåðÿìûõ/ïðåäïî÷èòàåìûõ ñåòåé íå íàéäåíî, òî ïåðåä ïîëüçîâàòåëåì àâòîìàòè÷åñêè îòêðûâàåòñÿ äèàëîã, ñîîáùàþùèé îá ýòîì è ïðåäëàãàþùèé ïîäñîåäèíèòüñÿ ê ñåòè ñ ìàêñèìàëüíîé ñèëîé ñèãíàëà, îïöèîíàëüíî çàïîìèíàÿ ýòó ñåòêó êàê ïðåäïî÷èòàåìóþ. Åñëè ïîëüçîâàòåëü îòêàçûâàåòñÿ, òî êëèåíòñêèå óñòðîéñòâà AirPort, íî íå áîëåå íîâûå AirPort Åõtreme, "çàïàðêîâûâàþòñÿ" ño ñòàòè÷åñêèì èëè äèíàìè÷åñêèì ïñåâäîñëó÷àéíûì çíà÷åíèåì ESSID è óñòàíîâëåííûì WEPîì. AirPort Åõtreme êàðòî÷êè íå ãåíåðèðóþò íèêàêîãî 802.11 òðàôèêà, åñëè ñêàí íà íàëè÷èå äîñòóïíûõ ñåòåé íå çàïðîøåí ïîëüçîâàòåëåì. Âûáîð ìåæäó ñòàòè÷åñêèì è äèíàìè÷åñêèì ESSID ó AirPort çàâèñèò îò òîãî, ÷åì áûë âûçâàí èçíà÷àëüíûé ñêàí íà íàëè÷èå ïðåäïî÷èòàåìûõ ñåòåé. Åñëè ñêàí ïðîèñõîäèò ïîñëå çàãðóçêè èëè "ïðîñûïàíèÿ" óñòðîéñòâà - çíà÷åíèå ESSID ñòàòè÷åñêîå (àêà "dummy"). Åñëè ñêàí èíèöèèðîâàí ëîãèíîì ïîëüçîâàòåëÿ - çíà÷åíèå ESSID äèíàìè÷åñêîå.
Ñëàáîñòè äàííîãî àëãîðèòìà î÷åâèäíû. Âî ïåðâûõ, òàêæå êàê è àëãîðèòì áåñïðîâîäíîé ñàìîíàñòðîéêè Windows, Probe Request ôðåéìû âûäàþò ñïèñîê äîâåðÿåìûõ ñåòåé, êàæäàÿ èç êîòîðûõ ìîæåò áûòü ëåãêî ýìóëèðîâàíà àòàêóþùèì. Âî âòîðûõ, àòàêóþùèé ìîæåò ïðèíÿòü çíà÷åíèå ESSID "çàïàðêîâàííîé" AirPort êàðòî÷êè è àññîöèèðîâàòü êëèåíòà ê ñåáå. Óñòàíàâëèâàåìûé àâòîìàòè÷åñêè WEP òàêîé êàðòî÷êè íå ñîçäàåò íèêàêèõ ïðîáëåì äëÿ áåñïðîâîäíûõ êðàêåðîâ, òàê êàê âñåãäà èñïîëüçóåòñÿ àïïàðàòíî ïðîøèòîå 40-áèòíîå çíà÷åíèå WEP êëþ÷à, ðàâíîå 0x0102030405. Èíòåðåñíî, ÷òî äàæå ïðè èñïîëüçîâàíèè (à âåðíåå íàâÿçûâàíèè àòàêóþùèì) àóòåíòèôèêàöèè ïî îáùåìó WEP êëþ÷ó (Shared Key Authentication), ñîåäèíåíèå ñ êëèåíòîì ïðîèñõîäèò áåç êàêèõ-ëèáî ïðåïÿòñòâèé è óâåäîìëåíèÿ îá ýòîì ïîëüçîâàòåëÿ. Òåì íå ìåíåå, èíäèêàòîð ìåíþ AirPort âñ¸-òàêè çàãîðàåòñÿ, è ïðè ùåë÷êå íà íåãî ìûøüþ ïîêàçûâàåò ñîåäèíåíèå ñ 802.11 ñåòüþ. Êðîìå òîãî, òàê êàê ñêàíèðîâàíèå íå ïðîèñõîäèò ÷åðåç ðåãóëÿðíûå èíòåðâàëû, äëÿ ýìóëÿöèè ñåòåé èç çàâåòíîãî XML ñïèñêà àòàêóþùèé äîëæåí ïîéìàòü óäà÷íûé ìîìåíò âðåìåíè. Òàêèì îáðàçîì, àòàêîâàòü MacOS X êëèåíòû ñëîæíåå, ÷åì èõ "áåñïðîâîäíûõ ñîáðàòüåâ" ïîä Windows. Òåì íå ìåíåå, ïîäîáíûå óñïåøíûå àòàêè âåñüìà è âåñüìà âîçìîæíû, îñîáåííî â ñëó÷àå èñïîëüçîâàíèÿ ñòàðûõ 802.11b AirPort óñòðîéñòâ.
Àòàêè ïðîòèâ ñïåöèôè÷åñêèõ óÿçâèìîñòåé êëèåíòñêèõ 802.11 óñòðîéñòâ.
Ïðèøëî âðåìÿ ïåðåéòè îò àòàê íà îáùèå àëãîðèòìû ïîèñêà ñåòåé äëÿ àññîöèàöèè ê àòàêàì íà îòäåëüíî âçÿòûå èìïëåìåíòàöèè äàííûõ àëãîðèòìîâ, à âåðíåå - èõ áàãè. Äëÿ íà÷àëà ìû ðàññìîòðèì òàê íàçûâàåìûé "ïåðåõâàò àññîöèàöèè". Ðå÷ü èäåò î òîì, ÷òî "ïðîøèâêà" (firmware) ðÿäà òî÷åê äîñòóïà è êëèåíñòêèõ êàðòî÷åê èìååò ëîãè÷åñêóþ îøèáêó â äèçàéíå, âåäóùóþ ê ïðåäïî÷òèòåëüíîé àññîöèàöèè "äåôåêòèâíîé" êàðòî÷êè ñ "äåôåêòèâíîé" òî÷êîé äîñòóïà âíå çàâèñèìîñòè îò âûñòàâëåííûõ íà êëèåíòñêîé êàðòî÷êå çíà÷åíèé ESSID è 802.11 êàíàëà. Ñàìà îøèáêà ñâîäèòñÿ ê íåêîððåêòíî âûñòàâëåííîìó çíà÷åíèþ åäèíñòâåííîãî ðåãèñòðà â ïðîøèâêå äëÿ áåñïðîâîäíûõ ÷èïñåòîâ Marvell Libertas è ADMtek ADM8638 äëÿ òî÷åê äîñòóïà, à òàêæå Hermes I/II, ðàâíî êàê è Prism 2/2.5 ÷èïñåòîâ äëÿ êëèåíòñêèõ êàðòî÷åê.  ðåçóëüòàòå ïîëó÷àåòñÿ ñëåäóþùàÿ "ëåòàëüíàÿ êîìáèíàöèÿ":
- "ïåðåõâàòûâàþùàÿ" òî÷êà äîñòóïà ïîñûëàåò Probe Response ôðåéìû â îòâåò íà ëþáûå Probe Requests îò êëèåíòîâ, äàæå åñëè îíè (Probe Requests) íå ñîäåðæàò øèðîêîâåùàòåëüíîå (ANY) èëè óñòàíîâëåííîå íà òî÷êå äîñòóïà çíà÷åíèå ESSID. Òàêîå ïîâåäåíèå òî÷êè äîñòóïà íåíîðìàëüíî.
- àññîöèàöèÿ óÿçâèìîãî êëèåíòñêîãî óñòðîéñòâà èíèöèèðóåòñÿ ïåðâûì ïîëó÷åííûì Probe Response ôðåéìîì îò ëþáîé òî÷êè äîñòóïà, âíå çàâèñèìîñòè îò ñîîòâåòñòâèÿ çíà÷åíèé ESSID â èçíà÷àëüíî ïîñëàííîì óñòðîéñòâîì Probe Request'å è ïîëó÷åííîì â îòâåò Probe Response. Òàêîå ïîâåäåíèå êëèåíòñêîé êàðòî÷êè åù¸ áîëåå àáíîðìàëüíî è, î÷åâèäíî, îáúÿñíÿåòñÿ òåì, ÷òî êëèåíòñêîå óñòðîéñòâî ñìîòðèò òîëüêî íà MAC àäðåñ õîñòà íàçíà÷åíèÿ â ïîëó÷àåìîì Probe Response ôðåéìå è, óäîñòîâåðèâøèñü â òîì, ÷òî ýòî åãî MAC, íà÷èíàåò àññîöèàöèþ. Ïîëå ESSID â Probe Response ïðè ýòîì íå ïðîâåðÿåòñÿ.
Òàêèì îáðàçîì, èñïîëüçóÿ îïèñàííóþ óÿçâèìîñòü, àòàêóþùèé ìîæåò àññîöèèðîâàòü õîñòû ê ñâîåé òî÷êå äîñòóïà äàæå â ïðèñóòñòâèè ëåãèòèìíîé áåñïðîâîäíîé ñåòè (íå çàáûâàéòå ïðî DoS ÷åðåç çàòîïëåíèå ôðåéìàìè äåàññîöèàöèè/äåàóòåíòèêàöèè!). Äîñòàòî÷íî, ÷òîáû ïåðâûé ïîëó÷åííûé óÿçâèìûì êëèåíòñêèì óñòðîéñòâîì Probe Responså ôðåéì áûë ïîñëàí èìåííî àòàêóþùèì. Âûñîêóþ âåðîÿòíîñòü ýòîãî ìîæíî äîñòè÷ü ñ ïîìîùüþ áîëüøåé ìîùíîñòè ñèãíàëà òî÷êè äîñòóïà êðàêåðà ïî ñðàâíåíèþ ñ òî÷êîé äîñòóïà àòàêóåìîé ñåòè. Äîáèòüñÿ ýòîãî íåñëîæíî: â òî âðåìÿ, êàê ëåãàëüíî óñòàíîâëåííûå òî÷êè äîñòóïà îãðàíè÷åíû ïî ìîùíîñòè âûõîäÿùåãî ñèãíàëà çàêîíîäàòåëüíûìè ðåãóëÿöèÿìè (100 ì äëÿ ñåòåé òîïîëîãèè "òî÷êà-ìíîãîòî÷êà" â Ðîññèè), êðàêåð îãðàíè÷åí òîëüêî ìîùíîñòüþ ñâîåãî "æåëåçà", òàê êàê âñ¸ ðàâíî íàðóøàåò çàêîí. Çäåñü ìîæíî âñïîìíèòü è äåøåâûå â èçãîòîâëåíèè ñàìîäåëüíûå "êàíòåííû" ñ áîëüøèì êîýôôèöèåíòîì óñèëåíèÿ âûõîäÿùåãî ñèãíàëà (äàæå è íå ãîâîðÿ î ïðîìûøëåííûõ àíòåííàõ è óñèëèòåëÿõ â ïðîäàæå), è êîììåð÷åñêè äîñòóïíûå áåñïðîâîäíûå êàðòî÷êè çíà÷èòåëüíîé ìîùíîñòè, ðàáîòàþùèå ïîä HostAP èëè madwifi Ëèíóêñ äðàéâåðàìè. Ïðèìåðàìè ïîñëåäíèõ ìîãóò ÿâëÿòüñÿ reliawave êàðòî÷êè, ïðåäëàãàåìûå Äåìàðêòåõîì, ñêàæåì
http://www.demarctech.com/products/reliawa...-g-cardbus.html
http://www.demarctech.com/products/reliawa...cmcia-card.html
http://www.demarctech.com/products/reliawa...i-pci-card.html
Ðàçóìååòñÿ, äëÿ èñïîëüçîâàíèÿ óÿçâèìîñòè "ïåðåõâàòà àññîöèàöèè", àòàêóþùåìó íåò íóæäû îáëàäàòü îäíîé èç "äåôåêòèâíûõ" òî÷åê äîñòóïà - äîñòàòî÷íî âñåãî ëèøü áûòü ñïîñîáíûì ïîñûëàòü Probe Response ôðåéìû ñ MAC àäðåñîì óÿçâèìîãî êëèåíòñêîãî óñòðîéñòâà (ESSID íå èìååò çíà÷åíèÿ!). Äàëåå â ñòàòüå áóäóò ðàññìîòðåíû óòèëèòû, ïîçâîëÿþùèå ýòî äåëàòü áåç îñîáîãî òðóäà. ×òî æå êàñàåòñÿ "äåôåêòèâíûõ" óñòðîéñòâ, ê òàêîâûì îòíîñÿòñÿ íàïðèìåð "Netgear WGR614 v4 wireless router", òî÷êà äîñòóïà "Linksys WAP11 v2.8", íåêîòîðûå òî÷êè äîñòóïà ïðîèçâîäñòâà D-Link è ìíîãèå êëèåíòñêèå êàðòî÷êè ñ Hermes I/II è Prism 2/2.5 ÷èïñåòàìè è ñòàðûìè, íåîáíîâëåííûìè âåðñèÿìè ïðîøèâêè. Ãîâîðÿ æå îá àòàêàõ íà íåàññîöèèðîâàííûå êëèåíòñêèå óñòðîéñòâà â îòñóòñòâèè ëåãèòèìíûõ ñåòåé, âûøåîïèñàííàÿ óÿçâèìîñòü óñòðàíÿåò íåîáõîäèìîñòü ýìóëÿöèè ñåòåé èç ñïèñêà äîâåðÿåìûõ - ëþáîé ESSID íà ëþáîì êàíàëå ñäåëàåò ñâîå òåìíîå äåëî, è íå íàäî äîæèäàòüñÿ ïîñûëêè êëèåíòîì Probe Request ôðåéìîâ è ñìîòðåòü íà èõ ñîäåðæàíèå.
Áåçóñëîâíî, ýòîé óÿçâèìîñòè "ïåðåõâàòà àññîöèàöèè" óæå äâà ãîäà, è ìíîãèå èç òîãäà óÿçâèìûõ óñòðîéñòâ ñåé÷àñ ðàáîòàþò ïîä îáíîâëåííîé ïðîøèâêîé. Òåì íå ìåíåå, å¸ íå ñòîèò ñáðàñûâàòü ñî ñ÷åòîâ. Âî ïåðâûõ, êàê ÷àñòî ïîëüçîâàòåëè ìåíÿþò ïðîøèâêó áåñïðîâîäíûõ êàðòî÷åê? "Åñëè ðàáîòàåò, çà÷åì îáíîâëÿòü?"(Ñ) Ýòî íå îïåðàöèîííàÿ ñèñòåìà è íå âèäèìîå äëÿ ïîëüçîâàòåëÿ ïîïóëÿðíîå ñåòåâîå ïðèëîæåíèå èëè ñåðâèñ. Âî âòîðûõ, íå âñå îáÿçàòåëüíî ïîëüçóþòñÿ 802.11g ñòàíäàðòîì è êëèåíòñêèìè óñòðîéñòâàìè ñ áîëåå íîâûìè ÷èïñåòàìè, òàêèìè êàê Atheros, Realtek è Ðrism54g. Äà è Hermes I/II è Prism 2/2.5 êàðòî÷êè â ñâÿçè ñ íîâûìè ñòàíäàðòàìè è ÷èïñåòàìè ñåé÷àñ çíà÷èòåëüíî ïîäåøåâåëè è áîëåå äîñòóïíû. Ïîïóëÿðíà ëè äî ñèõ ïîð Lucent ORiNOCO Silver PCMCIA êàðòî÷êà ? Äà. Óÿçâèìà ? Àíàëîãè÷íî.  òðåòüèõ, ñàìî íàëè÷èå äàííîé óÿçâèìîñòè äàæå è íå ðàññìàòðèâàëîñü êàê ïðîáëåìà áåçîïàñíîñòè. Îíà áûëà îáíàðóæåíà êàê ñáîé íà 802.11 ñåòÿõ ðàáîòíèêàìè áåñïðîâîäíîãî ïðîâàéäåðà, è èìåííî â ýòîì êà÷åñòâå äîëîæåíà íà ISP-Wireless è broadbandreports.com ôîðóìû, íî íå íà Bugtraq, Packetstorm, â CERT è òàê äàëåå. Òàêèì îáðàçîì, ñîîáùåñòâó ñïåöèàëèñòîâ ïî ñåòåâîé áåçîïàñíîñòè äàííàÿ ïðîáëåìà âåñüìà ìàëîèçâåñòíà. Íî åñòü è äðóãàÿ ïîäîáíàÿ, è åù¸ ìåíåå èçâåñòíàÿ äûðà.
Äàííûå î íåé áûëè îïóáëèêîâàíû òîëüêî íà Sourceforge orinoco-devel ôîðóìå åù¸ â 2003-åì ãîäó, òåì íå ìåíåå îíè íå ïîëó÷èëè îãëàñêè, íå áûëè âîñïðèíÿòû êàê óÿçâèìîñòü, è äëÿ ìíîãèõ Îðèíîêî êàðòî÷åê (Hermes I/II ÷èïñåò) "âîç è íûíå òàì". À èñïîëüçîâàòü ýòîò âàðèàíò "ïåðåõâàòà àññîöèàöèè" ïðåäåëüíî ïðîñòî. Åñëè àòàêóþùèé ïîäíèìàåò àä-õîê ñåòü ñ òàêèì æå ESSID êàê è ó ëåãèòèìíîé òî÷êè äîñòóïà, êëèåíòñêèå óñòðîéñòâà ïðåäïî÷èòàþò àññîöèèðîâàòüñÿ íå ñ ýòîé òî÷êîé äîñòóïà, à ñ õîñòîì àòàêóþùåãî. Âïåðâûå ýòà óÿçâèìîñòü áûëà îáíàðóæåíà êàê ðàç íà íåáåçûçâåñòíîé Lucent ORiNOCO Silver êàðòî÷êå (âåðñèÿ ïðîøèâêè 8.72) ïîä Ëèíóêñîì (äðàéâåð orinoco_cs 0.13b). Îäíàêî, òàê êàê òà æå ñàìàÿ ïðîáëåìà ñóùåñòâóåò ñ ïîäîáíûìè êëèåíòñêèìè êàðòî÷êàìè è ïîä Windows, ëîãè÷íî áûëî áû ïðåäïîëîæèòü ÷òî å¸ èñòî÷íèêîì, êàê è â ïðåäûäóùåì ñëó÷àå, ÿâëÿåòñÿ îøèáêà ïðîèçâîäèòåëÿ â óñòàíîâêàõ ïðîøèâêè óñòðîéñòâà. Èíòåðåñíî, ÷òî ïîñëåäóþùàÿ ïîïûòêà çàñòàâèòü êëèåíòñêóþ êàðòî÷êó ïðèñîåäèíèòüñÿ èìåííî ê òî÷êå äîñòóïà (iwconfig eth1 mode managed) íå âåëà ê ïîëíîöåííîìó ñîåäèíèåíèþ, òî åñòü ïîìèìî "ïåðåõâàòà àññîöèàöèè" èìååòñÿ åù¸ è ïîòåíöèàëüíàÿ àòàêà ïî îòêàçó â îáñëóæèâàíèè. Òàê êàê äàííóþ ïðîáëåìó íèêòî äåòàëüíî íå èçó÷àë, íå èñêëþ÷åíî, ÷òî åñòü è äðóãèå òèïû êëèåíòñêèõ 802.11 óñòðîéñòâ, óÿçâèìûõ ê äàííîé ýëåìåíòàðíîé àòàêå. Ìàëî òîãî, ó÷èòûâàÿ îáùèå êîðíè ïðîèñõîæäåíèÿ 802.11 ÷èïñåòîâ Hermes I/II, Prism 2-2.5, Symbol è Cisco Aironet, ýòî áûëî áû âåñüìà íåóäèâèòåëüíûì è òðåáóåò ñêîðåéøåãî òåñòèðîâàíèÿ.
Âû ìîæåòå êîíå÷íî ñêàçàòü, ÷òî âñ¸ âûøåñêàçàííîå èìååò îòíîøåíèå òîëüêî ê óñòàðåâøèì óñòðîéñòâàì è ñòàðûì âåðñèÿì èõ ïðîøèâêè. Äàâàéòå æå ïîñìîòðèì íà íàáèðàþùåå îãðîìíóþ ïîïóëÿðíîñòü ñîâðåìåííîå êëèåíòñêîå óñòðîéñòâî, à èìåííî - Intel Centrino. Âåðíåå - Intel Pro Wireless 2200B/G ÷èïñåò è åãî ïðîøèâêó. Íà÷íåì ñ òîãî, ÷òî âìåñòî âûñòàâëåíèÿ îïèñàííûõ â ïðîøëîé ÷àñòè ñòàòüè äëèííûõ ïñåâäîñëó÷àéíûõ çíà÷åíèé ESSID, Intel Centrino èñïîëüçóåò ñâîå êðàòêîå çíà÷åíèå ïî óìîë÷àíèþ, a èìåííî "WXYZ" (òàêæå "Sony 802.11 Default SSID" äëÿ Sony Intel Centrino). Centrino â äàííîì ñëó÷àå íå îäèíîê, ê ïðèìåðó Netgear WG511 âûñòàâëÿåò ESSID "Netgear". Ýòî áåçóñëîâíî îáëåã÷àåò çàäà÷ó àòàêóþùåãî, íî ñàìî ïî ñåáå íå íàâðÿäëè ÿâëÿåòñÿ óÿçâèìîñòüþ â ïîëíîì ñìûñëå ýòîãî ñëîâà. À ðåàëüíàÿ óÿçâèìîñòü áûëà îïóáëèêîâàíà íà Bugtraq â ïðîøëîì ìåñÿöå è çàêëþ÷àåòñÿ â òîì, ÷òî ïðè âûñòàâëåííîì íà êëèåíòñêîì óñòðîéñòâå WEPe, êðàêåð ìîæåò çàñòàâèòü óÿçâèìûé õîñò ñîåäèíèòüñÿ ñ àòàêóþùåé òî÷êîé äîñòóïà áåç èñïîëüñîâàíèÿ WEP. Äåëàåòñÿ ýòî ñëåäóþùèì îáðàçîì:
1. Óñòàíàâëèâàåòñÿ ôàëüøèâàÿ òî÷êà äîñòóïà áåç WEPà ñ ESSID, ïîñûëàåìîì â Probe Request ôðåéìàõ Intel Centrino óñòðîéñòâà.
2. Ïîñëå ïîëó÷åíèÿ Probe Response ôðåéìà, óêàçûâàþùåãî, ÷òî WEP íå èñïîëüçóåòñÿ, óÿçâèìîå óñòðîéñòâî òåì íå ìåíåå ïðîäîëæàåò ïðîöåññ àóòåíòèôèêàöèè.
3. Íåñìîòðÿ íà òî, ÷òî êëèåíòñêîå óñòðîéñòâî ïî ïðåæíåìó òðåáóåò èñïîëüçîâàòü WEP â ïîñûëàåìûõ ôðåéìàõ çàïðîñà àóòåíòèêàöèè è àññîöèàöèè, òî÷êà äîñòóïà àòàêóþùåãî "çàñòàâëÿåò" êëèåíòà "îòêàçàòüñÿ" îò èñïîëüçîâàíèÿ WEP ïðîñòî ïîñûëàÿ åìó ôðåéìû îòâåòà àóòåíòèêàöèè è àññîöèàöèè, ãîâîðÿùèå î òîì, ÷òî WEP òî÷êîé äîñòóïà íå èñïîëüçóåòñÿ.
Âóàëÿ, àòàêóåìîå óñòðîéñòâî èãíîðèðóåò ïðîïèñàííûé íà íåì WEP è ñîåäèíåíèå ñ òî÷êîé äîñòóïà àòàêóþùåãî áëàãîïîëó÷íî óñòàíîâëåíî. Äàííàÿ óÿçâèìîñòü ïîëó÷èëà íàçâàíèå "WEP-Client-Communication-Dumbdown", ÷òî ìîæíî ëèòåðàòóðíî ïåðåâåñòè êàê "ñáðîñ WEPà ïðè êîììóíèêàöèè ñ êëèåíòîì".  òðåòüåé è ïîñëåäíåé ÷àñòè ñòàòüè ìû ðàññìîòðèì óòèëèòû äëÿ ïðîâåäåíèÿ îïèñàííûõ â ñòàòüå àòàê à òàêæå ìåòîäû çàùèòû âàøèõ êëèåíòñêèõ óñòðîéñòâ îò ïîäîáíûõ íàïàäåíèé.
 çàêëþ÷èòåëüíîé ÷àñòè äàííîé ñòàòüè ìû ðàññìîòðèì èìåþùèåñÿ óòèëèòû äëÿ àòàê íà êëèåíòñêèå 802.11 óñòðîéñòâà, èõ îñîáåííîñòè, ïðåèìóùåñòâà è íåäîñòàòêè.  ïåðâóþ î÷åðåäü, õîòåëîñü áû ïðèíåñòè èçâèíåíèÿ ÷èòàòåëÿì çà çàäåðæêó ñ âûõîäîì òðåòüåé ÷àñòè ñòàòüè, ñâÿçàííóþ ñ äåëîâûìè ðàçúåçäàìè. Ñ äðóãîé ñòîðîíû, áûëà âîçìîæíîñòü äîïîëíèòåëüíî îòòåñòèðîâàòü îïèñûâàåìûå ïðîãðàììû â ïîëåâûõ óñëîâèÿõ.  ïðîöåññå òåñòèðîâàíèÿ áûë îòëîâëåí ìåëêèé, íî íàçîéëèâûé áàã â Karma tools, êîòîðûé, ñîîòâåòñòâåííî, áóäåò óïîìÿíóò íèæå.
Èòàê, íà÷íåì ñ òðåáîâàíèé ê óòèëèòàì äëÿ àòàê íà 802.11 êëèåíòû. Çíàíèå ýòèõ òðåáîâàíèé ïîëåçíî íå òîëüêî äëÿ ïðàâèëüíîãî âûáîðà è ïîíèìàíèÿ ðàáîòû ïîäîáíûõ ïðîãðàìì, íî è äëÿ èõ ñîâåðøåíñòâîâàíèÿ è ïåðåäåëêè çàèíòåðåñîâàííûìè ýíòóçèàñòàìè.  ïåðâóþ î÷åðåäü, óòèëèòû äëÿ òàêèõ àòàê äîëæíû ïðîâîäèòü äåòàëüíóþ äèññåêöèþ è ñîðòèðîâêó Probe Request ôðåéìîâ äëÿ òîãî, ÷òîáû óçíàòü ê êàêèì ñåòÿì õîòÿò ïîäñîåäèíèòüñÿ îáíàðóæåííûå êëèåíòñêèå óñòðîéñòâà. Ïîä ñîðòèðîâêîé ôðåéìîâ ïðåæäå âñåãî ïîäðàçóìåâàåòñÿ îòðàæåíèå óòèëèòîé ïîñëåäîâàòåëüíîñòè ðàñïîëîæåíèÿ æåëàåìûõ ñåòåé â ÑÏÑ êëèåíòà. Îòâåòîì íà ïîëó÷åííûå Probe Requests äîëæíà ñëóæèòü ãåíåðàöèÿ ïðîèçâîëüíûõ Probe Response ôðåéìîâ, ñîäåðæàùèõ â ñåáå çíà÷åíèÿ ESSID, âîñòðåáîâàííûå àòàêóåìûìè êëèåíòàìè. Ôàêòè÷åñêè, ðå÷ü èäåò î ïðåäíàìåðåííîé ýìóëÿöèè ïîâåäåíèÿ "äåôåêòèâíûõ" òî÷åê äîñòóïà ñ Marvell Libertas è ADMtek ADM8638 ÷èïñåòàìè, óïîìÿíóòûx â ïðåäûäóùåé ÷àñòè ñòàòüè ïðè îáñóæäåíèè àòàê ïåðåõâàòà ñîåäèíåíèÿ. Îäíàêî, Probe Request ôðåéìû íå ïðåäîñòàâëÿþò àòàêóþùåìó èíôîðìàöèþ î ìåðàõ çàùèòû, èñïîëüçóåìûõ ñåòÿìè â ÑÏÑ. Ñëåäîâàòåëüíî, íàøà óòèëèòà òàêæå äîëæíà àíàëèçèðîâàòü ôðåéìû çàïðîñà àóòåíòèôèêàöèè, îòïðàâëÿåìûå êëèåíòñêèìè óñòðîéñòâàìè ïîñëå ïîëó÷åíèÿ èìè Probe Response ôðåéìîâ îò òî÷êè äîñòóïà (â íàøåì ñëó÷àå - ýìóëèðóåìîé àòàêóþùèì äëÿ ïðèñîåäèíåíèÿ ê ñåáå êëèåíòà).
×òî åñëè êëèåíò, ïîñûëàþùèé Probe Request ôðåéìû, óæå àññîöèèðîâàí ê áåñïðîâîäíîé ñåòè ? Ïîäîáíîãî ðîäà ïîâåäåíèå íå ïðîòèâîðå÷èò 802.11 ñòàíäàðòó è ìîæåò áûòü ëåãêî âîñïðîèçâåäåíî ïîëüçîâàòåëåì ïîñðåäñòâîì çàïóñêà ïîèñêà äîñòóïíûõ ñåòåé â êîíôèãóðàöèè áåñïðîâîäíîãî óñòðîéñòâà ïîä Windows èëè êîìàíäû iwlist [interface] scanning ïîä Ëèíóêñîì áóäó÷è óæå ïîäñîåäèíåííûì ê ñåòè. Ìàëî òîãî, íåêîòîðûå êëèåíòñêèå óñòðîéñòâà ïðîäîëæàþò àâòîìàòè÷åñêè ïîñûëàòü ðåãóëÿðíûå Probe Requests è ïîñëå àññîöèàöèè. Òàêîå ïîâåäåíèå òèïè÷íî äëÿ PCMCIA Cisco Aironet êàðòî÷åê, îòïðàâëÿþùèõ Probe Requests íå òîëüêî â àññîöèèðîâàííîì ñîñòîÿíèè, íî è ñðàçó æå ïîñëå ðàñïîçíàíèÿ êàðòî÷êè ñèñòåìîé áåç ïðåäâàðèòåëüíîãî ïîäíÿòèÿ áåñïðîâîäíîãî èíòåðôåéñà ñ ïîìîùüþ òàêèõ êîìàíä, êàê ip èëè ifconfig. Èíòåðåñíî îòìåòèòü, ÷òî â ñòàðûõ âåðñèÿõ Ëèíóêñ ÿäðà äî 2.4.14, êëèåíòñêèå óñòðîéñòâà Cisco Aironet ïîñûëàëè ðåãóëÿðíûå Probe Request ôðåéìû äàæå â ðåæèìå ìîíèòîðèíãà (RFMON), ïðåäîñòàâëÿÿ òåì ñàìûì óíèêàëüíóþ âîçìîæíîñòü îáíàðóæåíèÿ àòàêóþùèõ, ïàññèâíî ïðîñëóøèâàþùèõ 802.11 ñåòè. Ïîìèìî Cisco Aironet, îòïðàâëåíèå Probe Requests â àññîöèèðîâàííîì ñîñòîÿíèè áûëî çàìå÷åíî çà êëèåíòñêèìè óñòðîéñòâàìè íà áàçå ÷èïîâ Öåíòðèíî, ðàáîòàþùèìè ïîä Windows, íî íå ïîä Ëèíóêñîì. Òàêèì îáðàçîì, íàøà óòèëèòà äëÿ áåñïðîâîäíûõ àòàê ïðîòèâ êëèåíòîâ äîëæíà áûòü ñïîñîáíà ê ðàñïîçíàíèþ ñóùåñòâóþùèõ àññîöèàöèé êëèåíò <=> 802.11 ñåòü. Òîãäà, ïðè îáíàðóæåíèè àññîöèàöèè, àòàêóþùèé ñìîæåò åå îáîðâàòü ïîñðåäñòâîì àòàêè ïî îòêàçó â îáñëóæèâàíèè äëÿ ïîñëåäóþùåãî "ïåðåòàñêèâàíèÿ" êëèåíòà íà ñåáÿ. Êëàññè÷åñêèìè ïðèìåðàìè ïîäîáíûõ DoS àòàê ÿâëÿþòñÿ ïîñûëêà ôðåéìîâ äåàóòåíòèôèêàöèè, äåàññîöèàöèè èëè íåêîððåêòíûõ ôðåéìîâ àóòåíòèôèêàöèè à ëÿ fata_jack.
Ïðåäïîëîæèì, âû ïðîñêàíèðîâàëè ýôèð íà ïðåäìåò èùóùèõ àññîöèàöèè óñòðîéñòâ è îáíàðóæèëè ñðàçó íåñêîëüêî ïîäîáíûõ êëèåíòîâ, "æåëàþùèõ" ðàçëè÷íûå ESSID äëÿ ïðèñîåäèíåíèÿ. Ó÷èòûâàÿ îñîáåííîñòè ðàáîòû àëãîðèòìà ïîèñêà áåñïðîâîäíûõ ñåòåé, ýòî íàèáîëåå ÷àñòî âñòðå÷àþùàÿñÿ íà ïðàêòèêå ñèòóàöèÿ. Ðàçíûå êëèåíòñêèå óñòðîéñòâà ïðèñîåäèíÿëèñü ê ðàçëè÷íûì ñåòÿì â ïðîøëîì, êàêèå-òî èç óñòðîéñòâ îáðàçîâàëè àä-õîê óçëû è êàêèå-òî - çàïàðêîâàëèñü ñ äëèííûì ïñåâäîñëó÷àéíûì çíà÷åíèåì ESSID. Ìîæíî ëè "ïîäöåïèòü" ìíîæåñòâî ïîäîáíûõ êëèåíòîâ îäíîâðåìåííî ? Áåçóñëîâíî, åñëè ñîçäàòü òàêîå æå ìíîæåñòâî âèðòóàëüíûõ òî÷åê äîñòóïà ïî õîäó îáíàðóæåíèÿ ESSID, òðåáóåìûõ ýòèìè êëèåíòàìè. À äëÿ òåõ êëèåíòîâ, êîòîðûå îòïðàâëÿþò Probe Request ôðåéìû ñ øèðîêîâåùàòåëüíûì ESSID (ANY), äîëæíà áûòü âèðòóàëüíàÿ òî÷êà äîñòóïà, ïðåäîñòàâëÿþùàÿ èì ñâîé ESSID. Òàêèì îáðàçîì, àòàêóþùèé ìîæåò óñòàíîâèòü åäèíîâðåìåííîå ñîåäèíåíèå ñ áîëüøèì êîëè÷åñòâîì óÿçâèìûõ êëèåíòîâ äëÿ ïðîâåäåíèÿ ìàññîâûõ ñêàíîâ íà ïîðòû è óÿçâèìîñòè, à òàêæå ìàññîâîãî ôèøèíãà ïàðîëåé.
Ãîâîðÿ î ïîñëåäíåì, ýôôåêòèâíàÿ óòèëèòà äëÿ àòàê íà êëèåíòñêèå óñòðîéñòâà äîëæíà ïðåäîñòàâëÿòü ðàçíîîáðàçíûå ôàëüøèâûå ñåðâèñû äëÿ "ïîéìàííûõ" êëèåíòîâ.  ïåðâóþ î÷åðåäü, ðå÷ü èäåò î ôàëüøèâûõ DHCP è DNS ñåðâåðàõ äëÿ âûäà÷è IP àäðåñà æåðòâå è ïåðåíàïðàâëåíèÿ å¸ òðàôèêà ÷åðåç õîñò õàêåðà. Èäåàëüíûì áóäåò ÿâëÿòüñÿ "ïîäñàæèâàíèå" âñåõ êëèåíòîâ íà îäèí äèàïàçîí IP àäðåñîâ. Íå ëèøíèìè òàêæå áóäóò ÿâëÿòüñÿ òàêèå ñåðâèñû, êàê âåá (ñ ôàëüøèâîé ñòðàíè÷êîé äëÿ âõîäà, íàïðèìåð, íà mail.ru, èëè æå ðàçìåùåííûì íà òàêîé ñòðàíè÷êå çëîâðåäíûì ñêðèïòîì äëÿ àòàêè íà óÿçâèìûå áðàóçåðû), SMTP, POP3, IMAP, FTP... çäåñü âîçìîæíîñòè àòàêóþùåãî îãðàíè÷åíû òîëüêî åãî âîîáðàæåíèåì. Ðàçóìååòñÿ, àòàêóþùàÿ óòèëèòà äîëæíà ïðåäîñòàâëÿòü âîçìîæíîñòü íàáëþäåíèÿ çà ïàêåòàìè, ïîñûëàåìûìè æåðòâàìè, è çàïèñè îáíàðóæåííûõ â ýòèõ ïàêåòàõ ïàðîëåé è äðóãîé ïîëåçíîé èíôîðìàöèè. Òåïåðü æå, âîîðóæèâøèñü âûøåïåðå÷èñëåííûì êàê áàçîé äëÿ äàëüíåéøèõ ýêñïåðèìåíòîâ, ïîñìîòðèì íà òî, ÷òî èìååòñÿ íà ïðàêòèêå äëÿ îáùåñòâåííîãî ïîëüçîâàíèÿ.
Áåçóñëîâíî, âñå îïèñàííûå â öèêëå ñòàòåé àòàêè íà êëèåíòñêèå óñòðîéñòâà ìîæíî îñóùåñòâëÿòü è âðó÷íóþ, ïóòåì ïîèìêè ïîñûëàåìûõ Probe Request ôðåéìîâ è íàñòðàèâàíèÿ ïðîãðàììíîé òî÷êè äîñòóïà ñ ïîäõîäÿùèì ESSID äëÿ ïîäñîåäèíåíèÿ êëèåíòà. Äëÿ ðàññìîòðåíèÿ õàðàêòåðèñòèê ïðèñóòñòâóþùèõ â çîíå ïðèåìà êëèåíòîâ äîñòàòî÷íî èñïîëüçîâàòü Kismet, Aircrack airodump ëèáî æå ïðîñòî Ethereal/tcpdump. Åñëè êëèåíò óñïåøíî íå àññîöèèðóåòñÿ, ñìîòðèì íà ôðåéìû çàïðîñà àóòåíòèôèêàöèè â Ethereal/tcpdump è îïðåäåëÿåì, êàêîé ìåòîä àóòåíòèôèêàöèè íåîáõîäèì äàííîìó êëèåíòó. Äàëåå ïåðåõîäèì íà ñëåäóþùóþ â ÑÏÑ ñåòü íå òðåáóþùóþ àóòåíòèôèêàöèè âíå îòêðûòîãî ìåòîäà (ïî ESSID) ëèáî, çà íåèìåíèåì òàêîâîé, ëîìàåì çàïðàøèâàåìûé êëèåíòîì ñïîñîá àóòåíòèôèêàöèè (åñëè âîçìîæíî). Ïîòîì ïîäíèìàåì çàðàíåå ïîäãîòîâëåííûå ôàëüøèâûå DHCP, DNS è ïðî÷èå ñåðâèñû è, ïðè íåîáõîäèìîñòè, âêëþ÷àåì IP forwarding íà àòàêóþùåì õîñòå. Îäíàêî, òàêîé ïîäõîä ãðîìîçäîê, è ÿâíî òðåáóåò àâòîìàòèçàöèè. Êðîìå òîãî, îí îãðàíè÷åí âîçìîæíîñòüþ åäèíîâðåìåííîé àòàêè òîëüêî íà îäíî êëèåíòñêîå óñòðîéñòâî.
Èñòîðè÷åñêè, ïåðâîé óòèëèòîé, ïðåäîñòàâëÿþùåé âîçìîæíîñòü àâòîêîíôèãóðàöèè ïðîãðàìíîé òî÷êè äîñòóïà äëÿ ïðèñîåäèíåíèÿ îáíàðóæåííûõ êëèåíòñêèõ óñòðîéñòâ áûë Hotspotter îò Ìàêñà Ìîçåðà, èçâåñòíîãî òàêæå êàê àâòîðà 802.11 ñíèôôåðà Wellenreiter, äî ñèõ ïîð ïîïóëÿðíîãî ó âëàäåëüöåâ ÊÏÊ ñ óñòàíîâëåííûì Ëèíóêñîì èç-çà ïðåêðàñíîãî ãðàôè÷åñêîãî èíòåðôåéñà. Ïðèíöèï ðàáîòû Hotspotterà î÷åíü ïðîñò - îí ñðàâíèâàåò æåëàåìûå êëèåíòàìè ESSID ñî ñïèñêîì ïîä íàçâàíèåì HOTSPOTLIST, â êîòîðîì íàõîäÿòñÿ ESSID ðàñïðîñòðàíåííûõ õîòñïîòîâ. Ðàçóìååòñÿ, âû ìîæåòå äîïîëíèòü ýòîò ñïèñîê ñâîèìè çíà÷åíèÿìè ðàñïðîñòðàíåííûõ ESSID. Åñëè ESSID êëèåíòà íàéäåí â ñïèñêå, òî áåñïðîâîäíîé èíòåðôåéñ êîíôèãóðèðóåòñÿ êàê òî÷êà äîñòóïà ñ ýòèì ESSID çíà÷åíèåì. Hotspotter èìååò ôëàãè -å è -r äëÿ çàïóñêà êîìàíä ïåðåä è ïîñëå âõîäà èíòåðôåéñà â ðåæèì òî÷êè äîñòóïà, è ðàáîòàåò ñ êàðòî÷êàìè ÷èïñåòîâ Prism 2-2.5 (äðàéâåð HostAP) è Connexant (äðàéâåð Prism54g).  ñâÿçè ñ íàëè÷èåì áîëåå ïðîäâèíóòûõ óòèëèò äëÿ àòàê íà êëèåíòñêèå óñòðîéñòâà, â íàñòîÿùåå âðåìÿ Hotspotter ïðåäñòàâëÿåò ãëàâíûì îáðàçîì èñòîðè÷åñêèé èíòåðåñ. Êðîìå òîãî, îí ïîêà ÿâëÿåòñÿ åäèíñòâåííîé óòèëèòîé ïîäîáíîãî ðîäà, âõîäÿùåé â ïîïóëÿðíûé, ñîáðàííûé óæå óïîìÿíóòûì Ìàêñîì Ìîçåðîì, Security Auditor Ëèíóêñ äèñòðèáóòèâ íà æèâîì CD äëÿ íå èìåþùèõ ïîä ðóêîé ýòó îïåðàöèîííóþ ñèñòåìó è íå æåëàþùèõ å¸ èíñòàëëèðîâàòü.
Çàòåì ãðóïïà Shmoo (ñïàñèáî èì çà Airsnort è RFMON çàïëàòó äëÿ Orinoco äðàéâåðîâ!) âûïóñòèëà íåáåçûçâåñòíûé Airsnarf (
http://airsnarf.shmoo.com/). Airsnarf - ýòî âñåãî ëèøü øåëëñêðèïò, êîíôèãóðèðóåìûé ïîñðåäñòâîì ôàéëà ./cfg/airsnarf.cfg è àâòîìàòèçèðóþùèé çàïóñê ôàëüøèâûõ ñåðâèñîâ äëÿ ïèðàòñêîé òî÷êè äîñòóïà ïîä HostAP íà Prism 2-2.5 êàðòî÷êàõ. Äëÿ åãî ðàáîòû íåîáõîäèìî èìåòü ïðîèíñòàëëèðîâàííûå Apache, iptables, DHCP ñåðâåð, sendmail è Net::DNS Perl ìîäóëü. Ñîîòâåòñòâåííî, îòêîíôèãóðèðîâàííûé è çàïóùåííûé Airsnarf áóäåò âûñòàâëÿòü àòàêóþùóþ ñòàíöèþ êàê øëþç äëÿ îòëîâëåííûõ êëèåíòñêèõ óñòðîéñòâ ñ sendmail â êà÷åñòâå ïðîêñè äëÿ ñáîðà îòïðàâëÿåìîé ïî÷òû è âåá ïðîêñè ñî ñòðàíè÷êîé äëÿ ôèøèíãà ïàðîëåé. Ðàçóìååòñÿ, àòàêóþùåìó ïðèéäåòñÿ ïîðàáîòàòü íàä ñâîèì HTML êîäîì äëÿ òîãî, ÷òîáû ñäåëàòü ýòó ñòðàíè÷êó ïðèåìëåìîé äëÿ óñëîâèé êîíêðåòíîé àòàêè. Òàêæå êàê è Hotspotter, Airsnarf âõîäèò â Security Auditor è, â ñîâîêóïíîñòè, îíè óæå ïðåäîñòàâëÿþò èç ñåáÿ îïðåäåëåííóþ óãðîçó äëÿ íåçàùèùåííûõ êëèåíòñêèõ óñòðîéñòâ (íå çàáóäüòå ïðî -å ôëàã!). Òåì íå ìåíåå, ïîäîáíîãî ðîäà êîìáèíàöèè íå ñïîñîáíû "îòëàâëèâàòü" êëèåíòû ñ äëèííûìè ïñåâäîñëó÷àéíûìè ESSID (â îñîáåííîñòè ïðè íàëè÷èè íåïå÷àòíûõ ñèìâîëîâ â èõ çíà÷åíèÿõ), ðàâíî êàê è êëèåíòû â àä-õîê ðåæèìå. Êðîìå òîãî, õàêåð, âîîðóæåííûé êîìáèíàöèåé Hotspotter/Airsnarf íå ìîæåò ñîçäàâàòü âèðòóàëüíûõ òî÷åê äîñòóïà äëÿ îäíîìîìåíòíîãî ïîäñîåäèíåíèÿ êëèåíòîâ, òðåáóþùèõ ðàçëè÷íûå ESSID çíà÷åíèÿ.
Ïî ñðàâíåíèþ ñ Hotspotter, ProbeMapper îò ThinkSECURE ïðåäñòàâëÿåò çíà÷èòåëüíûé øàã âïåðåä. ProbeMapper ïðîâîäèò äåòàëüíûé àíàëèç ñòàòóñà îáíàðóæèâàåìûõ êëèåíòîâ, âêëþ÷àÿ äèññåêöèþ ôðåéìîâ çàïðîñà àóòåíòèôèêàöèè:
arhontus # probemapper -i eth1 -s
------------------------------------------------------------------------------
ProbeMapper at your service ./probemapper v0.5
© 2005 Christopher Low / c.low[-at-]securitystartshere.net
-------------------------------------------------------------------------------
Client MAC Associated ESSID Enc Auth Pkts Rate(pkts/min)
00:04:e2:80:8c:ca N t-mobile unknown unknown 45 38.97
wireless WEP unknown 58 35.24
Êàê âèäèì, äàííûé êëèåíò íåàññîöèèðîâàí è â ïðîøëîì ïîäêëþ÷àëñÿ ê äâóì ñåòÿì, îäíà èç êîòîðûõ (t-mobile) - ñåòü ðàñïðîñòðàíåííûõ êîììåð÷åñêèõ õîòñïîòîâ, êîòîðàÿ íà íèæíèõ óðîâíÿõ OSI íè÷åì íå çàùèùåíà. Äëÿ ïåðåìàíèâàíèÿ ê ñåáå ýòîãî êîíêðåòíîãî êëèåíòà çàïóñàêåì probemapper -i eth1 -t . Probemapper ñïðàøèâàåò "Would you like to act as an AP for ssid t-mobile [y|N]:". Ýòî èìåííî òî, ÷òî íàì íóæíî, ïîýòîìó îòâå÷àåì "y". Âóàëÿ, êëèåíò ïîäñîåäèíåí. Åñëè æå íàì íå ïîäõîäèò ïåðâûé ïî ñïèñêó ESSID, îòâå÷àåì N è äâèæåìñÿ äàëåå, ïîêóäà íå íàéäåì ïîäõîäÿùèé. Ê ñîæàëåíèþ, Probemapper íå çàïóñêàåò êàêèõ-ëèáî ôàëüøèâûõ ñåðâèñîâ, ïîñåìó àòàêóþùèé äîëæåí èñïîëüçîâàòü -å ôëàã äëÿ çàïóñêà çàðàíåå îòêîíôèãóðèðîâàííîãî àirsnarf ïîñëå âûõîäà â ðåæèì òî÷êè äîñòóïà äëÿ äîñòèæåíèÿ ìàêñèìàëüíîãî ýôôåêòà îò ïîäñîåäèíåíèÿ êëèåíòñêîãî óñòðîéñòâà.
 òî âðåìÿ êàê Probemapper î÷åíü ïðîñò è óäîáåí â èñïîëüçîâàíèè, ó íåãî åñòü äâà íåäîñòàòêà. Âî ïåðâûõ, îí íå ñîçäàåò ìíîæåñòâà âèðòóàëüíûõ òî÷åê äîñòóïà äëÿ ïîäñîåäèíåíèÿ êëèåíòîâ ñ ðàçíûìè ESSID. Âî âòîðûõ, â íàñòîÿùèé ìîìåíò Probemapper ðàáîòàåò òîëüêî ïîä êàðòî÷êàìè ñ Connexant (Prism54g) ÷èïñåòîì, è ÷èñëî òàêèõ PCMCIA óñòðîéñòâ äîñòàòî÷íî îãðàíè÷åíî. Èç ðàñïðîñòðàíåííûõ Connexant PCMCIA êàðòî÷åê, ìû ìîæåì íàçâàòü ðàçâå ÷òî 32-bit Cardbus Senao NL-3054CB, Netgear WG511, Zyxel G-100 è G-110, Zcom XG-300/302 è Sitecom WL-100. Ãîðàçäî áîëåå Connexant ÷èïñåò ðàñïðîñòðàíåí ñðåäè êëèåíòñêèõ 802.11b/g USB óñòðîéñòâ, íî ó íàñ íå áûëî ôèçè÷åñêîé âîçìîæíîñòè ïðîòåñòèðîâàòü ñîâìåñòèìîñòü òàêèõ êëèåíòîâ ñ Probemapper. À âûøåóêàçàííûé ïðèìåð áûë ïîëó÷åí èñïîëüçóÿ PCMCIA êàðòî÷êó Senao NL-3054CB.
Íî íå ñòîèò ïåðåæèâàòü! Karma tools íå òîëüêî ðàáîòàþò ïîä íàèáîëåå ðàñïðîñòðàíåííûì è âåñüìà óäîáíûì äëÿ àòàêóþùåãî Atheros ÷èïñåòîì, íî è íàèáîëåå áëèçêè ê óäîâëåòâîðåíèþ ïåðå÷èñëåííûõ â íà÷àëå ñòàòüè êðèòåðèåâ äëÿ óòèëèò, ïðåäíàçíà÷åííûõ äëÿ àòàê íà 802.11 êëèåíòû.  íàñòîÿùèé ìîìåíò Karma tools ðàáîòàþò ïîä madwifi, íî íå áîëåå íîâûìè madwifi-ng äðàéâåðàìè. Äëÿ ñîçäàíèÿ âèðòóàëüíûõ òî÷åê äîñòóïà íà êàæäûé îáíàðóæåííûé "áåñõîçíûé" êëèåíò, äðàéâåðà íàäî ïðîïàò÷èòü, äëÿ ÷åãî ëó÷øå èñïîëüçîâàòü èñïîëüçîâàííóþ ñîçäàòåëÿìè ïðîãðàììû âåðñèþ madwifi:
arhontus# svn checkout -r '{20060124}'
http://svn.madwifi.org/branches/madwifi-old madwifi
arhontus# patch -p0 < madwifi-KARMA-20060124.diff
arhontus# cd madwifi && make && make install
Áàçîâàÿ êîíôèãóðàöèÿ Karma tools îñóùåñòâëÿåòñÿ ïðè ïîìîùè ôàéëà åtc/karma.xml, ïî óìîë÷àíèþ ñîäåðæàùåãî ñëåäóþùåå:
Àòàêóþùèé ñêîðåå âñåãî èçìåíèò ESSID ñ êarma íà íå÷òî ìåíåå ïîäîçðèòåëüíîå. Ïî ïåðå÷èñëåííûì ìîäóëÿì âèäíî, êàêèå ôàëüøèâûå ñåðâèñû àâòîìàòè÷åñêè çàïóñêàåò Karma tools. EXAMPLE-WEB-EXPLOIT - ýòî âñåãî ëèøü ïóñòàÿ âåá-ñòðàíè÷êà, êîòîðàÿ ìîæåò áûòü çàìåíåíà ñòðàíè÷êîé ñ ëîãèíîì äëÿ ôèøèíãà èëè ñòðàíè÷êîé ñî çëîâðåäíûì ñêðèïòîì äëÿ àòàêè íà êëèåíòñêèå áðàóçåðû. Áåçóñëîâíî, âû âñåãäà ìîæåòå çàõàøèòü íåíóæíûé ìîäóëü, èëè æå èñïîëüçîâàòü çàïëàòó äëÿ Samba ñåðâåðà (samba.patch) ÷òîáû ñîçäàòü ôàëüøèâûé ñîâìåñòíî èñïîëüçóåìûé ðåñóðñ íà ñâîåì õîñòå, íà êîòîðûé áóäóò àâòîìàòè÷åñêè íàïðàâëÿòüñÿ æåðòâû. Ñãåíåðèðóåì æå íåìíîãî íåãàòèâíîé êàðìû:
1. ñòàâèì èíòåðôåéñ â RFMON: bin/monitor-mode.sh ath0
2. çàïóñêàåì áèíàðíèê â src äëÿ íàõîæäåíèÿ êëèåíòñêèõ óñòðîéñòâ: src/karma ath0 (÷åñòíî ãîâîðÿ, â ýòîì ïëàíå íàì ãîðàçäî áîëüøå íðàâèòñÿ airodump ath0 äàþùèé áîëåå ÷åòêîå îïèñàíèå íàéäåííûõ êëèåíòîâ, ðàâíî êàê è ñåòåé)
3. óáåäèâøèñü, ÷òî ìåñòî ðûáíîå, çàïóñêàåì è ñàìó àòàêóþùóþ óòèëèòó èç bin: bin/karma etc/karma.xml. Â èäåàëå äîëæíî ïðîèçîéòè ïðèìåðíî ñëåäóþùåå:
Starting KARMA...
Loading config file etc/karma.xml
ACCESS-POINT is running
DNS-SERVER is running
DHCP-SERVER is running
AccessPoint: 00:04:e2:80:8c:ca associated with SSID arhont-test
POP3-SERVER is running
FTP-SERVER is running
[2006-03-29 21:25:37] INFO WEBrick 1.3.1
[2006-03-29 21:25:37] INFO ruby 1.8.4 (2005-12-24) [i686-linux]
[2006-03-29 21:25:37] INFO WEBrick::HTTPServer#start: pid=26149 port=80
HTTP-SERVER is running
CONTROLLER-SERVLET is running
EXAMPLE-WEB-EXPLOIT is running
Delivering judicious KARMA, hit Control-C to quit.
DNS: 169.254.0.254.32776: 9720 IN::A
www.google.com
DNS: 169.254.0.254.32776: 64608 IN::PTR 7.133.254.169.in-addr.arpa
DNS: 169.254.0.254.32776: 3513 IN::AAAA
www.arhont.com
DNS: 169.254.0.254.32776: 6277 IN::AAAA
www.arhont.com.dmz.arhont.com
DNS: 169.254.0.254.32776: 58987 IN::AAAA
www.arhont.com.arhont.com
DNS: 169.254.0.254.32776: 48417 IN::A
www.arhont.com
169.254.0.254 - - [29/Mar/2006:21:27:07 BST] "GET /example HTTP/1.0"
301 48 - -> /example
DNS: 169.254.0.254.32776: 18218 IN::AAAA
www.arhont.com
DNS: 169.254.0.254.32776: 26478 IN::AAAA
www.arhont.com.dmz.arhont.com
DNS: 169.254.0.254.32776: 27220 IN::AAAA
www.arhont.com.arhont.com
DNS: 169.254.0.254.32776: 14906 IN::A
www.arhont.com
169.254.0.254 - - [29/Mar/2006:21:28:01 BST] "GET / HTTP/1.0" 301 30
FTP: 169.254.0.254 test/password
AccessPoint: 00:04:e2:80:9à:23 associated with SSID t-mobile
AccessPoint: 00:04:e2:74:22:c5 associated with SSID àll your base
 êîíñîëè, â êîòîðîé áûëà çàïóùåíà óòèëèòà, ìû âèäèì MAC àäðåñà ïîéìàííûõ êëèåíòîâ (e.g. "AccessPoint: 00:04:e2:74:22:c5 associated with SSID àll your base"), èõ çàïðîñû íà Google è íàø âåáñàéò (íå óäèâëÿéòåñü - ýòî íå ïîïóëÿðíîñòü, à òåñòîâàÿ ëàáîðàòîðèÿ :-) ïåðåíàïðàâëÿåìûå íà âåáñåðâåð àòàêóþùåãî, à òàêæå çàôèêñèðîâàííûé ëîãèí íà FTP (test/password). Kaê âèäèòå, êëèåíòû ñ çàïóùåííûì dhcpcd àâòîìàòè÷åñêè ïîëó÷àþò IP àäðåñà èç RFC 3033 äèàïàçîíà, è àòàêóþùèé èíòåðôåéñ (ïî óìîë÷àíèþ IP 169.254.133.7) â êà÷åñòâå øëþçà.
Îäíàêî íà ïðàêòèêå âñ¸ ìîæåò áûòü íå òàê ãëàäêî. Karma tools ïîêà åù¸ äîñòàòî÷íî "ñûðûå", è íå óäèâëÿéòåñü, åñëè ïðè çàïóñêå óòèëèòû âû ïîëó÷èòå îøèáêè òèïà "Broken pipe" èëè "undefined method" - ïðîñòî ïåðåçàïóñòèòå êarma íåñêîëüêî ðàç, ïîêà âñ¸ íå çàðàáîòàåò áåç ïîäîáíîãî ðîäà îøèáîê. Íî åñòü óïîìÿíóòûé â ñàìîì íà÷àëå ñòàòüè áàã, îò êîòîðîãî íå èçáàâèòüñÿ ïåðåçàïóñêîì. Äåëî â òîì, ÷òî Karma tools ïèñàëèñü è òåñòèðîâàëèñü íà b/g, à íå a/b/g êàðòî÷êàõ, â òî âðåìÿ êàê ìíîãèå èç âàñ áåçóñëîâíî îáëàäàþò êëèåíòñêèìè óñòðîéñòâàìè, ïîääåðæèâàþùèìè âñå 3 ñòàíäàðòà. Òàê âîò, íà ïîäîáíûõ óñòðîéñòâàõ ïðè çàïóñêå Karma tools âûäàåòñÿ ñëåäóþùàÿ îøèáêà:
ACCESS-POINT is running
Error for wireless request "Set Frequency" (8B04) :
SET failed on device ath0 ; Invalid argument.
Îíà ñâèäåòåëüñòâóåò î òîì, ÷òî âàøà òî÷êà äîñòóïà âñòàëà íà 802.11à ÷àñòîòó (ïðè ýòîì âñå ôàëüøèâûå ñåðâèñû ìîãó áûòü âïîëíå áëàãîïîëó÷íî çàïóùåíû è óòèëèòà îæèäàåò æåðòâ). È äåéñòâèòåëüíî,
arhontus# iwconfig ath0
ath0 IEEE 802.11a ESSID:"karma" Nickname:""
Mode:Master Frequency:5.18 GHz Access Point: 00:07:CD:64:E7:AE
Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3
Ñòàíäàðòíûå êîìàíäû iwconfig freq è iwconfig channel çäåñü íå ïîìîãóò, âçàìåí èñïîëüçóéòå iwpriv mode 2. Óáåäèòåñü â òîì, ÷òî òî÷êà äîñòóïà âåðíóëàñü íà 802.11b/g ÷àñòîòó:
arhontus# iwconfig ath0
ath0 IEEE 802.11b ESSID:"karma" Nickname:""
Mode:Master Frequency:2.412 GHz Access Point: 00:07:CD:64:E7:AE
Çàòåì óñòàíîâèòå ìàêñèìàëüíûå ìîùíîñòü è ÷óâñòâèòåëüíîñòü ñ ïîìîùüþ iwconfig txpower ÕÕÕmW è iwconfig sens Õ/Õ (îáû÷íî 3/3) è ïåðåçàïóñêàéòå bin/karma etc/karma.xml ïîêà óòèëèòà íå çàïóñòèòñÿ áåç îøèáîê. Óáåäèòåñü, ÷òî âñå íóæíûå ôàëüøèâûå ñåðâèñû çàïóùåíû:
arhontus# netstat -plan | grep ruby
tcp 0 0 169.254.133.7:110 0.0.0.0:* LISTEN 20640/ruby
tcp 0 0 169.254.133.7:80 0.0.0.0:* LISTEN 20640/ruby
tcp 0 0 169.254.133.7:21 0.0.0.0:* LISTEN 20640/ruby
udp 0 0 169.254.133.7:53 0.0.0.0:* 20640/ruby
Óäà÷íîé ðûáàëêè!
Ñëåäóåò ñêàçàòü, ÷òî Karma tools ìîæíî èñïîëüçîâàòü è ïîä HostAP äðàéâåðàìè íà êàðòî÷êàõ ñ Prism 2-2.5 ÷èïñåòîì (íå çàáóäüòå ñìåíèòü ath0 íà wlan0 â karma.xml). Íî òîãäà ôóíêöèîíàëüíîñòü óòèëèòû áóäåò íåïîëíîé â ñâÿçè ñ íåâîçìîæíîñòüþ ñîçäàâàòü âèðòóàëüíûå òî÷êè äîñòóïà íà òàêèõ êàðòî÷êàõ è ïîäêëþ÷àòü êëèåíòû ñ ðàçíûìè ESSID îäíîâðåìåííî. Äåëî â òîì, ÷òî áîëåå ñòàðûå 16-òè áèòíûå êëèåíòñêèå óñòðîéñòâà îáðàáàòûâàþò Probe Request ôðåéìû â ïðîøèâêå óñòðîéñòâà, à íå íà óðîâíå åãî äðàéâåðîâ. È ìû íå ìîæåì çàñòàâèòü èõ ïàðàëëåëüíî èñïîëüçîâàòü ìíîæåñòâåííûå çíà÷åíèÿ ESSID èç ïîëó÷àåìûõ Probe Request ôðåéìîâ òàê, êàê ìû äåëàåì ýòî íà áîëåå ñîâðåìåííûõ Atheros ÷èïñåò êàðòî÷êàõ ïðè ïîìîùè madwifi.patch. Òàêèì îáðàçîì, èñïîëüçîâàíèå Prism 2-2.5 óñòðîéñòâ è HostAP äëÿ çàïóñêà Karma tools íå ðåêîììåíäóåòñÿ.
È åù¸ íåñêîëüêî íàáëþäåíèé. Ñêèäûâàòü êëèåíòñêèå óñòðîéñòâà ñ ñåòè, ê êîòîðîé îíè ïîäñîåäèíåíû, íà õîñò ñ çàïóùåííûìè Karma tools âïîëíå âîçìîæíî. Äëÿ ýòîãî, òàê êàê ìû ïðîâîäèì òåñòèðîâàíèå íà Atheros êàðòî÷êå, ëåãêî èñïîëüçîâàòü çàòîïëåíèå êàíàëà, íà êîòîðîì ñèäèò ïîäêëþ÷åííûé êëèåíò, ôðåéìàìè äåàóòåíòèôèêàöèè ñ ïîìîùüþ çàïóùåííîãî â ñîñåäíåé êîíñîëè aireplay èç Aircrack (aireplay -a -c -0 <êîëè÷åñòâî ôðåéìîâ äåàóòåíòèôèêàöèè> ath0). Òàêæå, ñ ïîìîùüþ Karma tools íàì áåç ïðîáëåì óäàëîñü "ñáèòü" WEP ñ Èíòåë Öåíòðèíî êëèåíòà (ñì. ïðåäûäóùóþ ÷àñòü ñòàòüè ïî ïîâîäó àòàêè "ñáðîñ WEPà ïðè êîììóíèêàöèè ñ êëèåíòîì"). Ê ñîæàëåíèþ, Karma tools íå ïîääåðæèâàþò "îòëîâ" êëèåíòîâ â ðåæèìå àä-õîê, íî ýòî íå áåäà. Âêëþ÷åíèå iwconfig ath0 mode ad-hoc ïàðàëëåëüíî ñ aireplay -0 ïî àòàêóåìîìó Orinoco ÷èïñåò êëèåíòó èç ñîñåäíåé êîíñîëè ñäåëàëè ñâîå òåìíîå äåëî, ñáðîñèâ êëèåíòà ñ ëåãèòèìíîé ñåòè è ïðèñîåäèíèâ åãî ê àòàêóþùåìó õîñòó. Òàêèì îáðàçîì, âñå îïèñûâàåìûå â ïðåäûäóùèõ ÷àñòÿõ ñòàòüè àòàêè âïîëíå îñóùåñòâèìû íà ïðàêòèêå.
 çàêëþ÷åíèè, íåñêîëüêî êîììåíòàðèåâ è ðåêîììåíäàöèé ïî çàùèòå áåñïðîâîäíûõ êëèåíòîâ îò àòàê ïîäîáíîãî ðîäà. Òåõíè÷åñêè êëèåíò âíå îïàñíîñòè, åñëè ñ ïîìîùüþ óòèëèòû êîíôèãóðàöèè áåñïðîâîäíîãî óñòðîéñòâà óäàëåíû âñå íåçàùèùåííûå ïðîôèëè ÑÏÑ è îñòàâëåíû òîëüêî ñåòè, ïîäñîåäèíåíèå ê êîòîðûì èäåò ïîä çàùèòîé WPA, æåëàòåëüíî WPA Industry ñ èñïîëüçîâàíèåì 802.1õ è äâóñòîðîííåé àóòåíòèôèêàöèè (EAP-TLS), ïðè÷åì êëèåíòñêèé ñåðòèôèêàò äîëæåí áûòü çàùèùåí ñèëüíûì ïàðîëåì. Òàêæå íåëèøíèìè ÿâëÿþòñÿ óñòàíîâêà ïåðñîíàëüíûõ áðàíäìàóýðîâ íà êëèåíòñêèå óñòðîéñòâà è ïðèëè÷íîãî áåñïðîâîäíîãî IDS â çîíå ïîêðûòèÿ êîðïîðàòèâíîé / îðãàíèçàöèîííîé ñåòè äëÿ îáíàðóæåíèÿ àä-õîê ñîåäèíåíèé è íåñàíêöèîíèðîâàííûõ òî÷åê äîñòóïà, ñìàíèâàþùèõ íà ñåáÿ êëèåíòîâ è ñêèäûâàþùèõ èõ ñ ëåãèòèìíîé ñåòè ñ ïîìîùüþ DoS àòàê. À åù¸ íå çàáóäüòå ïî âîçìîæíîñòè èñïîëüçîâàòü ïîñëåäíèå ìîäåëè êëèåíòñêèõ óñòðîéñòâ (32-bit Cardbus, ÷èïñåòû ñ ïðîãðàììíîé, à íå ïðîøèâî÷íîé èìïëåìåíòàöèåé MAC óðîâíÿ) è ïîñëåäíèå âåðñèè äðàéâåðîâ äëÿ ýòèõ óñòðîéñòâ. Óâû, âñå ïîäîáíûå ìåðû ïðîòèâîäåéñòâèÿ óïèðàþòñÿ â çíà÷èòåëüíûå ïðîáëåìû àäìèíèñòðàòèâíî-îðãàíèçàöèîííîãî ïëàíà, ïî êðàéíåé ìåðå åñëè ðå÷ü èäåò îá îáû÷íûõ ïîëüçîâàòåëÿõ è äîñòàòî÷íî êðóïíîé êîìïàíèè / îðãàíèçàöèè. Äëÿ ñèñòåìíîãî àäìèíèñòðàòîðà äîñòàòî÷íî ñëîæíî ïðîñëåäèòü, ÷òîáû ÑÏÑ âñåõ êëèåíòñêèõ õîñòîâ ïîä åãî îïåêîé íå ñîäåðæàëè íåçàùèùåííûõ ñåòåé. Îñîáåííî, åñëè ýòè õîñòû èñïîëüçóþòñÿ ñîòðóäíèêàìè âíå åãî äîìýéíà îòâåòñòâåííîñòè - äîìà, â êàôå, ãîñòèíèöàõ, àýðîïîðòàõ... Òàêèì îáðàçîì, âî ìíîãèõ ñëó÷àÿõ, íåñìîòðÿ íà ñòàðàíèÿ ñèñòåìíîãî àäìèíèñòðàòîðà, âñ¸ ðàâíî îñòàåòñÿ ëàçåéêà äëÿ áåñïðîâîäíîé êðûñû, ïðåäïî÷èòàþùåé êëèåíòñêèå óñòðîéñòâà íà çàâòðàê.