Потужність Scapy

ARP-spoofing

Скрипт відпрацьовує закладену логіку і такі програми, як, наприклад, «cain & abel» не зможуть безшумно провести ARP-Spoofing. Але ми з Вами знаємо, що є особливості реалізації arp у деяких операційних системах, а саме якщо комп'ютеру приходить arp запит із проханням повідомити інформацію про себе, він автоматично довіряє йому та заносить відповідність ip-mac відправника до себе в таблицю. Тобто. наступний пакет так само "отрує" arp кеш.

В цьому випадку наш скрипт не буде ефективним. Виходить, що працюючи зі scapy Ви вивчаєте не лише програму, а й самі протоколи, їхню логіку.

VLAN Hooping

Наступною перевагою scapy, вважаю - гнучкість. Класичним прикладом є ситуація, коли нам необхідно зробити arp-spoofing в сусідньому vlan, нам не доведеться писати нову програму, треба правильно зібрати пакет.

На жаль, навіть у разі успішної реалізації ми отримаємо односторонній зв'язок і для організації MITM усередині сусіднього vlan нам буде потрібен «свій агент».

CAM Table Overflow

Більше прикладів

Далі я покажу приклади практично без опису, вони прості і, можливо, деякі з них будуть відправною точкою для використання scapy у Вашій роботі. Наприклад, вичерпання пула DHCP виглядає наступним чином.

HSRP spoofing src mac – HSRP virtual MAC (можливий діапазон 00:00:0C:9F:F0:00 — 00:00:0C:9F:FF:FF); dst mac – IP v4 multicast MAC (можливий діапазон 01:00:5E:00:00:00 - 01:00:5E:00:00:FF); ip dst – ipv4 multicast address (224.0.0.0/24); priority - Пріоритет маршруту, значення від 0 до 255; inter=3 - відповідно до інтервалу за умовчанням на устаткуванні cisco; всі інші налаштування, аналогічні настройкам за промовчанням обладнання cisco. Такий пакет зробитьattacerIP активним HSRP маршрутом. Різні способи сканування портів. Переглянути результат можна таким чином. Або так.

Наступна позитивна особливість scapy – можливість створювати протоколи самостійно. Протокол DTP не реалізований у рамках штатного набору, зате його можна завантажити як модуль.

Небезпека DTP полягає в тому, що ми можемо самостійно перевести порт комутатора в режим trunk і отримати розширений доступ. Якщо подивитися в вихідні модулі, то побачимо там функцію, яка нам допоможе включити режим trunk на інтерфейсі.

Разом із завантаженням протоколу DTP ми завантажуємо і функцію negotiate_trunk, можемо її виконати прямо з консолі інтерпретатора і результат не змусить себе довго чекати.

Scapy може успішно працювати з бездротовими мережами, у більшості функціонала здатний замінити Aircrack-ng. Наприклад, переглянути список доступних мереж можна так.

Досить просто, давайте щось складніше. Припустимо, що Вам поставлене завдання не допустити бездротових пристроїв на контрольованій території. Як це організувати, якщо не вдаватися до радіочастотних глушників? Одним із варіантів може бути придушення роботи пристроїв користувачів. Організувати це можна шляхом надсилання клієнтам Deauth пакета.

Початківці дослідники можуть спростити підхід до завдань фазінгу протоколів, в scapy реалізований найпростіший функціонал. Наприклад, найпростіший фазинг Beacon пакетів може виглядати так.

Тестування навантаження

Останнім у списку прикладів, але далеко не останнім за значенням, я матиму використання scapy для проведення навантажувального тестування на канали зв'язку. Я в цьому питанні не фахівець і можливо обсяг трафіку, що генерується, не найважливіший параметр, алевсе ж. У scapy це робиться просто, як і багато іншого.

За виконання команди має з'явитися подібний результат.

scapy
На стороні прийому трафіку замір wireshark'ом підтверджує цифри відправника.

scapy

Отже, перерахуємо переваги. 1) Наочність (розуміння того, що відбуватиметься) 2) Гнучкість (пакети можна збирати як завгодно) 3) Розширюваність (створення власних протоколів) 4) Python Сподіваюся, мені вдалося досягти поставленої мети і в разі потреби Ви згадаєте про існування такого інструменту, як scapy. Якщо буде інтерес до статті, я постараюся написати (перекласти та адаптувати) матеріал зі створення власних протоколів у scapy.

P.S. Останню версію scapy можна завантажити зі scapy.net. У статті було використано матеріали офіційної документації scapy.

А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»