Jump to content
Калькуляторы

Виртуальный фильтр MAC-адреса?

А вот интересно. Когда-то, в свое время, как один из способов обнаружения интерфейсов, работающих в режиме промискуитета существовала рекомендация отправки на таковой интерфейс трафика (например icmp-запроса) с искомым IP назначения (родным IP интерфейса, где предположительно работает снифер), но неродным для интерфейса mac-ом.

 

http://newdata.box.sk/2001/jan/sniffing-faq.htm

"...If you see the response, then the suspect wasn't running this "MAC address filter" on the card, and is hence sniffing on the wire."

 

Ну и уже в те далекие годы утвержадось, что

 

"Now that this technique is widely publicized, newer hackers will enabled a virtual MAC address filter in their code. Many machines (notably Windows) have MAC filtering in drivers".

 

И вот тут случайно обнаружил, что для win2008 (пробовал для нескольких серверов) пинг на их родной IP с броадкастовым mac-ом вполне себе проходит и они на него отвечают. В отличие от XP (перепробовал не один десяток доступных систем).

В методике теста уверен. (Кстать, тест для пары linux-систем тоже прошел успешно).

Это что? Особенности дров? Особенности пресловутого нового стека TCP/IP у Windows 7/2008?

Share this post


Link to post
Share on other sites

Тот фильтр, о котором пишут в этом FAQ отфильтровывает пакеты, которые не должны были-бы приниматься сетевой карточкой если-бы она была в нормальном режиме. Очевидно, что пакеты в broacast dst-MAC к таковым не относятся т.к. должны приниматься карточкой вообще всегда.

А на IP-уровне этот пакет вообще белый и пушистый т.к. dst-IP==ip host.

Share this post


Link to post
Share on other sites

Тот фильтр, о котором пишут в этом FAQ отфильтровывает пакеты, которые не должны были-бы приниматься сетевой карточкой если-бы она была в нормальном режиме. Очевидно, что пакеты в broacast dst-MAC к таковым не относятся т.к. должны приниматься карточкой вообще всегда.

А на IP-уровне этот пакет вообще белый и пушистый т.к. dst-IP==ip host.

 

Спасибо конечно. Но сдается мне, что вы не в теме. Вы пишете о режиме промискуитет. Что это такое, я знаю. В этом же ФАК-е пишется еще про другой фильтр, который, при том, что интерфейс продолжает принимать все пакеты (promisc), тем не менее не дает трафику на неродные мак-и передаваться выше по стеку протоколов, и на пинг за счет виртуального фильтра ответа не будет. А снифер при этом работать будет, в том числе и принимая пакеты с чужими мак-ами.

И еще. Если все так просто когда dst-IP==ip host, то почему это не работает на ХП. Это вообще-то ключевой вопрос поста. Я проверил простеньким скриптом более полусотни систем ХП СП3 - для них этот пакет НЕ белый и пушистый. А для w2008 - нормальный.

 

Очевидно, что пакеты в broacast dst-MAC к таковым не относятся т.к. должны приниматься карточкой вообще всегда.

 

Это да. Должны. Но на пинг при условии дст мак=броадкаст однако же не все системы отвечают. У вас есть ответ - почему?

Share this post


Link to post
Share on other sites

Хм. Скорей всего особенности стека TCP/IP.

Вот, нагуглил.

 

http://blog.taddong.com/2010/09/more-wpa2-hole-196-reflections-and.html

Josh mentioned Windows Vista and 7 accept LAN broadcast traffic sent to unicast IP addresses. I confirmed that Windows Vista SP2 under VMware Fusion 3.1.1 (LAN) in fact does accept this kind of traffic for ICMP, TCP or UDP for broadcast and multicast layer-2 addresses. The most surprising fact is that Windows Vista and 7 accept TCP broadcast traffic. New TCP/IP stack implementations can always include hidden gifts!

 

Windows XP SP3 (WLAN) does not accept it for any of the protocols (ICMP, TCP or UDP), no matter the layer-2 address used, broadcast or multicast. So, does this mean XP is "more secure regarding Hole 196" than Vista & 7? ;)

Share this post


Link to post
Share on other sites

И чего тут удивительного?

Сетевуха умеет фильтровать по макам, обычно, и если драйвер эти фильтры настраивает.

Дальше пакет прилетает, сетевуха его принимает, стрипает служебку (контрольные суммы, иногда влан) и отдаёт драйверу.

Драйвер передаёт дальше в стёк.

В стёке может быть проверка = софтварный мак фильтр, который пропускает пакеты на маки компа + броадкаст + подписанный мультикаст.

После этого л2 стрипается и л3 пакет идёт дальше по стёку.

Там уже проверяются ип адреса, контрольные суммы и пр.

А вот на л3 инфа от л2 уже не доступна и проверять соответствие мака ип адресу бывает трудно.

У фри есть флаги привязанные к буферу пакета: мультикаст, броадкаст...и др.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.