18 декабря 2001 г. я заметил чрезмерно высокую загрузку канала связи.
Монитор сети показывал большое число бессмысленных IGMP-пакетов примерно с 20
IP-адресов. Происходящее квалифицируется как DDoS-атака, то есть атака с
большого количества источников, призванная вывести систему из строя. В
моем случае атака привела к тому, что четырехмегабитовый канал провайдера
(канал, позволяющий качать 512 килобайт в секунду — не каждый веб-сервер
может похвастаться такой толщиной канала) был временно выведен из строя.

Единственный способ борьбы с флудом — закрыть его на том уровне, на котором
провайдер выдерживает такой трафик. Пришлось обращаться в Ростелеком
(межрегиональный провайдер) с просьбой отсоединить наш хост от
Internet. Окончательный результат — я остался без интернета, плюс был
причинен материальный ущерб (оплата за трафик). Никто не брал на себя ответственность
за происшедшее, так что мне сильно захотелось вычислить
автора нападения.

Как вы думаете, полезно ли просматривать сотни мегабайт пришедшего мусора?
Оказалось, что да, это позволило выяснить метод атаки и даже вычислить
организатора…

Вообще говоря, послать мусор невозможно. API не предусматривает того, что
программисту не важно, что именно слать, и в обязательном порядке требует
указывать массив данных, который нужно слать. Так уж сглючило 
уважаемого программиста-создателя атакующей программы, что в этом массиве оказались
интересные данные, которые программа любезно шлет атакуемому.

Вот некоторые примеры (все данные извращены).

:DJ_KOZEL!pici@6.8.2.3 PRIVMSG #r0x :1.2.3.4 — igmp кранты тебе

Фразы такого вида получает IRC-клиент (программа, подключенная к чат-серверу),
когда участник с ником DJ_KOZEL произносит в комнате #r0x такую фразу. Такая
фраза многократно встречается в пакетах, пришедших с разных адресов, и можно
догадаться, что в комнате с именем #r0x сидят IRC-боты (программы-роботы),
которые флудят адрес 1.2.3.4 (в оригинале тут был _мой_ адрес) и хвастаются
этим.

Где же находится комната #r0x? Тут помог другой просочившийся во флуд
кусочек текста:

:hacker01d.servak.org 366 REPLY #r0x :End of /NAMES list.

Так отвечает IRC-сервер, когда ты входишь в комнату
#r0x. В тексте видно, как зовут сервер (имя сервера также изменено). Я смог
подсоединиться к этому серверу и обнаружил на нем такую комнату, где тусуется
куча ботов —  сервер не был подключен к глобальной IRC-сети, а использовался
«узким кругом лиц» для своих целей.

Крутого хацкера, устроившего на меня такую 31337 атаку,
тоже удалось вычислить. Вот затесавшаяся во флуд фраза, соответствующая 
его IRC-идентификации (данные опять же извращены, чтобы избежать
обвинений в адрес кого-бы-то-ни-было):

:Orangutang!hidex@fra-tgn-o…

Окончательная картина ясна. На взломанные компьютеры по всему миру
устанавливаются боты, задача которых — сидеть в какой-нибудь комнате на никому
не известном сервере и ждать команд от хозяев. Когда хозяевам хочется, они тоже
заходят в комнату и произносят условную фразу, например, «зафлуди 1.2.3.4».
После этого боты начинают слать мусор на указанный адрес, подтверждая свои
действия словами «1.2.3.4 — igmp кранты тебе», и адресу на самом деле приходят
кранты, так как при достаточном количестве задействованных ботов мощность 
флуда может быть насколько угодно большой. И даже вовсе не обязательно взламывать
компьютеры, на которые размещаются боты — можно попросить знакомых админов
поставить их, не рассказывая подробностей 🙂

«Обычный» бот (без зловредных функций), не важно, написан он на перле, си,
дельфи или скриптовом языке, может быть доработан любым 31337 программером
до бота с поддержкой флуда всего за несколько минут. Для примера — скрипт
Mirc, который, услышав в любой комнате фразу «прикончи его», начинает флудить
DNS-сервер, отвечающий за сайт www.site.ru. Как вы можете видеть,
скрипт состоит аж из трех строчек 🙂

on 1: text:прикончи его:#:{
/timer1 0 0 /sockudp floodsock 127.0.0.1 58 it’s a flood!
}

Осуществить то же на языке программирования более низкого уровня — несколько
сложнее, но тоже требует максимум десятка строчек кода. Если установить
десять-двадцать таких ботов на достаточно толстые каналы (хотя бы 64 K), то
можно в любой момент заблокировать этот сайт (и любой другой — вопрос только в
толщине канала и количестве ботов). Есть и нехороший вариант — тихонько
впаривать такие скрипты приятелям, не владеющим программированием в Mirc,
вместе с симпатичным набором скриптов, красиво
пишущих текст, ведущих логи и т.п. Вот вам и элитный DDoS 😉

Оставить мнение

Check Also

10 научно-фантастических комиксов для тех, кто не читает комиксы и не любит супергероев

В то время как фильмы по комиксам бьют все возможные рекорды кассовых сборов, сами комиксы…