Електронна пошта: anwenqq2690502116@gmail.com
Націлені на Інтернет речей, новий варіант "Гафіт" З'являється троян
Нещодавно, Huorong Security Lab виявила інцидент з вірусним вторгненням, Після дослідження та аналізу підтверджено, що це новий варіант троянського вірусу Gafgyt.
Gafgyt — програма ботнету IoT, заснована на протоколі IRC, який в основному заражає Linux пристрої IoT для запуску розподілених атак на відмову в обслуговуванні (DDoS). Це найбільше активне сімейство ботнетів IoT, крім сімейства Mirai.
Після витоку його вихідного коду та завантаження на GitHub у 2015, один за одним виникали різноманітні варіанти та експлойти, створює більшу загрозу безпеці користувачів. Наразі, Продукти безпеки Huorong можуть перехоплювати та знищувати вищезгадані віруси. Корпоративних користувачів просять своєчасно оновлювати базу даних вірусів для захисту.
1. Аналіз зразків
Вірус спочатку перейменовує власний процес на "/usr/sbin/dropbear" або "sshd" щоб сховатися:
процес перейменування
Серед них, знайдено зашифрований рядок, а алгоритм дешифрування - це байт XOR 0xDEDEFFBA. При вживанні, лише використані розшифровуються індивідуально, але лише 4 фактично посилаються:
Зашифрований рядок і алгоритм дешифрування
Перше посилання призначене лише для виведення відповідного рядка на екран, а середні два посилання — це операції сторожового процесу, щоб уникнути втрати контролю через перезапуск пристрою:
розшифрувати і процитувати
Решта операцій виконуються в циклі, включаючи ініціалізацію підключення C2 (94.156.161.21:671), надсилання типу пристрою платформи, отримання команди повернення та виконання відповідної операції модуля. І порівняти з вихідним кодом, який вилив Гафгі, формат і обробка команди не змінилися, і формат команди залишається "!*Команда [Параметр]"
код операції циклу
У функції processCmd, всього 14 на команди реагують і запускаються відповідні DDOS-атаки, в тому числі: "HTTP", "Розширення CUDP", "UDP", "STD", "АТ", "TCP", "SYN" , "ACK", "Різдво", "РІЗДВО", "CVSE", "ВСЕ", "ЧПК", "НІГГ"
скріншот команди - Безпека IoT
Серед них, CUDP, UDP, АТ, і всі модулі TCP можуть надсилати випадкові рядки на вказаний IP та порт, і може реконструювати пакети TCP і UDP за допомогою власно створених IP-заголовків, щоб приховати вихідну IP-адресу.
структура повідомлення
Вважається, що префікс C є абревіатурою custom. Приклади CUDP і UDP, в оригінальній версії Gafgyt, параметри у виданій команді включають: ip, порт, час, підроблений, розмір пакетів, pollinterval та інші значення полів і біти прапорів Для створення UDP-пакетів. У цьому зразку, проте, спостережувані результати показують, що це застосування цих параметрів до різного ступеня обмеження, що може підвищити гнучкість конкретних типів атак DDOS.
Порівняння CUDP і UDP
Функції інших модулів включають додавання великої кількості рядків User-Agent, які використовуються для запуску команд HTTP для атак CC:
CC атака
Включено для атак на сервери Valve Source Engine: ("Source Engine" запити є частиною щоденного спілкування між клієнтами та ігрові сервери за допомогою програмного протоколу Valve)
Атаки на ігрову індустрію
Включаючи команди ЧПУ, які можуть перемикати IP-адресу підключення:
підключення комутатора IP
Включає атаки SYN і ACK:
Атаки SYN і ACK
Включаючи флуд-атаки UDP STD:
Напад ЗПСШ
Включаючи XMAS атаку: (тобто, Атака ялинки, встановивши всі біти прапорів TCP на 1, таким чином споживаючи більше ресурсів обробки відповіді цільової системи)
XMAS атака
Модуль NIGGA еквівалентний команді KILLATTK в оригінальній версії, який зупиняє атаки DoSS, вбиваючи всі дочірні процеси, крім основного
Модуль NIGGA
Порівняльний аналіз
Функція processCmd, яка зберігає основну логіку у вихідному коді, включає PING, ГЕТЛОКАЛІП, СКАНЕР, ЕЛЕКТРОННА ПОШТА, СМІТЛО, UDP, TCP, ТРИМАТИ, KILLATTK, і модулі LOLNOGTFO. Лише спрощені версії модулів UDP і TCP співіснують у варіанті експлойту, зафіксованому цього разу. .
І в операції отримання локального IP, оригінальна версія отримує локальний IP через /proc/net/route і повертає його через модуль GETLOCALIP. У цьому варіанті спостерігається та сама операція отримання, але немає модуля GETLOCALIP і жодних посилань не спостерігається.
Отримати локальний IP
Варто зазначити, що не існує оригінальної версії модуля SCANNER, який використовується для підриву SSH (порт 22) у цьому типі зразка, і немає інших варіантів, які вбудовують кілька "програми/пристрій" уразливості для поширення через Payload. Видно, що зловмисник розбиває модуль розповсюдження на незалежні програми, і після успішного входу на хост-жертву, він завантажить зразок зв’язку для наступного етапу, виконавши шелл-код, тобто, зразок аналізу.
Виконати приклад шелл-коду
Беручи за приклад зразки, отримані з того самого джерела, зловмисник позбавив налагоджувальної інформації для більшості зразків, за винятком кількох, як от: x86.