Konu Başlıkları Gizle
Arkadaşlar selam,
Hatırlarsanız bu cihaz için daha önce root çalışmalarına başlamış ve Çin forumlarındaki dosyalara ulaşmak için yardım istemiştim. O günden bu yana çok yol katettik. Modemi tam anlamıyla çözdük ve cihaz üzerinde root erişimini sağladık. Ancak şimdi, bu işlemi donanım müdahalesi olmadan herkes için kolaylaştıracak evrensel bir yönteme ihtiyacımız var.
İşte bugüne kadar yaptıklarımız, ulaştığımız nokta ve sizden (özellikle geliştiricilerden) beklentilerimiz:
Süreç boyunca elde ettiğimiz tüm bulguları, analizleri ve yöntemleri diğer araştırmacılar için derleyip GitHub üzerinde yayınladık:
Huawei HG8245X6 Root ve Tersine Mühendislik GitHub Sayfası
Dosya Linki: Google Drive - R22.bin
Bu dosyanın detaylı tersine mühendislik analizi ise şu şekildedir:
İlgilenen, incelemek isteyen veya fikir verebilecek herkesin desteğini bekliyoruz!
Hatırlarsanız bu cihaz için daha önce root çalışmalarına başlamış ve Çin forumlarındaki dosyalara ulaşmak için yardım istemiştim. O günden bu yana çok yol katettik. Modemi tam anlamıyla çözdük ve cihaz üzerinde root erişimini sağladık. Ancak şimdi, bu işlemi donanım müdahalesi olmadan herkes için kolaylaştıracak evrensel bir yönteme ihtiyacımız var.
İşte bugüne kadar yaptıklarımız, ulaştığımız nokta ve sizden (özellikle geliştiricilerden) beklentilerimiz:
1. Üzerinde Çalıştığımız Cihaz
Kod:
Cihaz Türü: HG8245X6
Açıklama: OptiXstar HG8245X6 GPON Terminal (CLASS B+/PRODUCT ID:2150084230HYM3000324)
Donanım Sürümü: 1E8E.A
Yazılım Sürümü: V5R021C00S128
Üretim Bilgisi: 2150084230HYM3000324.C402
2. Başarılı Root İşlemi ve Mevcut Durum
Geçtiğimiz süreçte donanım düzeyinde NAND flash dökümü alarak sistemin kök erişimini (root) başarıyla kazandık. Cihazın şifreli SquashFS ve SEC_SQS korumalarını aşmak yerine, doğrudan konfigürasyon dosyalarını (hw_ctree.xml) analiz ettik ve süper yönetici şifreleri ile ISP kimlik bilgilerini çıkardık. Ardından Telnet üzerinden "SU WAP" yetkileriyle cihazı manipüle ederek tam Linux shell (BusyBox) erişimine ulaştık.Süreç boyunca elde ettiğimiz tüm bulguları, analizleri ve yöntemleri diğer araştırmacılar için derleyip GitHub üzerinde yayınladık:
Huawei HG8245X6 Root ve Tersine Mühendislik GitHub Sayfası
3. Evrensel Bir Root Yöntemi Arayışı
Biz cihazı root etmeyi başardık ve modemle ilgili neredeyse her şeyi öğrendik. Ancak bizim uyguladığımız yöntem (NAND okuma vb.) herkesin evde kolayca yapabileceği bir işlem değil. Amacımız, herkesin çalıştırabileceği, evrensel bir BIN dosyası veya root yöntemi oluşturmak.4. R22.bin Dosyası ve Tersine Mühendislik Analizi
Şu an elimizde, cihazda root/telnet erişimi sağlamak için kullanılan resmi veya sızdırılmış bir araç setine ait R22.bin dosyası mevcut.Dosya Linki: Google Drive - R22.bin
Bu dosyanın detaylı tersine mühendislik analizi ise şu şekildedir:
R22.bin (Telnet Enablement Payload)
Bu dosya aslında standart bir firmware güncellemesi değildir. İçerisinde router'ı kandırıp özel scriptler çalıştırmasını sağlayan modifiye edilmiş bir HWNP formatlı güncelleme paketidir. Paketi parçaladığımızda (unpack) şu kritik dosyalar ortaya çıkıyor:
- var/duit9rr.sh (Ana Exploit Scripti)
- mnt/jffs2/TelnetEnable
- var/UpgradeCheck.xml
Exploit'in Çalışma Mantığı (duit9rr.sh):
Router bu R22.bin dosyasını bir firmware güncellemesi sanarak kabul ettiğinde, içerisindeki duit9rr.sh scripti çalışır. Bu script şu işlemleri yapar:
- Şifre Çözme: Router'ın ana konfigürasyon dosyasını (/mnt/jffs2/hw_ctree.xml) Huawei'nin gömülü aescrypt2 aracını kullanarak geçici bir dosyaya çözer.
- Parametre Değiştirme: cfgtool aracını kullanarak konfigürasyon içerisindeki şu parametreleri zorla değiştirir:
- InternetGatewayDevice.X_HW_Security.AclServices TELNETLanEnable 1 (LAN için Telnet'i açar)
- InternetGatewayDevice.UserInterface.X_HW_CLITelnetAccess Access 1 (CLI Telnet Erişimini açar)- Yeniden Şifreleme: Değiştirilen konfigürasyon dosyasını tekrar şifreler ve orijinal dosyanın üzerine yazar.
- Temizlik: Router'ın /etc/version dosyasına bakarak (V100R006'dan V300R013'e kadar) izleri siler ve kendini imha eder.
Nasıl Kullanılır: Bu R22.bin dosyası, router'ın web arayüzündeki Firmware Upgrade (Yazılım Güncelleme) sayfasından yüklenirse, cihaz güncellenmiş gibi davranıp yeniden başlayacak ve Telnet portu (23) açılmış olacaktır. Telnet şifresini zaten NAND üzerinden bulmuştuk: EP!99R4HLH9E.
Ayrıca araç seti içerisinde ağ üzerinden cihazı bulup bin dosyasını itmeye yarayan ONT Enable Tool V2.0, cihazın fabrika/servis moduna alınması için test araçları barındıran part1 arşivi ve WAP konsolunda kullanılabilecek gizli komutların listesini (trafficdump, set aclservicesrule vb.) barındıran muazzam bir Expert Debug Command Reference dokümanı da yer alıyor.
Geliştiricilere Çağrımız
Bin dosyasının (veya benim GitHub'da paylaştığım dosyaların) yazılım ve tersine mühendislik konusunda tecrübeli bir geliştirici tarafından daha iyi analiz edilmesi gerekiyor. Eğer bu dosyayı manipüle edip evrensel bir exploit/payload haline getirebilirsek, herkes donanıma müdahale etmeden arayüz üzerinden root yetkisine sahip olabilecek.İlgilenen, incelemek isteyen veya fikir verebilecek herkesin desteğini bekliyoruz!
Son düzenleme: