Сделай Сам Свою Работу на 5

Уязвимы: все непропатченные оси





Тип: маршрутизация

Поднимемся на уровень выше - нас ждут многочисленные баги протокола IP. Land работает следующим образом: на атакуемую машину отправляется пакет TCP SYN с секретом. Отличие SYN-пакета от обычного в установленном бите синхронизации - это означает, что пакет будет гордым представителем новой цепочки данных. А секрет его вот в чем: адреса отправителя и получателя совпадают, а равно совпадает и порт передачи. В итоге получивший такой пакетик комп немедленно отправит подтверждение: готов к связи и все такое. Только отправит он его себе %). А получив, надолго задумается - на хрена ему коннект с собой, любимым? Тем более, что он его не заказывал... Снова приятный эффект висяка. Жалко, что все уже знают об этом нехитром способе DoS'a. Проапгрейженный TCP/IP стек не будет реагировать на пакеты, исходящие от своего же компа, а мудрые маршрутизаторы могут запросто не пропустить глючное послание смерти :(. А когда-то Land рулил немерено. Кстати, на его примере очень хорошо видно, КАК надо бороться с 3.14zDoS'ами - левые пакеты просто не доходят до жертв из-за мудрой работы сети на аппаратном уровне. Так что надо становиться умнее и творить зло-атаки нестандартными средствами.



SYN Flood

Уязвимы: все, кроме Linux и Solaris

Тип: полоса пропускания + ошибки программирования

Вот и обещанное зло без хитростей и левостей. В этой атаке главное оружие - самые обыкновенные пакеты синхронизации, о которых мы только что вспоминали (TCP SYN). Чтобы понять все прелести этого DoS'a, углубимся в его техническую сторону. После получения первого пакета из цепочки (SYN) комп должен послать отправителю подтверждение на прием данных (пакет SYN-ACK), мол, готов к труду и обороне. Главная бага в том, что, послав злосчастное подтверждение, жертва будет ждать на него ответа (пакет ACK) довольно долго и прервет процесс установки связи только тогда, когда пройдет отведенный на коннект промежуток времени. Как ты, видимо, уже догадался, ответ не придет никогда :), потому что в пакетах кулхацкера стоит инвалидный обратный адрес, то есть айпишник отключенного от сети компа. Помимо основного эффекта - переполнения буфера из-за огромного числа "полуоткрытых" соединений, которые место занимают, а данные не передают - можно запросто зафлудить канал определенного протокола. Этим часто пользуются, чтобы прикрыть доступ к чужому сайту, фтпшнику или клиенту peer2peer: система будет заниматься ложными соединениями, а на реальные у нее не хватит места и времени. Против линуха такая атака принципиально не прокатит - он не сохраняет статусы соединения с одним и тем же компом в таблице, а просто отвечает на запросы. В итоге реальные соединения проходят без проблем, а леваки отсеиваются сами :). Винды же можно защитить только одним способом - ограничить количество соединений файрволом (это спасет от DoS'a, но не от флуда канала).



WinNuke

Уязвимы: Win9x+WinNT

Тип: ошибки программирования

После распространения ВинНюка цифра 139 стала даже более известной, чем 31337 :). Уж что-что, а нюкер держал в руках каждый. Но при этом многие хаксоры, успешно применявшие нюк, не знают элементарных принципов его работы :(. Будем разбираться. Nuke пользуется страшной нелюбовью 139 порта NetBIOS к нестандартному содержанию пакетов (кто же знал при проектировке, что нехорошие люди будут совать туда всякий мусор?). На уровне сети все пакеты вполне ожидаемы, и система спокойно принимает ответы на свои запросы. Если же пакет пришел сам по себе, да еще и забит какой-то мурью, компу придется несладко. Помимо уже известных тебе TCP-пакетов SYN и ACK, существуют пакеты URGENT - срочные данные о работе сети. Нюкер генерирует URGENT-пакеты с произвольным содержанием (изначально в них лежала фраза "nuke me" :)), помеченные как сообщение OoB (out of band, превышение пропускной способности сети). Получив такой пакетик, жертва не врубается (какое на хрен переполнение? все ж нормально!) и, в силу кривизны рук программеров MS, умирает с демонстрацией BSoD. Кстати, история борьбы MS vs Nuke до жути забавна: первая заплатка просто фильтровала пакеты, содержащие "nuke me". На что кулхацкеры ответили новой версией нюкера, в которой фразу для посылки можно было задать вручную :). Только после этого появился нормальный апдейт, проверяющий правильность пакетов, приходящих на 139 порт.



CPUHog

Уязвимы: WinNT

Тип: недостаток ресурсов

