Türk Telekom ZyXEL EX3301-T0 Root Erişimi ve Root/SSH/Telnet Aktif Etme (TR069 ACS)​


Bu rehber, TechnopatForum'da "MayCrasH" kullanıcısının paylaştığı root şifresi öğrenme yöntemi kullanılmıştır.
Referans konu:
https://www.technopat.net/sosyal/ko...-erisimi-nasil-saglanir.2855913/post-22407681

@Recep Baltaş'a özgür internet için sağladığı her şey için teşekkür ederim.



1. Root Şifresini Elde Etme​


Öncelikle aşağıdaki Python scripti ile root kullanıcısının şifresini elde ediyoruz.

Gerekli kütüphaneler:

Bash:
pip install requests pycryptodome

Script çalıştırıldığında sizden:

  • Session
  • AesKey

Bilgileri istenecektir.



2. Session ve AES Key Alma​


Bu bilgileri almak için:

  1. Modem arayüzüne giriş yapın
  2. F12 tuşu ile geliştirici araçlarını açın

  • Application → Local Storage → http://192.168.1.1 kısmına girin
  • Buradan AesKey değerini alın

3-resim.webp

4-resim.webp

Notlar

  • Session süresi kısa olabilir, çalışmazsa yeniden alın
  • Tarayıcıda aktif oturum olması gerekir sekmeyi kapatmayın.
  • Script local ağda çalıştırılmalıdır (192.168.1.1)


3. Python Script​


Python:
import json, requests
from Crypto.Cipher import AES
from base64 import b64decode
from Crypto.Util.Padding import unpad

def print_passwords(ip, aes_key, session_key):
 cookies = {
 "_TESTCOOKIESUPPORT": "1",
 "Session": session_key
 }

 headers = {
 "Accept": "application/json, text/javascript, */*; q=0.01",
 "Accept-Encoding": "gzip, deflate",
 "Connection": "keep-alive",
 "Host": ip,
 "Referer": f"http://{ip}/",
 "User-Agent": "Mozilla/5.0",
 "X-Requested-With": "XMLHttpRequest"
 }

 response = requests.get(
 f"http://{ip}/cgi-bin/DAL?oid=login_privilege",
 cookies=cookies,
 headers=headers
 ).json()

 ct = b64decode(response["content"])
 iv = b64decode(response["iv"])
 key = b64decode(aes_key)

 cipher = AES.new(key, AES.MODE_CBC, iv[:16])
 pt = unpad(cipher.decrypt(ct), AES.block_size)

 data = json.loads(pt)

 for obj in data["Object"]:
 try:
 print(f"password for {obj['Username']}: {obj['Password']}")
 except KeyError:
 pass

ip = "192.168.1.1"
session_key = input("Session: ")
aes_key = input("AesKey: ")

print()
print_passwords(ip, aes_key, session_key)



4. Root Şifresi Çıktısı​


Kod:
password for root: XXXXXXXX
password for admin: XXXXXXXX

1-resim.webp




TR069 ACS ile Root Aktif Etme​


Root şifresini elde ettikten sonra TR069 ACS aracı ile root hesabını aktif hale getirebiliriz.



Root Kullanıcısını Aktif Etme​


TR069 ACS uygulamasında:

  1. Cihaz yönetimi kısmına girin
  2. Bilinen Parametreler sekmesini açın
Aşağıdaki parametreyi bulun:

Kod:
InternetGatewayDevice.X_TTG.Users.User.2.Enable

Eğer parametre mevcutsa:

  • Düzenle butonuna tıklayın
  • Değeri 0 → 1 olarak değiştirin
  • "Değeri yaz" butonuna basın
İşlem sonrası yaklaşık 5–10 saniye içinde onay mesajı gelmesi gerekir.

Ekran görüntüsü 2026-03-24 152623.webp




Parametre Bulunamazsa​


Eğer parametre listede yoksa:

  1. Manuel RPC komutları kısmına girin
  2. GetV2 seçeneğini çalıştırın
  3. Parametrelerin yüklenmesini bekleyin
  4. Ardından işlemi tekrar deneyin



Sonuç​


Bu işlemlerden sonra modem arayüzüne:

  • Root kullanıcı adı ve
  • Elde ettiğiniz root şifresi

İle giriş yapabilirsiniz. Eğer telnet SSH gibi protokoller üzerine root ile giriş yapmak istiyorsanız modem arayüzden uzaktan yönetim sekmesinden gerekli protokolleri etkinleştirebilirsiniz.

Tam benim kafamın kavrayamadığı kısımlar burası aşağıdaki linkte usb üzerinden cihaza busybox çalıştırıp expoloid ile dump alabiliyorlar ben cihazımı riske atamıyorum gerisi sizde artık.


p.webp ssh.webp telnet.webp






Önemli Notlar​

  • Root aktifken Türk Telekom otomatik ayar göndermeyebilir
  • Bu durumda müşteri hizmetlerinden modem kullanıcı bilgilerinizi talep edebilirsiniz
  • Ardından modem kurulumu sihirbaz modunda manuel yapılabilir
 
Son düzenleme:
ZySH> sys hwinfo
CPU: EN7516
Flash size: 512MB
DDR size : 512MB



kısıtlı direkt shell açmıyor ama konunun altınada bir link bıraktım başka modelde expoilt ile busybox ile full shell yetkisi alıyorlardı

Firmware Version : EX3301-T0-V0.35-250422
Bootbase Version : V1.46 | 11/17/2023 18:27:09
Vendor Name : Zyxel Communications Corp.
Product Model : EX3301-T0
Serial Number : -
First MAC Address : -
Last MAC Address : -
MAC Address Quantity : 16
Default Country Code : 00
Boot Module Debug Flag : 00
Kernel Checksum : 68715F85
RootFS Checksum : F3837D1A
Romfile Checksum : 00007665
Main Feature Bits : 00
Other Feature Bits :
7f8677e9: 0405060a 00000100 00000000 00000000
7f8677f9: 00000000 00000000 00000000


Elimdeki tek cihaz brick etmeyi riske atamam daha fazla bakmak isteyen arkadaşlar için benzer rehberler
 
Son düzenleme:
ZySH> sys hwinfo
Usage: sys help
sys show
sys atsh
sys atsn <SeriesNumber>
sys atwz <MAC> <CountryCode> <EngDbgFlag> <FeatureBit> <MacNumber>
sys atcd Erase ROM-D partition.
sys atcr [reboot] Reset to default, erase Data partition.
sys --autogenpwd <enable>
sys --autogenpwd <enable> <prefix>
sys --autogenpwd <disable> <password>
sys --autogenpwd show
sys --WPSbtn <enable>
sys --WPSbtn <disable>
sys --WPSbtn show
sys seqnum [1|2]
sys getbootpartition
sys nonboot
ZySH>
3200 modelinde bu komut çalışmadı.

TR069 ACS üzerinden shell kelimesini aratabilir misiniz​

 
Son düzenleme:
Benim jeton geç düştü birkaç dakikaya yapıp atacagım sonucu.

Bu arada bununla ilgisi var mı yok mu bilmiyorum ama şu an IPv6 adresim var gözüküyor.