Nozomi Networks Labs avval hujjatlashtirilmagan, Go tilida yozilgan Linux uchun DDoS bot — Kairosni hujjatlashtirdi. U buzilgan Linux qurilmalarini hujum tugunlariga aylantirib, minglab bekor TCP sessiyalari bilan jabrlanuvchining ulanish sig'imini tugatadi.

Honeypot telemetriyasi uchta Kairos qurilishini qo'lga kiritdi. Ular faqat qattiq kodlangan C2 manzili va Go kompilyator patch darajasi (1.27.0 va 1.27.1) bilan farq qiladi, bu esa C2 bo'yicha qurilish tarqatish modelini ko'rsatadi.

Nozomi Networks Labs tomonidan chop etilgan texnik tahlilga ko'ra, hujumchilar Telnet orqali kirishgan, bunda standart root foydalanuvchisi va bo'sh parol ishlatilgan. Tengu Linux botiga o'xshab, operator keyin /tmp dan shell ketma-ketligini bajargan.

Ketma-ketlik arxitekturaga mos keladigan yukni wget, curl, BusyBox wget va TFTP bilan navbat bilan yuklab olgan, har bir nusxada chmod 777 va fon rejimida bajarish ishlatilgan. Namuna zanjirida 172[.]86[.]85[.]39 yukni TCP/8080 da joylashtirgan va C2 sifatida TCP/9999 da ishlagan.

Bot qattiq kodlangan bitta IPv4 manzilga TCP/9999 orqali ulanadi va oddiy matnli beacon yuboradi: REGISTER linux amd64 . Har ikki soniyada keepalive yangi qatori yuboriladi. Agar sessiya uzilsa, bot har besh soniyada qayta ulanishga urinadi, bunda jitter yoki qayta urinish cheklovi yo'q.

U faqat uchta buyruqni qabul qiladi: hold hujumni boshlaydi, !ka barcha hujumlarni bekor qiladi va botni to'xtatadi, !ku esa botni qayta ishga tushiradi, shunda u hujum buyruqlarini yana qabul qiladi.

Binar faylda doimiylik, o'z-o'zini tarqatish, buyruq bajarish, yuk yuklab olish yoki anti-tahlil mantig'i yo'q. Uning saqlanib qolgan .gopclntab ramzlari kairos/methods.HoldFlood va kairos/methods.holdConn kabi belgilarni ochib beradi.

Bot har CPU yadrosi uchun 128 ta ishchini ishga tushiradi, minimal 256 ta. Shuning uchun 16 yadroli xost har hujumda 2 048 ta bir vaqtdagi ulanishni ochadi. Har bir ishchi besh soniyalik timeout bilan haqiqiy TCP qo'l siqishni bajaradi.

Keyin u har besh soniyada bitta bo'sh joy belgisi (0x20) yuborib, soketni ochiq saqlaydi. Muvaffaqiyatsiz ulanishlar har 100 millisekundda qayta urinishadi, bu esa rad etuvchi portga hujumni ulanish bo'roniga aylantiradi.

Bu soxta SYN to'plami emas, shuning uchun jabrlanuvchi buzilgan qurilmaning haqiqiy manba IP manzilini ko'radi. Katta hujumlar botning o'z fayl deskriptorlarini ham tugatishi mumkin. Katta Mirai hosilalari, masalan Evooo1Bot botneti bilan solishtirganda, Kairos minimal va bitta texnikaga asoslangan.

Bot os.Args[0] ni [kworker/0:1] ga qayta yozadi, bu yadro ipini taqlid qiladi. U asl argv xotirasini o'zgartirmaydi va prctl(PRSETNAME) ni chaqirmaydi, shuning uchun /proc//cmdline, comm va ps hali ham haqiqiy binarni ko'rsatadi.

[kworker/0:1] va kairos/bot qurilish yo'lini o'z ichiga olgan foydalanuvchi darajasidagi ELF deyarli aniq Kairosdir.

VirusTotal'da YARA qidiruvi ARM, MIPS (katta va kichik endianness) va 32-bit x86 uchun yana oltita namunani topdi. Barchasi ma'lum C2 172[.]86[.]85[.]39 dan foydalanadi.

Himoyachilar 91[.]92[.]42[.]84, 172[.]86[.]85[.]39 va 85[.]11[.]167[.]41 manzillariga 9999 va 8080 portlarida chiquvchi ulanishni bloklash, shuningdek hujumchi IP manzillari 103[.]124[.]165[.]53, 45[.]129[.]56[.]140 va 45[.]129[.]56[.]222 ni bloklash orqali muhitni himoya qilishlari mumkin.

Xavfsizlik jamoalari TCP/9999 da oddiy matnli REGISTER linux beaconi uchun IDS imzosini qo'shishlari, Telnetni o'chirishlari va standart yoki bo'sh parollarni almashtirishlari kerak. Bundan tashqari, administratorlar YARA qoidasini fayl va xotira skanerlash bo'yicha joylashtirishlari va ko'plab chiquvchi TCP ulanishlarini saqlab turgan "yadro ishchisi" jarayonlari haqida ogohlantirishlari kerak.

Har bir qurilish C2 manzilini o'zgartirgan holda kod bir xil qolganligi sababli, kodga asoslangan imzolar IP bloklaridan ko'ra uzoqroq davom etadi.