Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

D'Kapazitéit fir Geräter op afstand ze downgrade baséiert op RouterOS (Mikrotik) stellt Honnerte vun Dausende vun Netzwierkapparater a Gefor. D'Schwachheet ass mat Vergëftung vum DNS-Cache vum Winbox-Protokoll assoziéiert an erlaabt Iech verännert (mat engem Standardpasswuert zréckgesat) oder geännert Firmware op den Apparat ze lueden.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Vulnerabilitéit Detailer

De RouterOS-Terminal ënnerstëtzt de Resolve-Kommando fir DNS Lookup.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Dës Ufro gëtt vun engem Binäre genannt Resolver gehandhabt. Resolver ass ee vu ville Binären déi mam RouterOS Winbox Protokoll verbannen. Op engem héijen Niveau kënnen "Messagen", déi an de Winbox Hafen geschéckt ginn, op verschidde Binären an RouterOS geréckelt ginn op Basis vun engem Array-baséiert Nummerschema.

Par défaut huet RouterOS d'DNS Server Feature behënnert.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Wéi och ëmmer, och wann d'Serverfunktioun deaktivéiert ass, hält de Router säin eegene DNS-Cache.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Wa mir eng Ufro maachen mat winbox_dns_request zum Beispill example.com, wäert de Router d'Resultat cache.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Well mir den DNS-Server spezifizéiere kënnen, duerch deen d'Ufro soll goen, ass d'Inkorrekt Adressen trivial. Zum Beispill kënnt Dir en DNS Server Implementatioun konfiguréieren aus Philipp Klausfir ëmmer mat engem A-Rekord ze reagéieren mat der IP Adress 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()

Elo wann Dir fir example.com mat Winbox sicht, kënnt Dir gesinn datt den DNS Cache vum Router vergëft ass.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Natierlech ass Vergëftung example.com net ganz nëtzlech well de Router et net wierklech benotzt. Allerdéngs muss de Router Zougang upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com an download.mikrotik.com. An dank engem anere Feeler ass et méiglech se all op eemol ze vergëft.

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

De Router freet eng Erlaabnis, a mir ginn fënnef zréck. De Router cache net all dës Äntwerten korrekt.

Backport Schwachstelle am RouterOS setzt Honnerte vun Dausende vun Apparater a Gefor

Natierlech ass dësen Attack och nëtzlech wann de Router als DNS-Server handelt, well et erlaabt datt Cliente vum Router attackéiert ginn.

Dës Attack erlaabt Iech och eng méi sérieux Schwachstelle auszenotzen: d'Versioun vum RouterOS downgraden oder backportéieren. Den Ugräifer erstellt d'Logik vum Update-Server, inklusiv dem Changementlog, an zwéngt RouterOS fir déi al (vëlleg) Versioun als aktuell ze gesinn. D'Gefor läit hei an der Tatsaach, datt wann d'Versioun "aktualiséiert" ass, d'Administrator Passwuert op de Standardwäert zréckgesat gëtt - en Ugräifer kann mat engem eidele Passwuert op de System aloggen!


D'Attack funktionéiert zimlech, trotz der Tatsaach Auteur implementéiert e puer méi Vektoren, dorënner déi am Zesummenhang mat eng Backdoor an d'Firmware embedden, awer dëst ass schonn eng iwwerflësseg Technik a seng Notzung fir illegitim Zwecker ass illegal.

Schutz

Einfach Winbox auszeschalten erlaabt Iech selwer vun dësen Attacken ze schützen. Trotz der Komfort vun der Verwaltung iwwer Winbox ass et besser den SSH Protokoll ze benotzen.

Source: will.com

Setzt e Commentaire