RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

RouterOS-en (Mikrotik) oinarritutako gailuak urrunetik behera egiteko gaitasunak ehunka milaka sareko gailu arriskuan jartzen ditu. Ahultasuna Winbox protokoloaren DNS cachearen pozoitzearekin lotuta dago eta zaharkitua (pasahitz lehenetsia berrezarri) edo aldatutako firmwarea gailuan kargatzeko aukera ematen du.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Zaurgarritasunaren xehetasunak

RouterOS terminalak DNS bilaketarako ebazteko komandoa onartzen du.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Eskaera hau ebazteko izeneko bitar batek kudeatzen du. Resolver RouterOS-en Winbox protokolora konektatzen diren bitar ugarietako bat da. Maila altuan, Winbox atakara bidalitako "mezuak" RouterOS-en hainbat bitartara bideratu daitezke matrizean oinarritutako zenbaki-eskema batean oinarrituta.

Lehenespenez, RouterOSek DNS zerbitzariaren funtzioa desgaituta dauka.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Hala ere, zerbitzariaren funtzioa desgaituta dagoenean ere, bideratzaileak bere DNS cachea mantentzen du.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

winbox_dns_request adibidez example.com erabiliz eskaera bat egiten dugunean, bideratzaileak emaitza cachetuko du.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Eskaera zein den DNS zerbitzaria zein den zehaztu dezakegunez, helbide okerrak sartzea hutsala da. Adibidez, DNS zerbitzariaren inplementazioa konfigura dezakezu Philip Klausbeti erantzuteko 192.168.88.250 IP helbidea duen A erregistro batekin.

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

Orain Winbox erabiliz example.com bilatzen baduzu, bideratzailearen DNS cachea pozoituta dagoela ikus dezakezu.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Noski, example.com pozoitzea ez da oso erabilgarria, bideratzaileak ez baitu benetan erabiliko. Hala ere, bideratzaileak upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com eta download.mikrotik.com atzitu behar ditu. Eta beste akats bati esker, posible da guztiak aldi berean pozoitzea.

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

Bideratzaileak baimen bat eskatzen du, eta bost atzera ematen ditugu. Bideratzaileak ez ditu erantzun horiek guztiak behar bezala gordetzen.

RouterOSen Backport ahultasunak ehunka mila gailu arriskuan jartzen ditu

Jakina, eraso hau ere baliagarria da bideratzailea DNS zerbitzari gisa ari bada, bideratzailearen bezeroak erasotzeko aukera ematen baitu.

Eraso honek ahultasun larriago bat ustiatzeko aukera ematen du: RouterOS-en bertsioa jaitsi edo atzera eraman. Erasotzaileak eguneratze zerbitzariaren logika birsortzen du, aldaketa-erregistroa barne, eta RouterOS bertsio zaharkitua (ahulgarria) egungoa dela hautematea behartzen du. Arriskua hemen datza, bertsioa "eguneratuta" denean, administratzailearen pasahitza lehenetsitako baliora berrezartzen dela - erasotzaileak pasahitz hutsarekin sar dezake sisteman!


Erasoa nahiko funtzionatzen ari da, hala ere egilea hainbat bektore gehiago inplementatzen ditu, besteak beste atzeko atea firmwarean txertatzea, baina dagoeneko teknika erredundantea da eta zilegi ez diren helburuetarako erabiltzea legez kanpokoa da.

babes

Winbox desgaitzeak eraso hauetatik babesteko aukera ematen du. Winbox bidez administratzeko erosotasuna izan arren, hobe da SSH protokoloa erabiltzea.

Iturria: www.habr.com

Gehitu iruzkin berria