Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Kamampuhan pikeun nurunkeun tingkat alat tina jarak jauh dumasar kana RouterOS (Mikrotik) nempatkeun ratusan rébu alat jaringan dina résiko. Kerentanan dikaitkeun sareng karacunan cache DNS tina protokol Winbox sareng ngamungkinkeun anjeun ngamuat jaman baheula (kalayan reset sandi standar) atanapi firmware anu dirobih kana alat.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Rincian kerentanan

Terminal RouterOS ngadukung paréntah ngabéréskeun pikeun milarian DNS.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Paménta ieu diurus ku binér anu disebut resolver. Resolver mangrupikeun salah sahiji seueur binér anu nyambung ka protokol Winbox RouterOS. Dina tingkat anu luhur, "pesen" anu dikirim ka port Winbox tiasa dialihkeun ka sababaraha binér dina RouterOS dumasar kana skéma panomeran dumasar-Asép Sunandar Sunarya.

Sacara standar, RouterOS ngagaduhan fitur pangladén DNS ditumpurkeun.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Sanajan kitu, sanajan fungsi server ditumpurkeun, router ngajaga cache DNS sorangan.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Nalika urang ngadamel pamundut nganggo winbox_dns_request contona conto. com, router bakal cache hasilna.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Kusabab urang tiasa netepkeun pangladén DNS anu kedah dipénta, ngalebetkeun alamat anu salah henteu penting. Salaku conto, anjeun tiasa ngonpigurasikeun palaksanaan server DNS tina Philip Klauspikeun salawasna ngabales ku catetan A ngandung alamat IP 192.168.88.250.

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()

Ayeuna upami anjeun milarian conto.com nganggo Winbox, anjeun tiasa ningali yén cache DNS router diracun.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Tangtosna, karacunan example.com henteu kapaké pisan sabab router henteu leres-leres ngagunakeunana. Nanging, router kedah ngaksés upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com sareng download.mikrotik.com. Sareng hatur nuhun kana kasalahan anu sanés, anjeun tiasa ngaracun aranjeunna sakaligus.

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 menta hiji idin, sarta kami masihan lima deui. Router henteu nyéépkeun sadaya réspon ieu kalayan leres.

Kerentanan backport di RouterOS nempatkeun ratusan rébu alat dina résiko

Jelas, serangan ieu ogé kapaké upami router bertindak salaku server DNS, sabab ngamungkinkeun para klien tina router diserang.

Serangan ieu ogé ngamungkinkeun anjeun ngamangpaatkeun kerentanan anu langkung serius: downgrade atanapi backport versi RouterOS. Panyerang nyiptakeun deui logika server pembaruan, kalebet changelog, sareng maksa RouterOS pikeun nganggap versi anu luntur (rentan) salaku ayeuna. Bahaya di dieu aya dina kanyataan yén nalika versi "diropéa", kecap akses administrator direset kana nilai standar - panyerang tiasa asup kana sistem nganggo kecap konci kosong!


Serangan anu cukup jalan, sanajan kanyataan yén panulis implements sababaraha vektor deui, kaasup nu patali jeung embedding backdoor kana firmware nu, tapi ieu téh geus téknik kaleuleuwihan sarta pamakéan na keur kaperluan haram haram.

panyalindungan

Ngan nganonaktipkeun Winbox ngamungkinkeun anjeun ngajaga diri tina serangan ieu. Sanajan genah administrasi via Winbox, eta leuwih hade migunakeun protokol SSH.

sumber: www.habr.com

Tambahkeun komentar