Как стать автором
Обновить

Комментарии 22

А чего src мак на всех пакетах вашего «шторма» одинаковый?
Мы засылаем широковещательный пинг на определенный компьютер и он начинает штормить, поэтому отображается его MAC-адрес.
Оказалось, что мы заставили 192.168.1.3 отвечать 192.168.1.1, при том, что последний этого не хотел. Самое интересное, то, что это был широковещательный ping и он прошел!

Ага. Это — известная smurf атака.

Я обычно генерирую трафик средствами Ostinato. Довольно мощная штука. Иногда бывает нужно прожечь канал UDP флудом — тоже не проблема. При желании можно выводить из строя сетевое оборудование с незащищенным control plane.
Виндовые машины не отвечают на широковещательный пинг, факт.

habrahabr.ru/post/157207/#reply
Ах, ну да, он же тут ип назначения не широковещательный выставил, мипардон. А мне это приснилось, или разные винды по разному ведут себя в плане фильтрации мак-а назначения?
17:28:52.943065 00:30:48:84:05:94 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 10.xx.1.131 > 10.xx.1.146: ICMP echo request, id 8293, seq 24, length 64
17:28:53.943062 00:30:48:84:05:94 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 10.xx.1.131 > 10.xx.1.146: ICMP echo request, id 8293, seq 25, length 64

Не отвечает. Обычный пинг на родной юникаст-мак проходит. Жертва ХП СП3 + все обновления, что я не так делаю?
Он отвечает только одному, IP которого мы указали, а остальным рассылается request. У нас аналогично ХП СП3 + все обновления.
Я не спуфил ип источника, он в моем случае реальный, значит хост-жертва должен ответить мне. Смотрю снифером — ответа нет.
А не связано ли это с тем, что у вас на хосте назначения снифер запущен? Даже метод такой раньше был сниферы определять. Типа если интерфейс в промискуитет-режиме, он может воспринять пакеты с чужим мак-ом, но своим ип. Но вроде это уже не актуально сейчас.
Решил проверить на другой системе, такой, куда у меня доступ есть по RDP (речь о виндовом хосте назначения). Вдруг не отвечало в примере выше, из-за того, что не доходило, например?

Пингую. IP назначения = IP виндовой машины, IP источника не подделываю, dst mac = ff:ff:ff:ff:ff:ff. Искомый трафик на виндовой машине вижу, ответа на такой пинг она не дает.

Вот вывод windump-a, запущенного в виндовой машине с параметром -e

21:40:29.565254 00:0c:29:22:71:6c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800),
length 98: 10.xx.1.200 > 10.xx.1.217: ICMP echo request, id 37462, seq 3, length 64

21:40:30.565005 00:0c:29:22:71:6c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800),
length 98: 10.xx.1.200 > 10.xx.1.217: ICMP echo request, id 37462, seq 4, length 64

21:40:31.564812 00:0c:29:22:71:6c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800),
length 98: 10.xx.1.200 > 10.xx.1.217: ICMP echo request, id 37462, seq 5, length 64

21:40:32.564529 00:0c:29:22:71:6c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800),
length 98: 10.xx.1.200 > 10.xx.1.217: ICMP echo request, id 37462, seq 6, length 64

Нет ответных icmp. Не повторяется ваш результат.

www.opennet.ru/base/sec/detect_sniff.txt.html

Помни, что никто не должен видеть этот пакет, так как в то время как фрейм проходит по линии, каждый Ethernet адаптер сравнивает MAC адрес со своим собственным MAC адресом. Если ни один не совпадает, они все игнорируют этот фрейм. Если же ты видишь ответ, значит подозреваемый не использовал «фильтр MAC адресов» на карте, и значит прослушивает линию.

