Добро пожаловать обратно, мои начинающие кибервоины!
Мы изучили ряд инструментов для манипуляции пакетами на Hackers-Arise, которые могут быть очень эффективны для сканирования сети, например, nmap и hping . Как вы знаете, практически любой инструмент для создания/манипулирования пакетами также можно использовать для DoSing (атак типа «отказ в обслуживании»). Учитывая возможность создания практически любого типа пакета с любыми характеристиками, мы, вероятно, найдём тот, который выведет из строя практически любой хост или сеть.
В этой статье мы добавим инструмент под названием Scapy в ваш арсенал инструментов сканирования и DoS-атак. Scapy — это инструмент для манипуляции пакетами, похожий на nmap и hping, но, в отличие от них, Scapy обладает практически безграничными возможностями настройки. Это не значит, что nmap и hping не поддаются настройке, но их возможности ограничены. Они жертвуют простотой использования ради возможностей настройки. Scapy, с другой стороны, практически не имеет ограничений в настройке, но требует некоторого обучения.
Если вы потратите время на изучение Scapy, вы будете вознаграждены ОЧЕНЬ мощным оружием.
Понимание TCP/IP
При использовании таких инструментов, как Scapy, nmap, hping и других, крайне важно понимать структуру как IP-, так и TCP-заголовков. Без этих фундаментальных знаний этих протоколов это всё равно, что пытаться отправить F-16 в зону боевых действий без базовой лётной подготовки. Это мощное оружие, и вы можете сбросить пару бомб, но, скорее всего, тоже разобьётесь и сгорите.
Кроме того, вы должны быть знакомы с заголовками и пакетами TCP.
Чем лучше вы понимаете структуру этих заголовков и пакетов, тем более успешным хакером вы станете. В противном случае вы останетесь лишь «скрипт-кидди» с мощными инструментами, но без навыков их эффективного использования.
Scapy также очень универсален. Его можно настроить для ARP-спуфинга, отравления ARP-кэша, анализа и анализа пакетов, подобно tcpdump и Wireshark, внедрения фреймов 802.1, подобно aireplay-ng, и декодирования VoIP, подобно Cain и Abel. Scapy написан на Python Филиппом Бионди и способен как создавать, так и декодировать пакеты. Синтаксис немного неясен, но его мощь оправдывает время, потраченное на изучение.
В этой статье я попытаюсь сначала познакомить вас с синтаксисом Scapy, а затем мы применим его для простой DoS-атаки.
Шаг 1 : Запустите Kali и Scapy
Давайте запустим Kali, откроем терминал и наберем:
кали > скапи
После этого мы увидим экран приветствия, похожий на показанный выше. Обратите внимание на подсказку « >>> ». Это означает, что Scapy находится в интерактивном режиме. Все последующие команды будут командами Scapy и будут интерпретироваться интерпретатором Scapy.
Шаг 2 : Просмотр файла конфигурации Scapy
Теперь, когда мы находимся в интерпретаторе Scapy, давайте наберем:
>>> конф
Как вы можете видеть на снимке экрана выше, Scapy открывает свой файл конфигурации, когда мы вводим «conf». В следующем уроке мы поработаем с этим файлом конфигурации в Scapy, но сейчас я просто хочу, чтобы вы знали, где он находится.
Шаг 3 : Создайте пакет
Прелесть Scapy заключается в его способности создавать любые пакеты, которые вы только можете себе представить. Как правило, стек TCP/IP вашей ОС формирует пакет, соответствующий RFC, каждый раз, когда вы хотите обмениваться данными через Интернет. Как хакеры, мы часто хотим создать уникальный пакет, который может не соответствовать RFC, для сбора информации о нашей цели (например, сканирования) или, возможно, для создания DoS-состояния, создав пакет, который приводит к сбою целевой системы (атака на землю, пинг смерти, fragroute и т. д.).
Итак, начнём с создания простого IP-пакета. В Scapy сначала объявляется переменная, представляющая пакет, а затем поочередно определяются атрибуты пакета. Итак, здесь мы определяем наш пакет как «x», а затем присваиваем x несколько атрибутов. Начнём с определения «x» как IP-пакета с TTL, равным 64.
>>> x=IP(ttl=64)
>>> х
Обратите внимание: после того как я создал переменную x и определил её как IP-пакет со временем жизни (TTL), равным 64, я затем повторно ввёл переменную x, и она ответила значением x. В данном случае время жизни IP-пакета = 64.
Теперь добавим к этой переменной x дополнительные атрибуты, например, IP-адреса источника и назначения. Синтаксис аналогичен синтаксису Wireshark или Tcpdump. Атрибут IP-адреса источника представляется как x.src , а атрибут IP-адреса назначения — как x.dst , за которым следует значение в двойных кавычках (“).
>>> x.src="192.168.1.101″
>>> x.dst="192.168.1.122″
Обратите внимание, что после установки каждого значения я проверял значение, просто повторно вводя переменную, а затем атрибут.
Теперь мы создали пакет со следующими атрибутами:
ТТЛ=64
Исходный IP- адрес: 192.168.1.101
IP- адрес назначения — 192.168.1.122
Мы можем проверить это, введя имя переменной x, и Scapy вернет нашу переменную с ее атрибутами.
Шаг 4: Встроенные функции
В Scapy имеется множество встроенных функций. Список этих функций можно получить, набрав:
>>> лсц()
Поскольку список слишком длинный для отображения на одном экране, я показал первую из этих функций выше, а последнюю — ниже. Обратите внимание, что некоторые функции не поместились ни на один из экранов.
Обратите внимание на команду «send» в первой строке второго снимка экрана функций. Именно её мы используем для отправки пакета. Давайте используем её для отправки созданного нами выше пакета с именем «x» и атрибутами TTL=64, IP-адресом источника 192.168.1.101 и IP-адресом назначения 192.168.1.122. Конечно, при отправке этот пакет будет отправлен на IP-адрес назначения с ограничением в 64 перехода (TTL=64).
>>> отправить(x)
Как вы можете видеть, наш специально созданный пакет x был отправлен на IP-адрес назначения.
Мы можем использовать Scapy для создания пакета с практически любым значением в любом из полей заголовка IP или TCP, например, размером окна, флагами, полем фрагментации, значением подтверждения, порядковым номером и т. д.
Шаг 5 : Создайте атаку
Надеюсь, теперь вы понимаете, что Scapy можно использовать для управления любыми полями в пакете TCP/IP. С другими полями мы поработаем в следующем уроке по Scapy.
Теперь давайте воспользуемся этой возможностью для создания вредоносного пакета и отправки его целевой системе. Windows Server 2003 (хотите верьте, хотите нет, но до сих пор существуют тысячи серверов 2003; проверьте Shodan, Censys или используйте Xprobe2 для определения операционной системы) уязвим к атаке «land». Это DoS-атака, при которой целевой системе отправляется пакет слишком большого размера с тем же IP-адресом отправителя и получателя, а также тем же портом отправителя и получателя. Это не всегда приводит к сбою системы, но значительно замедляет её работу. Для веб-серверов замедление работы фактически является DoS-атакой.
Давайте создадим этот пакет атаки по земле в Scapy. Scapy может использовать все атрибуты в одной команде. Итак, создадим наш пакет атаки по земле и отправим его 2000 раз. Для этого наберём:
>>> send(IP(ист=”192.168.1.122″, dst=”192.168.1.122″)/TCP(спорт=135,порт=135), количество=2000)
Давайте разберем эту команду.
Если эти пакеты направлены на Windows Server 2003, это может привести к сбою системы или, по крайней мере, к её значительному замедлению. При замедлении веб-сервера происходит, по сути, DoSe-атака на сайт.
Краткое содержание
Scapy — ещё один мощный инструмент сканирования и DoS-атак в нашем арсенале. Scapy невероятно универсален, позволяя нам решать множество задач с помощью одного этого инструмента. Он обладает практически неограниченными возможностями создания пакетов с любыми характеристиками, которые вы только можете себе представить, и, таким образом, создаёт уникальные техники сканирования и DoS-атак.
Мы изучили ряд инструментов для манипуляции пакетами на Hackers-Arise, которые могут быть очень эффективны для сканирования сети, например, nmap и hping . Как вы знаете, практически любой инструмент для создания/манипулирования пакетами также можно использовать для DoSing (атак типа «отказ в обслуживании»). Учитывая возможность создания практически любого типа пакета с любыми характеристиками, мы, вероятно, найдём тот, который выведет из строя практически любой хост или сеть.
В этой статье мы добавим инструмент под названием Scapy в ваш арсенал инструментов сканирования и DoS-атак. Scapy — это инструмент для манипуляции пакетами, похожий на nmap и hping, но, в отличие от них, Scapy обладает практически безграничными возможностями настройки. Это не значит, что nmap и hping не поддаются настройке, но их возможности ограничены. Они жертвуют простотой использования ради возможностей настройки. Scapy, с другой стороны, практически не имеет ограничений в настройке, но требует некоторого обучения.
Если вы потратите время на изучение Scapy, вы будете вознаграждены ОЧЕНЬ мощным оружием.
Понимание TCP/IP
При использовании таких инструментов, как Scapy, nmap, hping и других, крайне важно понимать структуру как IP-, так и TCP-заголовков. Без этих фундаментальных знаний этих протоколов это всё равно, что пытаться отправить F-16 в зону боевых действий без базовой лётной подготовки. Это мощное оружие, и вы можете сбросить пару бомб, но, скорее всего, тоже разобьётесь и сгорите.
Кроме того, вы должны быть знакомы с заголовками и пакетами TCP.
Чем лучше вы понимаете структуру этих заголовков и пакетов, тем более успешным хакером вы станете. В противном случае вы останетесь лишь «скрипт-кидди» с мощными инструментами, но без навыков их эффективного использования.
Scapy также очень универсален. Его можно настроить для ARP-спуфинга, отравления ARP-кэша, анализа и анализа пакетов, подобно tcpdump и Wireshark, внедрения фреймов 802.1, подобно aireplay-ng, и декодирования VoIP, подобно Cain и Abel. Scapy написан на Python Филиппом Бионди и способен как создавать, так и декодировать пакеты. Синтаксис немного неясен, но его мощь оправдывает время, потраченное на изучение.
В этой статье я попытаюсь сначала познакомить вас с синтаксисом Scapy, а затем мы применим его для простой DoS-атаки.
Шаг 1 : Запустите Kali и Scapy
Давайте запустим Kali, откроем терминал и наберем:
кали > скапи
После этого мы увидим экран приветствия, похожий на показанный выше. Обратите внимание на подсказку « >>> ». Это означает, что Scapy находится в интерактивном режиме. Все последующие команды будут командами Scapy и будут интерпретироваться интерпретатором Scapy.
Шаг 2 : Просмотр файла конфигурации Scapy
Теперь, когда мы находимся в интерпретаторе Scapy, давайте наберем:
>>> конф
Как вы можете видеть на снимке экрана выше, Scapy открывает свой файл конфигурации, когда мы вводим «conf». В следующем уроке мы поработаем с этим файлом конфигурации в Scapy, но сейчас я просто хочу, чтобы вы знали, где он находится.
Шаг 3 : Создайте пакет
Прелесть Scapy заключается в его способности создавать любые пакеты, которые вы только можете себе представить. Как правило, стек TCP/IP вашей ОС формирует пакет, соответствующий RFC, каждый раз, когда вы хотите обмениваться данными через Интернет. Как хакеры, мы часто хотим создать уникальный пакет, который может не соответствовать RFC, для сбора информации о нашей цели (например, сканирования) или, возможно, для создания DoS-состояния, создав пакет, который приводит к сбою целевой системы (атака на землю, пинг смерти, fragroute и т. д.).
Итак, начнём с создания простого IP-пакета. В Scapy сначала объявляется переменная, представляющая пакет, а затем поочередно определяются атрибуты пакета. Итак, здесь мы определяем наш пакет как «x», а затем присваиваем x несколько атрибутов. Начнём с определения «x» как IP-пакета с TTL, равным 64.
>>> x=IP(ttl=64)
>>> х
Обратите внимание: после того как я создал переменную x и определил её как IP-пакет со временем жизни (TTL), равным 64, я затем повторно ввёл переменную x, и она ответила значением x. В данном случае время жизни IP-пакета = 64.
Теперь добавим к этой переменной x дополнительные атрибуты, например, IP-адреса источника и назначения. Синтаксис аналогичен синтаксису Wireshark или Tcpdump. Атрибут IP-адреса источника представляется как x.src , а атрибут IP-адреса назначения — как x.dst , за которым следует значение в двойных кавычках (“).
>>> x.src="192.168.1.101″
>>> x.dst="192.168.1.122″
Обратите внимание, что после установки каждого значения я проверял значение, просто повторно вводя переменную, а затем атрибут.
Теперь мы создали пакет со следующими атрибутами:
ТТЛ=64
Исходный IP- адрес: 192.168.1.101
IP- адрес назначения — 192.168.1.122
Мы можем проверить это, введя имя переменной x, и Scapy вернет нашу переменную с ее атрибутами.
Шаг 4: Встроенные функции
В Scapy имеется множество встроенных функций. Список этих функций можно получить, набрав:
>>> лсц()
Поскольку список слишком длинный для отображения на одном экране, я показал первую из этих функций выше, а последнюю — ниже. Обратите внимание, что некоторые функции не поместились ни на один из экранов.
Обратите внимание на команду «send» в первой строке второго снимка экрана функций. Именно её мы используем для отправки пакета. Давайте используем её для отправки созданного нами выше пакета с именем «x» и атрибутами TTL=64, IP-адресом источника 192.168.1.101 и IP-адресом назначения 192.168.1.122. Конечно, при отправке этот пакет будет отправлен на IP-адрес назначения с ограничением в 64 перехода (TTL=64).
>>> отправить(x)
Как вы можете видеть, наш специально созданный пакет x был отправлен на IP-адрес назначения.
Мы можем использовать Scapy для создания пакета с практически любым значением в любом из полей заголовка IP или TCP, например, размером окна, флагами, полем фрагментации, значением подтверждения, порядковым номером и т. д.
Шаг 5 : Создайте атаку
Надеюсь, теперь вы понимаете, что Scapy можно использовать для управления любыми полями в пакете TCP/IP. С другими полями мы поработаем в следующем уроке по Scapy.
Теперь давайте воспользуемся этой возможностью для создания вредоносного пакета и отправки его целевой системе. Windows Server 2003 (хотите верьте, хотите нет, но до сих пор существуют тысячи серверов 2003; проверьте Shodan, Censys или используйте Xprobe2 для определения операционной системы) уязвим к атаке «land». Это DoS-атака, при которой целевой системе отправляется пакет слишком большого размера с тем же IP-адресом отправителя и получателя, а также тем же портом отправителя и получателя. Это не всегда приводит к сбою системы, но значительно замедляет её работу. Для веб-серверов замедление работы фактически является DoS-атакой.
Давайте создадим этот пакет атаки по земле в Scapy. Scapy может использовать все атрибуты в одной команде. Итак, создадим наш пакет атаки по земле и отправим его 2000 раз. Для этого наберём:
>>> send(IP(ист=”192.168.1.122″, dst=”192.168.1.122″)/TCP(спорт=135,порт=135), количество=2000)
Давайте разберем эту команду.
- отправить - это команда
- IP определяет протокол для IP - адресов
- src="192.168.1.122″ — это IP - адрес источника
- dst="192.168.1.122″ — это IP - адрес назначения
- TCP определяет протокол для портов
- sport= 135 определяет исходный порт
- dport= 135 определяет порт назначения
- count= 2000 определяет количество пакетов , которые мы хотим отправить
Если эти пакеты направлены на Windows Server 2003, это может привести к сбою системы или, по крайней мере, к её значительному замедлению. При замедлении веб-сервера происходит, по сути, DoSe-атака на сайт.
Краткое содержание
Scapy — ещё один мощный инструмент сканирования и DoS-атак в нашем арсенале. Scapy невероятно универсален, позволяя нам решать множество задач с помощью одного этого инструмента. Он обладает практически неограниченными возможностями создания пакетов с любыми характеристиками, которые вы только можете себе представить, и, таким образом, создаёт уникальные техники сканирования и DoS-атак.