Saldırganların kötü amaçlı yükler yürütmesine ve kök erişimi kazanmasına izin veren Tenda AC7 yönlendirici, ürün yazılımı sürümü v15.03.06.44’te bir güvenlik açığı keşfedilmiştir.
GitHub’daki bir rapora göre, deneysel kurulum ve sömürü yoluyla tanımlanan güvenlik açığı, FormSetFireWallCFG işlevindeki bir yığın taşma sorunu etrafında döner.
Bu istismar önemlidir, çünkü saldırganların hizmet reddi (DOS) saldırıları yoluyla hizmetleri bozmalarını sağlamakla kalmaz, aynı zamanda belirli yükler hazırlayarak kararlı bir kök kabuğunu da korur.
Arka plan ve deneysel kurulum
Güvenlik açığı bir Ubuntu 20 (UB20) ortamı kullanılarak araştırıldı.


Saldırı koşullarını simüle etmek için araştırmacılar, APT yükleme UML-Utilites köprüsü-utils gibi komutları kullanarak bir ağ köprüsü kurdu, ardından bir köprü arayüzü (BR0) oluşturdu ve bir IP adresi (192.168.0.1/24) atadı.
Ens33 arayüzü bu köprüye eklendi. Bu kurulum, kontrollü bir ortamın istismarı test etmesine izin verdi.
Başarılı simülasyon için, orijinal sürüm simülasyonu engelleyebilecek ortam kontrolleri içerdiğinden, HTTPD dosyasının yamalı bir sürümü gerekliydi.
Değiştirilmiş dosya (A7__V15.03.06.44_httpd_ok), bu kontrollerin atlanmasını ve deneysel sömürü sürecini kolaylaştırmasını sağlar. Bu simüle edilmiş ortamda HTTPD ikilisini çalıştırmak için qemu-mipsel-statik araç kullanıldı.
Güvenlik açığı, FormSetFireWallCFG işlevindeki bir yığın taşmasından kaynaklanır. Özellikle, güvenlik duvarı ayarları için kullanıcı tarafından girilen veriler, uygun boyut doğrulaması olmadan doğrudan bir diziye kopyalanır.


Bu, giriş verileri tahsis edilen arabellek boyutunu aşarsa, bir yığın taşması meydana gelir. Bir saldırgan, kritik yığın değerlerinin üzerine yazılmasına yol açan aşırı boyutta hazırlanmış bir yük göndererek bunu kullanabilir.
Özellikle, bu sadece bir DOS değil, aynı zamanda potansiyel olarak kararlı bir kök kabuğu elde etmek için manipüle edilebilir ve PC kaydının kontrol edilebilirliğini kullanabilir.
Kavram Kanıtı (POC) ve üreme
Güvenlik açığını yeniden üretmek için saldırganlar, v15.03.06.44 ürün yazılımı sürümünü kullanabilir ve yönlendiriciye özel olarak hazırlanmış bir posta isteği göndererek kullanabilir.


POC, ateş duvar parametresi için 1000 kez tekrarlanan “A” gibi büyük bir karakter dizisi ile bir yük göndermeyi içerir. Bu, Python’un istek kütüphanesi gibi araçlar kullanılarak elde edilir:
import requests
url = "http://192.168.0.1/goform/SetFirewallCfg"
headers = {
"Host": "192.168.0.1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0",
"Accept": "*/*",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/x-www-form-urlencoded",
"Origin": "http://192.168.0.1",
"DNT": "1",
"Connection": "close",
"Referer": "http://192.168.0.1/index.html"
}
cookies = {
"ecos_pw": "eee",
"language": "cn"
}
payload = {
"firewallEn": "a" * 1000
}
try:
response = requests.post(
url=url,
headers=headers,
cookies=cookies,
data=payload,
)
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
Bu güvenlik açığı, belirtilen ürün yazılımı sürümü ile Tenda AC7 yönlendiricisi kullanıcıları için önemli riskler oluşturmaktadır.
Saldırganlar sadece DOS saldırıları yoluyla ağ hizmetlerini bozabilir, aynı zamanda kötü niyetli yükler üreterek istikrarlı bir kök kabuğunu koruma potansiyeline de sahiptir.
Bu özellik, veri hırsızlığı, ağ gözetimi ve bağlı cihazların daha da kullanılması gibi çok çeşitli kötü amaçlı etkinlikler sağlayabilir.
Are you from SOC/DFIR Teams? – Analyse Malware Incidents & get live Access with ANY.RUN -> Start Now for Free.