ЗАДОВИМО УСЕ, ЩО РУХАЄТЬСЯ!
Четвер, 09 квітня 2015 року.
Огляд софту для DoS атак у правильній осі

Це аж ніяк не добрий дідусь DOS, породжений прадіду Біллом :), все набагато серйозніше. За DoS ти можеш поплатитися карбованцем і навіть втратити свободу. Хочеш дізнатися чому? Тоді читай далі!
ЩО НАМ ВАРТО DDOS ВЛАШТУВАТИ?
Скажу коротко. DoS розшифровується як Denial Of Service, а DDoS - Distributed Denial Of Service. Українською це звучатиме як "Відмова в обслуговуванні" ("Розподілена відмова в обслуговуванні"). Відмова викликається примусово з боку недоброзичливця. Розглянемо приклад: на тачці A встановлено FTP-сервер, яким користується багато людей. В іншій півкулі проживає хакер Вася, якому з якоїсь причини не сподобався FTP-сервер на тачці A. Тому, використовуючи тачку B і програму C, він довго і завзято флудить (ллє тонни сміття) FTP-сервер, поки той не перестане задовольняти бажання своїх клієнтів (ніяких вульгарних думок! ;)). Цим сценарієм ми стисло описали принцип DoS.
Організація DDoS не набагато відрізняється від вищеописаного. Вся відмінність у цьому, що з флуду зарубіжних серваков використовується не один, а кілька серверів (звідси й термін " Розподілений " ). Як ти зрозумів, програми для організації DdoS можуть відрізнятись від софту для DoS, більше того, запустити потік флуду можна лише однією командою з будь-якого сервера, бо софт для спрощення життя хакера ще не перевівся ;).
Будь-який вид атаки піддається класифікації. DoS не є винятком. Осьдва основні класи відмови в обслуговуванні, які можуть мати місце:
1. Забивання каналу на сервері. Мабуть, найулюбленіший спосіб для хакерів. Тут великого розуму не треба. Береться сервер (або кілька серверів) із великим каналом, на яких запускається шкідлива програма. Ця софтина шле купу сміття на сервер-жертву, тим самим забиваючи його пропускну здатність. Якщо загальний канал флудера в кілька разів перевищить канал жертви, сервер втратить зв'язок із зовнішнім світом до припинення атаки.
2. Виведення сервісу з ладу. Пам'ятаєш приклад із FTP-сервером? Завдання хакера було вбити окрему службу. Для цієї справи існує багато софту, який ми розглянемо трохи нижче.
СМЕРТЕЛЬНИЙ СОФТ
Найважливіша проблема для недоброзичливця – вибір програм для атаки. З урахуванням того, що в Інеті їх розвелося безліч, цей вибір досить складний. Розглянемо кілька програм із різними завданнями, щоб максимально яскраво висвітлити можливості DoS. Весь софт був успішно обкатаний у правильній осі, тому роботу під Віндою я не гарантую (але флудити Форточки він буде із задоволенням ;)).
TFN2K - УНІВЕРСАЛЬНИЙ DDOS-ЕР
Отже, перша програма з мого огляду – Tribe FloodNet. Унікальність цієї софтини в тому, що це не що інше, як засіб для масштабного DDoS-інгу. Прога складається з клієнта та сервера. Сервер запускається на заражених (або зомбованих) машинах і чекає наказу з боку клієнта. Після запуску клієнта з нехитрими параметрами всім серверам передаються вступні дані від користувача. Потім починається скидання сміття на сервак-жертву. Як ти розумієш, що більше зомбі (а відповідно і канал на цих серверах), то більша ймовірність успішного флуду машини.
Для запуску сервера-демона особливого розуму не треба.Просто стартуй бінарник td без параметрів. Із клієнтом складніше. Він має низку обов'язкових параметрів, які ти маєш вказати. Наприклад, рядок:
./tfn -P tcp -h 127.0.0.1 -i www.microsoft.com -c 4
./tfn -P tcp -f ./hosts -i www.microsoft.com -c 4
Ось інша справа! Сервер пішов у вниз ;). І все завдяки твоїй невеликій кмітливості та старанням із зомбування тачок. Пора б змилостивитися над Майкрософтом і припинити флуд. Це можна зробити командою:
./tfn -P tcp -f ./hosts -i www.microsoft.com -c 0
цим скасувавши будь-який флуд на заданий сервер.
Якщо запустити клієнт без параметрів, ти зможеш дізнатися про всі типи флуду (їх 10) і вибрати найоптимальніший для тебе =).
XXXXX browse_tfn2k.bmp ПІДПИС: Вибери один із десяти унікальних параметрів DDoS XXXXX
STREAM3.C - ЕФЕКТИВНИЙ DOS-ЕР
Наступною програмою буде софтина від 3APA3A (я гадаю, ти знаєш, хто ця людина). Цей ДоСер флудить сервер FIN/ACK пакетами, внаслідок цього флуду він впадає в депресію і не відповідає на запити. Але якщо твій канал маленький, то відмову в обслуговуванні понесеш ти через справді потужний поток флуду. DoS-ер, як ти напевно зрозумів, написаний на C. У ньому немає нічого хитромудрого: структури сокетів, спроба спуфа source ip і source port і нескінченний цикл відправки сміття на сервер-жертву :), після чого сервер слухняно впадає в зимову сплячку.
XXXXX browse_stream3.bmp ПІДПИС: Stream3 - найкращий DoS-єр XXXXX
На даний момент stream3 не має конкурентів, тому він користується величезною популярністю в колі хакерів.
А ДЛЯ WINDOWS?
Якщо ти уважно читав теорію DoS, то пам'ятаєш, що можна примусово зупинити окремі сервіси і для цього не треба вбивати весьсервер. Наступною програмою буде популярний smbnuke. ДоС-ер прагне вивести з ладу віндовий сервіс SMB, причому робить це досить успішно. Надсилаючи криві пакети на 139-й порт віддаленої тачки, нюкер повністю вбиває сервіс. Причому вразливою системою є не Win95 (як ти, мабуть, подумав), а нові серйозні операційки:
Windows NT 4.0 Workstation/Server Windows 2000 Professional/Advanced Server Windows XP Professional/Home edition.
XXXXX browse_smbnuke.bmp ПІДПИС: Кладемо віндовий smbd ;) XXXXX
ЛОКАЛЬНИЙ DOS
Найлегшим способом виведення з правильної осі є локальний флуд. Причому для виконання завдання нам не потрібні root-права, адже адміністратори практично ніколи не ставлять ліміти на процеси звичайним користувачам;). Цим недоліком ми й скористаємося. Навіщо користуватись чужим софтом (якого дуже багато), давай напишемо свій перший локальний DoS-єр. Для цього нам знадобиться мінімальне знання програмування (наприклад, мови Perl).
Таблиця процесів не гумова:). Заповнюючи її до краю, ми тим самим завдамо величезної шкоди системним ресурсам сервера (особливо, якщо кожен підпроцес буде активно їсти пам'ять сервака).
Напишемо просту програму, яка створюватиме нескінченну кількість нащадків. Нащадки, у свою чергу, запускатимуть будь-який ресурсомісткий системний додаток (наприклад, ping localhost ;)).
Створення нащадка в Perl відбувається точно, як і в Сі. Але не турбуватимемо себе теорією, а перейдемо відразу до кодингу:
while(1) < ## Ідемо в нескінченний цикл unless($p > system("ping localhost"); ## І врубаємо пінгомет > >
Всі! Софтіна готова! Запусти її в бекграунд і скажи серверу: "До побачення!" :). При відсутностілімітів на процеси йому допоможе лише ребут.
XXXXX browse_local.bmp ПІДПИС: Обмежимося лише перевіркою на синтаксис ;) XXXXX
THE FINAL CHORD
Ось і весь огляд. Повір, я намагався охопити всі сторони темного світу DoS та DDoS, вказавши основні типи софту для флуду. Хоча флуд можна зробити без підручних засобів, звичайним ping'ом, запустивши його з прапором -f (заборона фрагментації пакетів), тим самим упустивши сервер нескінченними ICMP-запитами. Якщо ти товаришуєш з мовами програмування, то тобі не важко написати свій ДоС-ер, який поливатиме брудом безліч машин. Як то кажуть, було б бажання, а решта додасться.
XXXXXXX виноски XXXXX DoS розшифровується як Denial Of Service, а DDoS - Distributed Denial Of Service. По-українськи це буде звучати як "Відмова в обслуговуванні" та "Розподілена відмова в обслуговуванні" відповідно. успішного флуду машини. XXXXXX Посилаючи криві пакети на 139-й порт віддаленої тачки, нюкер повністю вбиває сервіс. Причому вразливою системою є не Win95 (як ти, напевно, подумав), а XP і двохтисячник. 7>XXXXXXXXXX
XXXXXXX врізання XXXXXXX
У ТИХОМУ ОМУТІ DOS-ЄРИ ВОДЯТЬСЯ