Все гениальное просто. Взглянув на CPUHog, начинаешь понимать всю глубину этой фразы, ибо атака эта родилась от криворукого программера и бажной операционки :). Всем известно, что под NT у процессов пользователя есть 16 уровней приоритета, и задавать эти уровни можно прямо из прог. То есть злобный хацкер может создать прогу, которая выделяла бы себе наивысший приоритет (16) и не отдавала процессорное время никому. Даже диспетчеру задач :). Самый простой вариант такой проги:

SetThreadPriority(GetCurrentThread(), thread_priority_time_critical);

while(1);

Выставили высший приоритет и пошли мучить проц бесконечным циклом :). Снять задачу нельзя, можно только ребутнуться. Учитывая возможность установления шестнадцатого приоритета из апплета ActiveX или модуля Нетскапы, а также из cgi-скриптов, есть только одна рекомендация - юзать связку w2k-Opera. Особые извращенцы могут запускать диспетчер задач с высшим приоритетом, это поможет вытащить CPUHog из памяти. Хотя все это не избавляет Hog'a от его гениальной простоты ;).

Jolt2

Уязвимы: ВСЕ винды, BeOs, большинство маршрутизаторов

Тип: недостаток ресурсов

Побродив по экзотике стандартных атак, мы все равно вернулись к старой доброй фрагментации пакетов. Jolt позволяет мучить мощные машины, сидящие на широких каналах, с обычного модема, в этом его большое преимущество перед другими фрагментными атаками. При помощи маленького эксплойта на жертву обрушивается поток одинаковых фрагментов пакетов, собрать которые невозможно. Но система этого не знает, поэтому раз за разом наступает на одни и те же грабли, отбирая у процессора тучу ресурсов. Детально атака выглядит так: каждый из посланных фрагментов пакета имеет длину в 29 байт, однако в заголовке указано, что длина его - 68. Так как 20 байт - это служебная информация, получается, что данных во фрагменте лежит 48 байт (хотя реально их всего 9). Каждый из фрагментов нахально заявляет, что он последний в цепочке, а перед ним прошло уже 65520 байт инфы. На самом деле, все вполне законно, пакеты длиной в 65529 байт вполне легальны, но система оперирует не реальными данными, а данными из заголовка. Поэтому для нее общий размер большого пакета, который ей надо было бы собрать, будет равен 65520+48=65568, а это превышает максимальную длину IP-пакета. Вот такой хитровымученный глюк. Тратя все процессорное время на анализ таких пакетов, комп будет не в состоянии заниматься чем-то еще. Несмотря на то, что некоторые файрволы ловят такие битые пакеты, атака на непропатченные системы может быть вполне успешна.

RPC Locator

Уязвимы: WinNT

Тип: недостаток ресурсов

Было время, когда этой атакой скромные дайлапщики валили мегатонные сервера на NT. Простейшим способом (о нем ниже) убивались RPC, ISS и DNS службы, а процессор оставался перегруженным до ребута. Метод простой - прителнетиться к порту службы (135 - RPC, 1031 - ISS, 53 - DNS) и прогнать туда любую пургу объемом больше 10 символов. Все, служба напрягает проц в попытках узнать, что же у нее спрашивают, сервак тормозит, админ жмет Reset %). А используя мелкие утилиты с говорящими именами типа PortFuck, можно повторять этот процесс раз за разом. В итоге один маленький, но злобный чел с коннектом в 19200 мог убить сервак на все время своего сидения в Инете - просто в фоне у него раз в пять минут кидался глючный запрос серверу. И тот либо тормозил, либо постоянно ребутался админом.

Bubonic

Уязвимы: Win98+Win2k+Linux (!)

Тип: насыщение полосы пропускания + недостаток ресурсов + ошибки программирования

Современная DoS-атака, которая напрочь вешает Win9x и заставляет не по-детски тормозить винтукей и некоторые реализации Линуха. Суть атаки заключается в массовой отсылке жертве туч IP-пакетов со случайными данными, которые на самом деле IP-пакетами не являются %). Заморочено, но тем не менее очень эффективно. Посланные пакеты создают в сети атакуемой машины дикое число коллизий, тормозя и работу сети в целом. Непонятно, почему пакеты с абсолютно левым содержанием не отcеиваются, а проходят на обработку даже в 2000х с сервиспаком. Но это проблемы MS, не так ли :)? Нас должна радовать возможность указать IP для подмены прямо в командной строке эксплойта, такая фича есть не у многих. Поскольку другие эксплойты реальными средствами реально шлют реальные пакеты, которые отличаются только специфическим содержанием, подделать в них исходный айпишник - большая проблема. А Бубоник просто генерит пакеты произвольного наполнения и закидывает их жертве :). Грубая сила доказывает свое превосходство над интеллектом :).

TCP/IP Incorrect

Уязвимы: WinNT+9x+ME

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.