Надеюсь, что такое DDoS тебе рассказывать не надо. Если надо, вон из класса. В этой статье мы не будем обсуждать примитивные атаки многотысячных ботнетов, приводящие к отказу оборудования. Это уже в прошлом.
Сегодня я расскажу про умный DDoS. А именно про атаки L7, или атаки уровня приложения. Я расскажу, как с помощью небольшого скрипта на Python и фреймворка Selenium полностью имитировать поведение реальных пользователей. Такой подход реализуется путём управления реальным браузером. Это позволяет создать механизм, максимально похожий на поведение человека, с которым бессильны большинство самых продвинутых методов защиты.
Для проведения наших тестов не потребуется никаких ботнетов. Все необходимые ресурсы мы абсолютно бесплатно возьмём у Google, Amazon или Microsoft. У каждого из этих провайдеров есть возможность попробовать их услуги бесплатно. Например, Google с небольшими ограничениями предоставляет пробный период в 3 месяца и кредит в 300 долларов. Этого вполне хватит, чтобы разнести в пух и прах вполне серьёзный ресурс. Информация о том, как получать халяву и настраивать облачные инстансы, выходит за рамки этой статьи.
Инструмент, который мы будем делать, это простейший booter или stresser, скрипт для тестирования допустимой нагрузки на сайт. Для того чтобы полноценно протестировать даже достаточно крупные ресурсы, понадобится 5-10 инстансов с 2-4 процессорами и 4 гигабайтами памяти. Понятно, что больше лучше. Желательно брать инстансы полегче из-за ограничений на исходящий трафик в большинстве облачных сервисов.
Selenium подходит не только для DDoS. Более того, я бы назвал DDoS с помощью этого фреймворка просто варварством. Selenium справляется с намного более изысканными задачами, такими как парсинг сложных закрытых ресурсов или накрутка рекламы, в том числе на YouTube. Это доказал на практике Александр Жуков, создатель Methbot, основой которого как раз и являлся Selenium. Кстати, Жукова, арестованного и представшего перед судом в США, недавно признали виновным по всем обвинениям. Но это уже другая история.
Справедливости ради следует заметить, что Selenium не единственный инструмент контроля браузеров на рынке. Помимо Selenium для подобных задач можно использовать Puppeteer и его адаптацию на Python, Pyppeteer, которые тоже отлично зарекомендовали себя.
Что писать
Загружаем Python, устанавливаем все зависимости, качаем ChromeDriver. Помимо самого Selenium, мы будем использовать Concurrent Futures для обеспечения многопоточности. Скрипт загружает заданное количество потоков Google Chrome, каждый из которых выгребает ссылки и тем самым плотно нагружает атакуемый сайт. Для достижения лучшего эффекта рекомендуется нагружать тестируемый ресурс сложными запросами, например к функции поиска или сложной выборки.
В действенности метода можете не сомневаться. С различными модификациями этот простенький скрипт позволяет достаточно успешно тестировать ресурсы, размещённые даже на защищённых сервисах типа Cloudflare, Varity или DDoS Guard. Однако скорее всего понадобятся прокси и дополнительные инструменты, разгадывающие капчу.
Поверьте, при правильном использовании этот скрипт заставит взяться за голову даже самых искушённых админов и самые изощрённые сервисы защиты от DDoS.
Важно
Использование таких методов для проведения реальных атак является незаконным. Данный материал носит исключительно образовательный характер и предназначен для тестирования собственных систем на устойчивость к нагрузкам. Не используйте эти знания во вред другим. Ответственность за применение лежит исключительно на вас. Берегите себя и свои проекты.
Сегодня я расскажу про умный DDoS. А именно про атаки L7, или атаки уровня приложения. Я расскажу, как с помощью небольшого скрипта на Python и фреймворка Selenium полностью имитировать поведение реальных пользователей. Такой подход реализуется путём управления реальным браузером. Это позволяет создать механизм, максимально похожий на поведение человека, с которым бессильны большинство самых продвинутых методов защиты.
Для проведения наших тестов не потребуется никаких ботнетов. Все необходимые ресурсы мы абсолютно бесплатно возьмём у Google, Amazon или Microsoft. У каждого из этих провайдеров есть возможность попробовать их услуги бесплатно. Например, Google с небольшими ограничениями предоставляет пробный период в 3 месяца и кредит в 300 долларов. Этого вполне хватит, чтобы разнести в пух и прах вполне серьёзный ресурс. Информация о том, как получать халяву и настраивать облачные инстансы, выходит за рамки этой статьи.
Инструмент, который мы будем делать, это простейший booter или stresser, скрипт для тестирования допустимой нагрузки на сайт. Для того чтобы полноценно протестировать даже достаточно крупные ресурсы, понадобится 5-10 инстансов с 2-4 процессорами и 4 гигабайтами памяти. Понятно, что больше лучше. Желательно брать инстансы полегче из-за ограничений на исходящий трафик в большинстве облачных сервисов.
Selenium подходит не только для DDoS. Более того, я бы назвал DDoS с помощью этого фреймворка просто варварством. Selenium справляется с намного более изысканными задачами, такими как парсинг сложных закрытых ресурсов или накрутка рекламы, в том числе на YouTube. Это доказал на практике Александр Жуков, создатель Methbot, основой которого как раз и являлся Selenium. Кстати, Жукова, арестованного и представшего перед судом в США, недавно признали виновным по всем обвинениям. Но это уже другая история.
Справедливости ради следует заметить, что Selenium не единственный инструмент контроля браузеров на рынке. Помимо Selenium для подобных задач можно использовать Puppeteer и его адаптацию на Python, Pyppeteer, которые тоже отлично зарекомендовали себя.
Что писать
Загружаем Python, устанавливаем все зависимости, качаем ChromeDriver. Помимо самого Selenium, мы будем использовать Concurrent Futures для обеспечения многопоточности. Скрипт загружает заданное количество потоков Google Chrome, каждый из которых выгребает ссылки и тем самым плотно нагружает атакуемый сайт. Для достижения лучшего эффекта рекомендуется нагружать тестируемый ресурс сложными запросами, например к функции поиска или сложной выборки.
В действенности метода можете не сомневаться. С различными модификациями этот простенький скрипт позволяет достаточно успешно тестировать ресурсы, размещённые даже на защищённых сервисах типа Cloudflare, Varity или DDoS Guard. Однако скорее всего понадобятся прокси и дополнительные инструменты, разгадывающие капчу.
Поверьте, при правильном использовании этот скрипт заставит взяться за голову даже самых искушённых админов и самые изощрённые сервисы защиты от DDoS.
Важно
Использование таких методов для проведения реальных атак является незаконным. Данный материал носит исключительно образовательный характер и предназначен для тестирования собственных систем на устойчивость к нагрузкам. Не используйте эти знания во вред другим. Ответственность за применение лежит исключительно на вас. Берегите себя и свои проекты.