c o p y r i g h t p r o g r a m m i n g d e s i g n e d by ZORBI
Т р о и ц к г
С с ы л к и
С ч е т ч и к и
..:: Статьи ::..
Проверка устойчивости ОС семейства Windows к DoS-атакам
Ни для кого не секрет, что у большинства юзеров стоит Windows, а его дефолтовые настройки оставляют желать лучшего. Правда, тут не приходится удивляться, ведь эта система никогда и не была безопасной, несмотря на все усилия мелкомягких... И как ты, наверное, догадался, в этой статье я решил провести небольшое исследование устойчивости ОС семейства Windows к DoS-атакам. Конечно, этот материал не претендует на революционность и уникальность, но является познавательным обзорным текстом с минимумом теории и максимумом практики...
Что такое DoS?
Знаю, вопрос глупый :-)... Но для полноты картины стоит об этом рассказать. DoS (Denial of Service - отказ в обслуживании) - это вид атаки, желаемый результат которой либо замедление работы удаленной/локальной системы, либо ее аварийное завершение. Многие думают, что DoS-атаками занимаются дети. Дети-то, конечно, ими занимаются, но что-то серьезное они вряд ли смогут сделать. Вообще, если дефейс бьет по авторитету компании в глазах ее партнеров, то отказ в обслуживании может привести к очень серьезным финансовым потерям. Например, сколько убытков может принести неработоспособность какого-нибудь крупного интернет-магазина в течение нескольких дней? По сути, "реальная" DoS/DDoS атака - спланированное мероприятие, на подготовку которого уходит не одна неделя, и как ни странно, такое событие вызывает не меньший резонанс, чем тот же дефейс...
Практика 95 И TARGA2
Здесь мы побеседуем о многофункциональных программах, реализующих сразу несколько типов DoS-атак (скачивать и компилировать большое количество исходников несколько неудобно). Некоторые атаки на 95-е можно провести с помощью утилиты targa2, написанной еще в 99 году Микстером (Mixter):
В targa2 доступно 11 видов атак. Информацию о них ты всегда сможешь найти в Сети. Теперь приступим к самому тестированию. Wndows 95 OSR2 подвисает (иногда появляется синий экран смерти) при атаках Bonk (1), nestea (4), newtear (5), syndrop (6), teardrop (7), wnnuke (8). Возможно, "чистая" версия 95-х будет уязвима к большему количеству атак, но проверять это предположение я не стал, т.к. задача уже была выполнена... Стоит заметить, что в targa2 несколько неправильно реализованы атаки syndrop, oshare и 1234, при которой Wn95 также радостно подвисает. Поэтому, в случае необходимости, качай дополнительные исходники. А вообще, это необязательно, можно просто использовать значение 0 для проведения сразу всех видов атак:
К сожалению, targa2 подходит только для атаки на Wn95. По результатам моих независимых исследований :-), 95-е окна уязвимы примерно к 20 DoS-атакам!!! Описывать их здесь нет смысла, так что идем дальше...
98/98SE/ME
Как и 95-е, 98-е не отличаются устойчивостью к DoS-атакам. Во-первых, их очень просто отрубить от Сети - для этого есть утилиты kox/kod/trash2 из пакета toast, который содержит более 50 (!) реализаций DoS-атак, направленных не только на windows-based системы, но и на Linux, *BSD, сетевое оборудование и т.д. При использовании вышеописанных атак появляется синий экран смерти, из которого можно выйти после нажатия any key. Сеть же будет нормально функционировать только после перезагрузки. Что ж, запустим toast (обычный скрипт на шелле):
В результате будут использоваться все атаки на Wndows 98/2000/NT. Если это на фиг не сдалось, то проще перейти в каталог bin и запускать отдельные утилиты оттуда. Вот, например, trash2:
# ./trash2 169.254.178.209 5
Повесить 98-е винды вполне реально, например, при помощи oshare 1 gou, koc или pimp/pimp2. Немного сложнее с Windows ME (Millenium Edition). Он не подвержен вышеописанным атакам. Похоже, ребята из микрософта все же подработали стек TCP/IP. Но стоит заметить, что система КРАЙНЕ! уязвима к различным методам флуда. Для этого можно использовать специальные утилиты, например, nbtstream, oshare1 и прочие. Кроме того, помогают программы, проводящие так называемые stress тесты. Например: ISIC, hammerhead и другие. Это еще раз доказывает, что стек TCP/IP указанных ОС до сих пор несовершенен, и лучше всего изолировать их от сети (как глобальной, так и локальной). Системы типа Wn9x/Me давно отжили свой век, но, тем не менее, являются основной ОС на миллионах машин. Более того, они используются для доступа в локальную и/или глобальную сеть. С одной стороны, это печально, с другой же - весьма радостно.
Windows NT/2K/XP
Сейчас уже довольно трудно найти NT 4.0, но все же посмотрим, каким атакам она подвержена. Авось пригодится. NT, например, валит jolt2, который "грубо" перезагружает систему или RFPoison, "останавливающий" services.exe (а от него зависит очень многое). Кстати, некоторые из типов атак targa2 можно применить и на NT, например: land, 1234, oshare. Что касается 2k/XP, здесь микрософт серьезно призадумался над стабильностью стека TCP/IP (да и не только его), т.к. эти системы очень отличаются от всех предыдущих версий (естественно, в лучшую сторону)... Скажу честно - эра однопакетных убийц закончилась. Нет, не совсем умерла. Есть приличное количество исходников, реализующих DoS-атаки, например: smbnuke, jolt2, upnp udp, immunity svchostkill и др. Но они работают 50/50 (могут завесить, а могут и нет). К примеру, upnp udp будет вешать XP только при выключенном ICF (Internet Connection Firewall). immunity svchostkill у меня завесил Win2k SP2, но это почему-то было всего один раз. SP3 протестировать не удалось, правда сам автор утверждает, что именно на SP3 immunity svchostkill и рассчитана. На XP Professional immunity svchostkill вообще не пошел... smbnuke завесил и "чистую" Win2k, а также W2k + SP2. jolt2 полностью "замораживает" W2k/W2k SP2, но это происходит только во время атаки, т.е. если убить процесс, то система продолжает нормально функционировать. Есть еще и другие DoS-утилиты, но, к большому сожалению, они написаны под Win32. Это будет весьма тормозящим фактором, особенно с учетом того, что большинство серверов, где тестят все эти фишки, работают под никсами.
Любая сетевая операционная система подвержена флуд-атакам. Некоторые системы справляются с этим лучше, некоторые хуже. Wndows относится ко второму типу (а ты чего ожидал?). Но ее стабильность увеличивается по схеме "9x -> Me -> NT -> 2k -> XP" (схема, конечно, относительная). Тем не менее, если у кого-нибудь есть широкий канал, то зафлудить windows-based систему не составит никакого труда. Если же такого канала нет, то можно пойти другим путем, например, применить атаку типа Smurf.
Будущее DoS(мое ИМХО)
Эра однопакетных убийц закончилась, но время от времени Сеть еще будут сотрясать подобные исходники. Так называемые "системно-направленные атаки" стали менее интересными, потому что не дают стопроцентной гарантии успеха (особенно, если дело касается 2k/XP). Все идет к разрастанию различных методов флуда и DDoS. Именно эти атаки дают наилучший результат при грамотном подходе.
Х-РЕЛИЗ: DTDOS
И на закуску от Х: утилита dtdos. Это простенький шелл-скрипт, демонстрирующий различные уязвимости ОС Wndows (применительно к DoS). Он объединяет возможности пакетов datapool (by spender ) и toast (by Gridmark ). Некоторые программы из этих пакетов были удалены либо из-за неработоспособности, либо из-за дублирования (повторные программные реализации одной DoS-атаки). Кроме того, из пакета я убрал DoS'еры под сетевое оборудование и системы Linux/*BSD. dtdos создана для проверки уязвимости удаленных систем. Она проводит следующие атаки на 95 винды: fawx, trash, trash2, bloop, flushot, syndrop, 1234, boink, teardrop, bonk, nestea2, nestea, newtear, winnuke, killwin, jaypee.
Некоторые приводят к мертвому зависанию, другие же отрубают от Сети. Лекарство - перезагрузка. Все это добро тестировались на Wndows 95 OSR2. Причем не на "голой" системе, а вместе с сетевой защитой. Вот результаты:
Фаервол
Версия
Результат
AtGuard
3.1
виснет намертво
Kerio Personal Firewall
2.1.0
виснет намертво
FobiaSoft Guardian
2.0
виснет намертво
Под 98/98SE задействованы атаки: oshare, pimp2, koc, kod, pimp, trash2. Все реализации тестировались на Wndows 98/98 SE (Second Edition). Под системы NT/2k/XP добавлено immunity svchostkill, smbnuke, xp3me и jolt2. Кроме того, использовано более 10 утилит для флуда. Вот пример использования:
# ./dtdos
dtdos v0.1beta by stalsen <stalsen@real.xakep.ru>
1 - Wn 95 DoS
2 - Wn 98/98SE/Me DoS
3 - Wn NT/2k/XP DoS
4 - Wn 9x/Me/NT/2k flood
# ./dtdos [win98 ip or hostname] [spoofed addr] 2
- необходимо завесить машину с Wn98 _
# ./dtdos [win98 ip or hostname] [spoofed addr] 3
- цель - NT/2k/XP. _
Параметр [spoofed addr] будет передаваться только программам, поддерживающим данную возможность. Ты также можешь обновлять dtdos, достаточно скачать из Сети какой-нибудь исходник DoS-реализации, скомпилировать его и добавить в скрипт.
Выводы
Решение проблемы DoS, в принципе, довольно простое (заметь, речь идет не о DDoS и не о флу-де) - установка необходимых патчей и обеспечение хотя бы минимальной сетевой защиты (например, установка фаервола или системы обнаружения атак). Также необходимо переходить на более свежие версии Wndows. Поэтому, если ты счастливый обладатель серии 95/98/Me, тебя можно только поздравить и посоветовать установить 2k/XP. А вообще, главное - следить за багтраком, читать новости и вовремя ставить заплатки. Тогда ты будешь недоступен для сетевых подонков.