Существуют пути защиты от этого. Сейчас, когда эта техника широко опубликована, новые хакеры используют виртуальный фильтр MAC адресов в своем коде. У многих машин (в особенности Windows) обладают MAC фильтрами в драйверах.
Попробовал с Win2008 в качестве хоста назначения — сработало. Отвечает на пинг с широковещательным dst mac.
Так что делайте соответствующие выводы об ограниченности данного метода.
(Для линукса, кстать, тоже получилось — метод работает).
И все таки интересно. В сегменте из 45 машин попробовал icmp на броадкастовый мак — ни одна из ХП СП3 не ответила. В методике уверен, 2008 и линукс отвечают. Жаль, что обсуждение заглохло.
Картинка, на весь экран до хабраката не красиво, особенно, когда она ни о чем.
А за чем для этого использовать такие сложные устройства? hping есть, arping есть. Я понимаю, что в виндоус настолько всё эргономично, что для отправки пакета нужно расчехлять красивую графичесую IDE, но в linux для этого достаточно простенькой команды в шелле.
ifconfig vlan111
vlan111 Link encap:Ethernet HWaddr 00:30:48:84:05:94
inet addr:10.xx.1.131 Bcast:10.xx.1.191 Mask:255.255.255.192

ping -b 10.xx.1.191

WARNING: pinging broadcast address
PING 10.xx.1.191 (10.xx.1.191) 56(84) bytes of data.
64 bytes from 10.xx.1.130: icmp_seq=1 ttl=255 time=0.835 ms
64 bytes from 10.xx.1.129: icmp_seq=1 ttl=255 time=0.885 ms (DUP!)
64 bytes from 10.xx.1.130: icmp_seq=2 ttl=255 time=0.858 ms
64 bytes from 10.xx.1.129: icmp_seq=2 ttl=255 time=0.907 ms (DUP!)
64 bytes from 10.xx.1.130: icmp_seq=3 ttl=255 time=0.834 ms
64 bytes from 10.xx.1.129: icmp_seq=3 ttl=255 time=0.883 ms (DUP!)

17:06:13.086079 00:30:48:84:05:94 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 10.xx.1.131 > 10.xx.1.191: ICMP echo request, id 42581, seq 42, length 64
17:06:13.086851 00:15:77:86:4c:01 > 00:30:48:84:05:94, ethertype IPv4 (0x0800), length 98: 10.xx.1.130 > 10.xx.1.131: ICMP echo reply, id 42581, seq 42, length 64
17:06:13.086950 00:15:77:85:b0:01 > 00:30:48:84:05:94, ethertype IPv4 (0x0800), length 98: 10.xx.1.129 > 10.xx.1.131: ICMP echo reply, id 42581, seq 42, length 64

Ни одна виндовая машина на такой пинг в сегменте не овтечает, что для их сетевого стека совершенно нормально. Линуксовые, нетваре, и роутер -отвечают.

Какие устройства вы считаете сложными? Все это происходило на предмете «Безопасность сетевых протоколов», поэтому было полезно использовать WinPcap, если конечно вы это считаете сложным устройством.
«IP отправителя будет равен 192.168.1.1, а MAC отправителя FF-FF-FF-FF-FF-FF»

Может у меня глаза в кучу, но на скриншоте этого не видно. Мак отправителя там нормальный, а назначения — бродкастовый.
А раз так, то есть повод написать в программе while(1) и наслаждаться DOS-атакой.

С чего взяли, что получится провести DoS? Фактов, подтверждающих такое заявление, в статье я не увидел. Не всякий флуд приводит к DoS.
Отстаньте от человека. Тему он не раскрыл, это факт.
DOS атака проходит, поставили while(1) на отправку пакета, и сеть полностью пропала.
Это обычный широковещательный флуд. Не обязательно подделывать какой-то ип источника, не обязательно использовать ицмп. Флудите на ff:ff:ff:ff:ff:ff чем угодно и сеть так же пострадает от нагрузки и в пределе ляжет. Такое и от неисправных езернет-интерфейсов бывает. Не згя говорят, что L2 сегмент = сегмент отказа.
Для этого есть страховка в виде storm-control, всякие там broadcast level pps и подобное от других вендоров. Претензии же к вашей заметке в том, что она как бы намекает на некий более тонкий механизм. Типа положили избранный хост (хотя этого по факту нет, сами пишете, что сеть полностью ложится).
Создавать сетевые пакеты на низком уровне и задавать период их отсылки можно с помощью утилиты packeth (имеет графический инферфейс, доступна для Win и Linux)

image
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории