Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #91, ИЮЛЬ 2006 г.

Excalibur на Си

Wolf D.A. aka payhash

Хакер, номер #091, стр. 091-128-5


CloseHandle( hThreads[tncount]);

Sleep(SLEEPTIME);

Здесь потоки создаются с помощью функции _beginthreadex, после чего стоит подождать завершения потоков с помощью функции WaitForMultipleObjects, а закрываем их с помощью функции CloseHandle.

Поближе рассмотрим некоторые аргументы функции _beginthreadex.

Параметр &ThreadSynFlood – это адрес функции, которую мы уже определили выше; InitParam – указатель на буфер, в котором содержатся аргументы, передаваемые в функцию ThreadSynFlood;

uThreadIDs – уникальный номер потока, остальные аргументы функции _beginthreadex читаем в MSDN.

Функция _beginthreadex возвращает указатели на HANDLE в массив hThreads[TN], где TN – это номер потока.

Объявляется это все примерно следующим образом:

int tncount; // Счетчик

STRING InitParam[3]; // Аргументы функции

unsigned uThreadIDs[TN]; // Идентификатор потока

HANDLE hThreads[TN]; // HANDLE потока

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

На посошок!

Помнится, в фильме «Хакеры», когда Джои копался в мусорном файле, тамошний администратор что-то говорил по поводу нагрузки на систему с тысячи машин (точное число не помню). Наверняка авторы фильма имели в виду именно такой тип атаки.

Правда, в фильме было и вторжение, а spoofed flood был только отвлечением от глаз. Это, кстати, важно, ведь сетевой flood не стоит расценивать как взлом, это только нанесение вреда системам ЭВМ, что так же, как и взлом, строго карается законом (см. 272, 273, 274 УКРФ).

Интересные моменты

Напоследок рассмотрим еще несколько интересных аспектов.

1. Многие системы коммутаторов, концентраторов и маршрутизаторов от подобного напалма могут просто «наглотаться» сетевого «мусора», и цель не будет достигнута, поэтому важно помнить, что нужно осторожно работать с количеством потоков исходящего трафика. Опытные хакеры распределяют подобный трафик на несколько машин - из различных сегментов сети (про bot net написано не так уж и мало).

2. Необходимо помнить, что WinXP позволяет создавать не больше 10-ти потоков от одного процесса, поэтому лучше использовать w2k.

3. Если на системе стоит программный файрвол, то он может просто не выдержать огромного беспорядочного натиска пакетов. Известно, что при защите с помощью программного файрвола пакет в любом случае доберется до ядра ОС и будет им обработан. Кроме того, не стоит забывать, что файрвол для обработки пакетов тоже использует системные ресурсы.

4. Современные файрволы уровня ядра умеют грамотно «отшить» SYN-атаку. В таких случаях можно попробовать комбинировать SYN-атаку на FIN и RST (но опять же особых результатов это может и не принести). Поэтому все же Nuke type-атаки (ошибки Гейзенберга в ОС и файрволах) по-прежнему будут оставаться актуальными в сетевых войнах.

Огромное спасибо dr.Klouniz aka Лозовский Александр, aBADonn aka Елезаров Сергей и Кустову Михаилу.

Назад на стр. 091-128-4  Содержание