RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

RouterOS (Mikrotik) tabanlı cihazların sürümünün uzaktan düşürülmesi, yüz binlerce ağ cihazını riske atıyor. Güvenlik açığı, Winbox protokolünün DNS önbelleğinin zehirlenmesiyle ilişkilidir ve cihaza güncel olmayan (varsayılan şifre sıfırlamayla) veya değiştirilmiş ürün yazılımını yüklemenize olanak tanır.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Güvenlik açığı ayrıntıları

RouterOS terminali, DNS araması için çözümleme komutunu destekler.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Bu istek çözümleyici adı verilen bir ikili dosya tarafından işlenir. Resolver, RouterOS'un Winbox protokolüne bağlanan birçok ikili dosyadan biridir. Yüksek düzeyde, Winbox bağlantı noktasına gönderilen "mesajlar", dizi tabanlı bir numaralandırma şemasına dayalı olarak RouterOS'taki çeşitli ikili dosyalara yönlendirilebilir.

RouterOS'ta varsayılan olarak DNS sunucusu özelliği devre dışıdır.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Однако даже при отключенной функции сервера маршрутизатор поддерживает собственный кэш DNS.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Örnek.com gibi winbox_dns_request kullanarak bir istek yaptığımızda, yönlendirici sonucu önbelleğe alacaktır.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

İsteğin geçmesi gereken DNS sunucusunu belirleyebildiğimiz için yanlış adreslerin girilmesi önemsizdir. Örneğin, bir DNS sunucusu uygulamasını şuradan yapılandırabilirsiniz: Philip Klausher zaman 192.168.88.250 IP adresini içeren bir A kaydıyla yanıt vermek.

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

Artık Winbox'ı kullanarak example.com'u ararsanız, yönlendiricinin DNS önbelleğinin zehirlendiğini görebilirsiniz.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Elbette example.com'u zehirlemek, yönlendiricinin aslında onu kullanmayacağı için pek kullanışlı değildir. Ancak yönlendiricinin, update.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com ve download.mikrotik.com adreslerine erişmesi gerekir. Ve başka bir hata sayesinde hepsini birden zehirlemek mümkündür.

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

Yönlendirici bir izin ister ve biz beşini geri veririz. Yönlendirici bu yanıtların tümünü doğru şekilde önbelleğe almıyor.

RouterOS'taki Backport güvenlik açığı yüz binlerce cihazı riske atıyor

Açıkçası, bu saldırı, yönlendiricinin istemcilerinin saldırıya uğramasına izin verdiğinden, yönlendirici bir DNS sunucusu gibi davranıyorsa da faydalıdır.

Bu saldırı aynı zamanda daha ciddi bir güvenlik açığından yararlanmanıza da olanak tanır: RouterOS sürümünün düşürülmesi veya desteklenmesi. Saldırgan, değişiklik günlüğü de dahil olmak üzere güncelleme sunucusunun mantığını yeniden oluşturur ve RouterOS'u eski (savunmasız) sürümü güncel olarak algılamaya zorlar. Buradaki tehlike, sürüm "güncellendiğinde" yönetici şifresinin varsayılan değere sıfırlanmasıdır - bir saldırgan sisteme boş bir şifreyle giriş yapabilir!


Saldırı oldukça işe yarıyor yazar ile ilgili olanlar da dahil olmak üzere birkaç vektör daha uygular Ürün yazılımına bir arka kapı yerleştirme, ancak bu zaten gereksiz bir tekniktir ve meşru olmayan amaçlarla kullanılması yasa dışıdır.

koruma

Winbox'ı basitçe devre dışı bırakmak, kendinizi bu saldırılara karşı korumanıza olanak tanır. Winbox üzerinden yönetimin kolaylığına rağmen SSH protokolünü kullanmak daha iyidir.

Kaynak: habr.com

Yorum ekle