Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Möguleikinn á að fjarfæra tæki byggð á RouterOS (Mikrotik) setur hundruð þúsunda nettækja í hættu. Varnarleysið tengist eitrun á DNS skyndiminni Winbox samskiptareglunnar og gerir þér kleift að hlaða gamaldags (með sjálfgefnu lykilorði endurstillingu) eða breyttum fastbúnaði á tækið.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Upplýsingar um varnarleysi

RouterOS flugstöðin styður resolve skipunina fyrir DNS leit.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Þessi beiðni er meðhöndluð af tvöfaldri sem kallast resolver. Resolver er einn af mörgum tvöfaldur sem tengjast Winbox samskiptareglum RouterOS. Á háu stigi er hægt að beina „skilaboðum“ sem send eru í Winbox tengið yfir á ýmsa tvístirni í RouterOS byggt á númerakerfi sem byggir á fylki.

Sjálfgefið er að RouterOS er með DNS-miðlaraeiginleikann óvirkan.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Hins vegar, jafnvel þegar netþjónsaðgerðin er óvirk, heldur beininn sínu eigin DNS skyndiminni.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Þegar við gerum beiðni með því að nota winbox_dns_request til dæmis example.com mun leiðin vista niðurstöðuna.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Þar sem við getum tilgreint DNS-þjóninn sem beiðnin ætti að fara í gegnum, er léttvægt að slá inn röng heimilisföng. Til dæmis geturðu stillt útfærslu DNS netþjóns frá Philip Klausað svara alltaf með A-skrá sem inniheldur IP töluna 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()

Nú ef þú leitar að example.com með Winbox geturðu séð að DNS skyndiminni leiðarinnar er eitrað.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Auðvitað, eitrun example.com er ekki mjög gagnlegt þar sem leiðin mun ekki nota það í raun. Hins vegar þarf beininn að hafa aðgang að upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com og download.mikrotik.com. Og þökk sé öðrum mistökum er hægt að eitra fyrir þeim öllum í einu.

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

Beininn biður um eina heimild og við gefum fimm til baka. Beininn geymir ekki öll þessi svör rétt.

Backport varnarleysi í RouterOS setur hundruð þúsunda tækja í hættu

Augljóslega er þessi árás einnig gagnleg ef beininn virkar sem DNS netþjónn, þar sem hún gerir kleift að ráðast á viðskiptavini beinsins.

Þessi árás gerir þér einnig kleift að nýta alvarlegri varnarleysi: lækka eða bakfæra útgáfu RouterOS. Árásarmaðurinn endurskapar rökfræði uppfærsluþjónsins, þar á meðal breytingaskrána, og neyðir RouterOS til að skynja úrelta (viðkvæma) útgáfuna sem núverandi. Hættan hér liggur í þeirri staðreynd að þegar útgáfan er „uppfærð“ er lykilorð stjórnanda endurstillt á sjálfgefið gildi - árásarmaður getur skráð sig inn í kerfið með tómu lykilorði!


Árásin er alveg að virka, þrátt fyrir það Höfundur útfærir nokkra fleiri vektora, þar á meðal þá sem tengjast að fella bakdyr inn í vélbúnaðinn, en þetta er nú þegar óþarfi tækni og notkun hennar í ólögmætum tilgangi er ólögleg.

vernd

Einfaldlega að slökkva á Winbox gerir þér kleift að verja þig fyrir þessum árásum. Þrátt fyrir þægindin við gjöf í gegnum Winbox er betra að nota SSH samskiptareglur.

Heimild: www.habr.com

Bæta við athugasemd