Arama butonu
Bu konudaki kullanıcılar: 1 misafir
218
Cevap
35118
Tıklama
5
Öne Çıkarma
ZYXEL EX3501-T0 ANA KONUSU
S
2 yıl (894 mesaj)
Yüzbaşı
Konu Sahibi

SOL ve TT tarafından verilen bu cihaz için bir ana konu gerekecek sanırım çünkü ayarları fazlasıyla kısıtlanmış görünüyor. Mesela kablosuz SSID zar zor değiştirdim ama kablosuz şifresine istediğim şifreyi koyamadım. Önceki ZTE modemin ayarları daha kolay özelleştirilebiliyordu.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



Hala uğraşmaya devam ediyorum. Neler yapılabilir bilmiyorum ama araştırmaya devam ediyorum.

İlk olarak aklıma şu geldi, operatörler yaptığım görüşmede WiFi SSID'lerini buradan ayıra
Yoruma Git
Yorumun Devamı xilipro - 2 yıl +7
X
2 yıl (14 mesaj)
Er

Hala uğraşmaya devam ediyorum. Neler yapılabilir bilmiyorum ama araştırmaya devam ediyorum.

İlk olarak aklıma şu geldi, operatörler yaptığım görüşmede WiFi SSID'lerini buradan ayırabiliriz sizin için dediklerinde TR-069 protokolünün açık olduğunu anladım. Daha sonra superonline hesap ayarlarında WiFi iyileştirme butonunun olduğunu gördüm ve buraya basınca modeme bir ayar komutu gelecekti. Neler gelebileceğini görmek için modemde loglara bakmam lazımdı ama Maintenance menüsü altında Log Setting başlığında modemin tutacağı log türlerinde TR-069 yoktu.

Developer console ile herhangi bir ayarın (Attack) value'sunu TR-069 olarak değiştirip denedim ama olmadı, o yüzden bende python ile denemelere başladım ve istediğim ayarları açabilecek kodu sonunda üretmeyi başardım, gpt sağolsun. Aşağıdaki kod ile birlikte açık olmayan logları da enable yapabiliyoruz.

import requests
import base64
import json
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad

# 🔹 Modem IP Adresi
MODEM_IP = "192.168.1.1"

# 🔹 Tarayıcıdan aldığın çerezler
cookies = {
  "Session": "Browserda developer console açtıktan sonra, "Application" sekmesinde Cookies'nin altında yazıyor "
}

# 🔹 ZYSessionKey (Elle Gir)
zysession_key = "Browserda developer console açtıktan sonra, "Application" sekmesinde "Local Storage" da yazıyor"

# 🔹 AES Key (Base64 formatında)
AES_KEY_B64 = "Browserda developer console açtıktan sonra, "Application" sekmesinde "Local Storage" da yazıyor"

# 🔹 HTTP Başlıkları
headers = {
  "Accept": "application/json, text/javascript, */*; q=0.01",
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/133.0",
  "X-Requested-With": "XMLHttpRequest",
    "Referer": f"https://{MODEM_IP}/LogSetting",
    "Origin": f"https://{MODEM_IP}",
  "Host": MODEM_IP,
  "CsrfToken": zysession_key,
  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
}


json_data = {
  "Enable": True,
  "LogMode": "Local",
  "LogServer": "",
  "UDPPort": 514,
  "Interval": 60,
  "MailEnable": False,
  "MailTo": "",
  "MailSubject": "",
  "MailRef": "",
  "AlarmTo": "",
  "AlarmSubject": "",
  "WAN-DHCP": True,
  "DHCP Server": True,
  "PPPoE": True,
  "TR-069": True,
  "HTTP": True,
  "UPNP": True,
  "System": True,
  "ACL": True,
  "Wireless": True,
  "Voice": True,
  "MESH": True,
  "IGMP": True,
  "Account": True,
  "Attack": True,
  "Firewall": True,
  "MAC Filter": True,
  "systemLog": [
    "WAN-DHCP", "DHCP Server", "PPPoE", "TR-069", "HTTP", "UPNP",
    "System", "ACL", "Wireless", "Voice", "MESH", "IGMP"
  ],
  "securityLog": [
    "Account", "Attack", "Firewall", "MAC Filter"
  ]
}

# 🔹 Yeni IV Al
def get_iv():
  response = requests.get(
        f"https://{MODEM_IP}/cgi-bin/DAL?oid=logset",
    headers=headers,
    cookies=cookies,
    verify=False
  )
  if response.status_code == 200:
    data = response.json()
    if "iv" in data:
      iv = data["iv"]
      print(f"✅ **Yeni IV Alındı:** {iv}")
      return iv
  print("\n❌ **Hata: IV alınamadı!**")
  return None

# 🔹 JSON'u AES ile şifreleme
def encrypt_data(data, iv):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv_decoded = base64.b64decode(iv)[:16]

  json_string = json.dumps(data, separators=(",", ":"))
  cipher = AES.new(aes_key, AES.MODE_CBC, iv_decoded)
  encrypted_data = cipher.encrypt(pad(json_string.encode(), AES.block_size))

  return base64.b64encode(encrypted_data).decode("utf-8")

# 🔹 Yanıtı Çözüp Session Key'i Al
def decrypt_response(encrypted_content, iv_base64):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv = base64.b64decode(iv_base64)[:16]

  cipher = AES.new(aes_key, AES.MODE_CBC, iv)
  decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
   
  decrypted_json = decrypted_bytes.decode("utf-8")
  print("\n✅ **Şifre Çözüldü!**")
  print(decrypted_json)

  # **Yeni Session Key'i çek**
  try:
    response_dict = json.loads(decrypted_json)
    if "sessionkey" in response_dict:
      new_session_key = response_dict["sessionkey"]
      print(f"\n🔑 **Yeni SessionKey:** {new_session_key}")
      return new_session_key
  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
  return None

# 🔹 IV Al
iv_base64 = get_iv()
if not iv_base64:
  exit()

# 🔹 JSON'u Şifrele
encrypted_content = encrypt_data(json_data, iv_base64)

# 🔹 Modeme Güncellenmiş Attack: False isteği gönder
payload = {
  "content": encrypted_content,
  "iv": iv_base64
}

print("\n📡 **Modeme Güncellenmiş İstek Gönderiliyor...**")
response = requests.put(
    f"https://{MODEM_IP}/cgi-bin/DAL?oid=logset",
  headers=headers,
  cookies=cookies,
  json=payload,
  verify=False
)

if response.status_code == 200:
  try:
    # Yanıt JSON formatında ve şifrelenmiş geliyor
    response_data = response.json()
    encrypted_content = response_data["content"]
    iv_base64 = response_data["iv"]

    # Şifre çözüp yeni sessionKey alalım
    new_session_key = decrypt_response(encrypted_content, iv_base64)

  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
else:
  print(f"\n❌ **Hata! HTTP Kodu:** {response.status_code}")
  print(response.text)



< Resime gitmek için tıklayın >

Bu olduktan sonra yine operatör sayfasına gidip WiFi iyileştirme düğmesine bastım ve tekrar modeme dönüp logları kontrol ettim, anında yeni loglar geldi TR-069 altından. içinde set edilmiş bir cookie de bulunuyor. Amacım onların yetkisinda olup bizim yetkimizde olmayan şeyleri yapmak tabi ki. Yani SSID ayırmaya bile izin yok saçmalığından kurtulmak ta istiyorum. Neyse bu logların bilgilerini cookie vs kullanamadım açıkçası.

Daha sonra bu şekilde ayar değiştirebildiğim için kullanıcı hesaplarıyla ilgili birşey yapılabilirmi diye bakınmaya başladım. Aşağıdaki kod ile kullanıcı hesaplarında basit değişiklikler yapmayı başardım, hesap aktif olsun veya olmasın, timeout süresi değişsin vs gibi, burda tabi ki hemen supervisor denedim ama maalesef bir sonuca ulaşamadım. Belki bu kısımları ilerleten birileri çıkabilir diye paylaşıyorum.

import requests
import base64
import json
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad

# 🔹 Modem IP Adresi
MODEM_IP = "192.168.1.1"

# 🔹 Tarayıcıdan aldığın çerezler
cookies = {
  "Session": "Session Key Buraya Yaz"
}

# 🔹 ZYSessionKey (Elle Gir)
zysession_key = "Zysession Key Buraya Yaz"

# 🔹 AES Key (Base64 formatında)
AES_KEY_B64 = "AES Key buraya yaz"

# 🔹 HTTP Başlıkları
headers = {
  "Accept": "application/json, text/javascript, */*; q=0.01",
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/133.0",
  "X-Requested-With": "XMLHttpRequest",
    "Referer": "https://192.168.1.1/UserAccount",
    "Origin": "https://192.168.1.1",
  "Host": MODEM_IP,
  "CsrfToken": zysession_key,
  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
}

# 🔹 Attack: False olacak JSON
json_data = {
  "Index":1,
  "Enabled":True,
  "Username":"supervisor",
  "AccountRetryTime":0,
  "AccountIdleTime":3000,
  "AccountLockTime":0,
  "RemoteAccessPrivilege":"LAN,WAN",
  "group":"Administrator",
  "editId":"acc_editBtn0",
  "deleteId":"acc_deleteBtn0",
  "activeId":"userAccount-1",


  "Index":2,
  "Enabled":True,
  "Username":"admin",
  "AccountRetryTime":0,
  "AccountIdleTime":3000,
  "AccountLockTime":0,
  "RemoteAccessPrivilege":"LAN,WAN",
  "group":"Administrator",
  "editId":"acc_editBtn0",
  "deleteId":"acc_deleteBtn0",
  "activeId":"userAccount0",


# 🔹 Yeni IV Al
def get_iv():
  response = requests.get(
        f"https://{MODEM_IP}/cgi-bin/DAL?oid=user_account&timedelay=1",
    headers=headers,
    cookies=cookies,
    verify=False
  )
  if response.status_code == 200:
    data = response.json()
    if "iv" in data:
      iv = data["iv"]
      print(f"✅ **Yeni IV Alındı:** {iv}")
      return iv
  print("\n❌ **Hata: IV alınamadı!**")
  return None

# 🔹 JSON'u AES ile şifreleme
def encrypt_data(data, iv):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv_decoded = base64.b64decode(iv)[:16]

  json_string = json.dumps(data, separators=(",", ":"))
  cipher = AES.new(aes_key, AES.MODE_CBC, iv_decoded)
  encrypted_data = cipher.encrypt(pad(json_string.encode(), AES.block_size))

  return base64.b64encode(encrypted_data).decode("utf-8")

# 🔹 Yanıtı Çözüp Session Key'i Al
def decrypt_response(encrypted_content, iv_base64):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv = base64.b64decode(iv_base64)[:16]

  cipher = AES.new(aes_key, AES.MODE_CBC, iv)
  decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
   
  decrypted_json = decrypted_bytes.decode("utf-8")
  print("\n✅ **Şifre Çözüldü!**")
  print(decrypted_json)

  # **Yeni Session Key'i çek**
  try:
    response_dict = json.loads(decrypted_json)
    if "sessionkey" in response_dict:
      new_session_key = response_dict["sessionkey"]
      print(f"\n🔑 **Yeni SessionKey:** {new_session_key}")
      return new_session_key
  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
  return None

# 🔹 IV Al
iv_base64 = get_iv()
if not iv_base64:
  exit()

# 🔹 JSON'u Şifrele
encrypted_content = encrypt_data(json_data, iv_base64)

# 🔹 Modeme Güncellenmiş Attack: False isteği gönder
payload = {
  "content": encrypted_content,
  "iv": iv_base64
}
print(payload)

print("\n📡 **Modeme Güncellenmiş İstek Gönderiliyor...**")
response = requests.put(
    f"https://{MODEM_IP}/cgi-bin/DAL?oid=user_account&timedelay=1",
  headers=headers,
  cookies=cookies,
  json=payload,
  verify=False
)

if response.status_code == 200:
  try:
    # Yanıt JSON formatında ve şifrelenmiş geliyor
    response_data = response.json()
    encrypted_content = response_data["content"]
    iv_base64 = response_data["iv"]

    # Şifre çözüp yeni sessionKey alalım
    new_session_key = decrypt_response(encrypted_content, iv_base64)

  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
else:
  print(f"\n❌ **Hata! HTTP Kodu:** {response.status_code}")
  print(response.text)


Modem dosyalarını da karıştırmaya başladım, yine chrome developer altında, Sources kısmında modemin hangi directory'leri var bakmaya başladım. Ufak bir backup dosyası buldum, kolayca indiriliyor, bilgileri denetledim ama ben bir yere varamadım belki siz varabilirsiniz --> https://192.168.1.1/cgi-bin/Backup_Restore?action=Backup

Araştırmaya devam ediyorum.

192.168.1.1 adresinden herhangi bir istek gönderdiğinizde content ve iv verilerini içeren şifreli cevap geliyor, bu cevabı plain text olarak görmek isterseniz gelen cevabtaki boşlukların hepsini silip tek satır olacak şekilde düzenleyin, aşağıdaki kodu çalıştırın, şifreli veriyi istedinde yapıştırın ve komut satırında plain text halini gösterir.


import base64
import json
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

# 🔹 Güncellenmiş AES Key
AES_KEY_B64 = "AesKey buraya Gir"

def decrypt_response(encrypted_content, iv_base64):
  try:
    # AES Anahtarını ve IV'yi decode et
    aes_key = base64.b64decode(AES_KEY_B64)
    iv = base64.b64decode(iv_base64)[:16]

    # Base64 hata düzeltme: veri uzunluğunu 4'ün katına getir
    missing_padding = len(encrypted_content) % 4
    if missing_padding:
      encrypted_content += "=" * (4 - missing_padding)

    # Şifre çözme işlemi
    cipher = AES.new(aes_key, AES.MODE_CBC, iv)
    decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
     
    decrypted_json = decrypted_bytes.decode("utf-8")

    print("\n✅ **Şifre Çözüldü!**")
    print(decrypted_json)

    # **Yeni Session Key'i çek**
    try:
      response_dict = json.loads(decrypted_json)
      if "sessionkey" in response_dict:
        new_session_key = response_dict["sessionkey"]
        print(f"\n🔑 **Yeni SessionKey:** {new_session_key}")
        return new_session_key
    except json.JSONDecodeError:
      print("\n❌ **Hata: Yanıt JSON formatında değil!**")
    return None

  except Exception as e:
    print(f"\n❌ **Hata:** {str(e)}")
    return None

# 📌 Kullanıcıdan Şifreli JSON Verisini Al
json_input = input("Şifreli JSON verisini girin:\n")

try:
  # JSON içinden `content` ve `iv` değerlerini al
  data = json.loads(json_input)
  encrypted_content = data["content"]
  iv_base64 = data["iv"]

  # 📌 Şifre Çözme İşlemini Başlat
  decrypt_response(encrypted_content, iv_base64)

except json.JSONDecodeError:
  print("\n❌ **Hata: Geçersiz JSON formatı!**")


Araştırmaya devam ediyorum. Belki şu ana kadar yaptıklarım başkalarının çoktan yaptıklarıdır ama bişeyler yapmaya başladıkça daha kolay anlıyorum. Umarım ben veya başka birisi bir yerlere varabiliriz.


Bu mesaja 1 cevap geldi.
X
2 yıl (14 mesaj)
Er

Detaylı WAN bilgilerini alabileceğimiz kodu da yazdım, bu bilgilerin içinde açık şekilde superonline@fiber kullanıcı adı ve şifre de gösteriliyor, VLANID vs gibi birçok bilgi mevcut


import base64
import json
import requests
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import re

AES_KEY_B64 = "Application altındaki AesKey Buraya Yazın"
MODEM_URL = "https://192.168.1.1/cgi-bin/DAL?oid=wan"
SESSION = "Network altındaki herhangi bir objeye tıkladıktan sonra sağda çıkan Session anahtarını buraya yazın"

headers = {
  "Accept": "application/json",
  "User-Agent": "Mozilla/5.0",
  "X-Requested-With": "XMLHttpRequest"
}

cookies = {"Session": SESSION}

def decrypt_response(encrypted_content, iv_base64):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv = base64.b64decode(iv_base64)[:16]
  encrypted_content += "=" * (4 - len(encrypted_content) % 4)
  cipher = AES.new(aes_key, AES.MODE_CBC, iv)
  decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
  print(decrypted_bytes.decode("utf-8",errors="ignore").replace(",", ",\n").replace('"', ""))

response = requests.get(MODEM_URL, headers=headers, cookies=cookies, verify=False)
data = response.json()

decrypt_response(data["content"], data["iv"])



X
2 yıl (14 mesaj)
Er

Modemden bilgi alabileceğimiz benim bulduğum bütün URL'ler:
/cgi-bin/
/cgi-bin/ARPTable_handle
/cgi-bin/AtmOptinGet
/cgi-bin/CardInfo
/cgi-bin/CheckFsecureLicense
/cgi-bin/CheckSfpLinkUp
/cgi-bin/CheckVoipInuse
/cgi-bin/CurrentTime
/cgi-bin/DAL?
/cgi-bin/DAL?oid=8021AG
/cgi-bin/DAL?oid=8023AH
/cgi-bin/DAL?oid=EDNS
/cgi-bin/DAL?oid=ExtenderNetMAP
/cgi-bin/DAL?oid=IPSecVPN
/cgi-bin/DAL?oid=LanPortInfo
/cgi-bin/DAL?oid=MultiWan
/cgi-bin/DAL?oid=NAT_APPLICATION
/cgi-bin/DAL?oid=OAMPING
/cgi-bin/DAL?oid=OperatingModes
/cgi-bin/DAL?oid=OperationMode
/cgi-bin/DAL?oid=PINGTEST
/cgi-bin/DAL?oid=RDM_OID_BRIDGING_BR
/cgi-bin/DAL?oid=RDM_OID_BRIDGING_FILTER
/cgi-bin/DAL?oid=RDM_OID_DEV_SEC_CERT
/cgi-bin/DAL?oid=RDM_OID_IP_IFACE
/cgi-bin/DAL?oid=RDM_OID_LOG_CATEGORY
/cgi-bin/DAL?oid=RDM_OID_LOG_CLASSIFY
/cgi-bin/DAL?oid=Traffic_Status
/cgi-bin/DAL?oid=URL_BlackList
/cgi-bin/DAL?oid=URL_WhiteList
/cgi-bin/DAL?oid=URL_filter
/cgi-bin/DAL?oid=VOIP_Status
/cgi-bin/DAL?oid=VPNLite
/cgi-bin/DAL?oid=apas
/cgi-bin/DAL?oid=apas_macf
/cgi-bin/DAL?oid=bandwidth_improvement
/cgi-bin/DAL?oid=callblock
/cgi-bin/DAL?oid=cardpage_status
/cgi-bin/DAL?oid=cellular
/cgi-bin/DAL?oid=cellwan_mapn
/cgi-bin/DAL?oid=cellwan_sim
/cgi-bin/DAL?oid=cellwan_status
/cgi-bin/DAL?oid=content_filter
/cgi-bin/DAL?oid=cyber_secure
/cgi-bin/DAL?oid=ddns
/cgi-bin/DAL?oid=dev_sec_cert
/cgi-bin/DAL?oid=dns
/cgi-bin/DAL?oid=dns_route
/cgi-bin/DAL?oid=email_ntfy
/cgi-bin/DAL?oid=ethctl
/cgi-bin/DAL?oid=ethwanlan
/cgi-bin/DAL?oid=firewall
/cgi-bin/DAL?oid=firewall_acl
/cgi-bin/DAL?oid=firewall_proto
/cgi-bin/DAL?oid=gpon
/cgi-bin/DAL?oid=gre_tunnel
/cgi-bin/DAL?oid=igmp_mld
/cgi-bin/DAL?oid=intf_group
/cgi-bin/DAL?oid=ipalias
/cgi-bin/DAL?oid=ipfilter
/cgi-bin/DAL?oid=lan
/cgi-bin/DAL?oid=lanadv
/cgi-bin/DAL?oid=lanhosts
/cgi-bin/DAL?oid=login_privilege
/cgi-bin/DAL?oid=logset
/cgi-bin/DAL?oid=macfilter
/cgi-bin/DAL?oid=media_server
/cgi-bin/DAL?oid=mgmt
/cgi-bin/DAL?oid=mgmt_srv
/cgi-bin/DAL?oid=mqtt_client
/cgi-bin/DAL?oid=nat
/cgi-bin/DAL?oid=nat_addr_map
/cgi-bin/DAL?oid=nat_conf
/cgi-bin/DAL?oid=nat_pcp
/cgi-bin/DAL?oid=nat_trigger
/cgi-bin/DAL?oid=one_connect
/cgi-bin/DAL?oid=package_3rdParty
/cgi-bin/DAL?oid=paren_ctl
/cgi-bin/DAL?oid=phone
/cgi-bin/DAL?oid=policy_route
/cgi-bin/DAL?oid=portBindingSwitch
/cgi-bin/DAL?oid=port_mirror
/cgi-bin/DAL?oid=pppoe_setting
/cgi-bin/DAL?oid=pptp
/cgi-bin/DAL?oid=print_server
/cgi-bin/DAL?oid=qos
/cgi-bin/DAL?oid=qos_class
/cgi-bin/DAL?oid=qos_policer
/cgi-bin/DAL?oid=qos_queue
/cgi-bin/DAL?oid=qos_shaper
/cgi-bin/DAL?oid=quickWanSet
/cgi-bin/DAL?oid=reboot_schedule
/cgi-bin/DAL?oid=region
/cgi-bin/DAL?oid=rip
/cgi-bin/DAL?oid=scheduler
/cgi-bin/DAL?oid=sensor
/cgi-bin/DAL?oid=sip_account
/cgi-bin/DAL?oid=sip_sp
/cgi-bin/DAL?oid=sip_tls
/cgi-bin/DAL?oid=sp_mgmt_srv
/cgi-bin/DAL?oid=sp_trust_domain
/cgi-bin/DAL?oid=speeddial
/cgi-bin/DAL?oid=static_dhcp
/cgi-bin/DAL?oid=static_route
/cgi-bin/DAL?oid=status
/cgi-bin/DAL?oid=time
/cgi-bin/DAL?oid=tr369
/cgi-bin/DAL?oid=tr369_con
/cgi-bin/DAL?oid=tr369_con_mtp
/cgi-bin/DAL?oid=tr369_con_mtp_mqtt
/cgi-bin/DAL?oid=tr369_mtp
/cgi-bin/DAL?oid=tr369_mtp_mqtt
/cgi-bin/DAL?oid=tr69
/cgi-bin/DAL?oid=tr69default
/cgi-bin/DAL?oid=trust_domain
/cgi-bin/DAL?oid=ttsamba_account
/cgi-bin/DAL?oid=usb_filesharing
/cgi-bin/DAL?oid=usb_info
/cgi-bin/DAL?oid=user_account
/cgi-bin/DAL?oid=vlan_group
/cgi-bin/DAL?oid=vpnclient
/cgi-bin/DAL?oid=wan
/cgi-bin/DAL?oid=wan_adv
/cgi-bin/DAL?oid=wifi_easy_mesh
/cgi-bin/DAL?oid=wifi_macfilter
/cgi-bin/DAL?oid=wifi_others
/cgi-bin/DAL?oid=wifi_wds
/cgi-bin/DAL?oid=wlan
/cgi-bin/DAL?oid=wlan_chanhopping
/cgi-bin/DAL?oid=wlan_sch_access
/cgi-bin/DAL?oid=wlan_scheduler
/cgi-bin/DAL?oid=wmm
/cgi-bin/DAL?oid=wps
/cgi-bin/Diagnostic_Result
/cgi-bin/EthctlOptionGet
/cgi-bin/Firmware_Upgrade
/cgi-bin/GetMTDSize?from=config
/cgi-bin/GetMTDSize?from=firmware
/cgi-bin/GetMTDSize?from=wwan
/cgi-bin/GetRouterLanPortMacList
/cgi-bin/Home_Networking?action=WOLCommand
/cgi-bin/Home_Networking?action=WOLParseTuple
/cgi-bin/Home_Networking?oid=lan
/cgi-bin/IgmpTbSt?action=get
/cgi-bin/LAN_PORT_LIST_Get
/cgi-bin/LogResult?action=GET_LOG&oid=RDM_OID_LOG_CLASSIFY&iid=[1,0,0,0,0,0]
/cgi-bin/LogResult?action=GET_LOG&oid=RDM_OID_LOG_CLASSIFY&iid=[1,0,0,0,0,0]&category=
/cgi-bin/LogResult?action=GET_LOG&oid=RDM_OID_LOG_CLASSIFY&iid=[2,0,0,0,0,0]
/cgi-bin/LogResult?action=GET_LOG&oid=RDM_OID_LOG_CLASSIFY&iid=[2,0,0,0,0,0]&category=
/cgi-bin/MULTI_USER_LIST_Get
/cgi-bin/McastSt?action=get
/cgi-bin/McastTbSt?action=get
/cgi-bin/MenuList
/cgi-bin/MultiLangSave
/cgi-bin/NATSession_handle
/cgi-bin/Online_FWInfoCheck
/cgi-bin/Online_FWUpgradeAction
/cgi-bin/Online_FW_Upgrade
/cgi-bin/QosMonitor_handle
/cgi-bin/RoutingTable_handle
/cgi-bin/SIP?oid=RDM_OID_ETH_LINK
/cgi-bin/SIP?oid=RDM_OID_IP_IFACE
/cgi-bin/SIP?oid=RDM_OID_PPP_IFACE
/cgi-bin/SNMP?oid=snmp
/cgi-bin/SteeringStatus_handle
/cgi-bin/System?oid=snmp
/cgi-bin/TodayWlanSch
/cgi-bin/Traffic_Status?mode=NATConntrack_handle
/cgi-bin/Traffic_Status?mode=NATStatus_handle
/cgi-bin/USB3SupportSave
/cgi-bin/USB_Service?action=getIppPrinterName
/cgi-bin/USB_Service?oid=RDM_OID_GUI_CUSTOMIZATION
/cgi-bin/USB_Service?oid=RDM_OID_ZY_IPP_CFG
/cgi-bin/USB_Service?oid=RDM_OID_ZY_SAMBA_DIR
/cgi-bin/UserLoginCheck
/cgi-bin/WAN_LAN_LIST_Get
/cgi-bin/dslLineStatusGet
/cgi-bin/getBasicInformation
/cgi-bin/getCustomizationData
/cgi-bin/getDefaultInformation
/cgi-bin/getDefaultWANIP
/cgi-bin/getWebGuiFlag
/cgi-bin/loginAccountLevel
/cgi-bin/snmp?oid=snmp
/cgi-bin/xDSLProfileGet
/cgi-bin/xDSLStatistics_handle?line=

içlerine baktığım kadarıyla yararlı sayılacak bilgiler bu dosyalarda, yine birkaç farklı dosyada fiber kullanıcı adı ve şifre açıkça yazılmış durumda. Tabi açıkça diyorum ama content ve IV ile şifreleri çözünce ortaya çıkıyor.

< Resime gitmek için tıklayın >

/cgi-bin/ şekline yazdığım bütün urleleri cgi-bin-urls.txt dosyasına kaydederseniz ve aşağıdaki kodu çalıştırırsanız hepsini tek tek sorgulayıp, şifreleri çözüp, decoded_responses diye bir klasör oluşturacak ve içine sorguladıgi urllerin isminde txt dosyaları oluşturacak(görselde göründüğü gibi)

import base64
import json
import requests
import os
import re
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

AES_KEY_B64 = "AesKey Buraya Yaz"
MODEM_IP = "192.168.1.1"
SESSION = "Session Buraya Yaz"
URLS_FILE = "cgi-bin-urls.txt"
OUTPUT_DIR = "decoded_responses"

headers = {
  "Accept": "application/json",
  "User-Agent": "Mozilla/5.0",
  "X-Requested-With": "XMLHttpRequest"
}

cookies = {"Session": SESSION}

os.makedirs(OUTPUT_DIR, exist_ok=True)

def decrypt_response(encrypted_content, iv_base64):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv = base64.b64decode(iv_base64)[:16]
  encrypted_content += "=" * (4 - len(encrypted_content) % 4)
  cipher = AES.new(aes_key, AES.MODE_CBC, iv)
  decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
   
  return decrypted_bytes.decode("utf-8", errors="ignore").replace(",", ",\n").replace('"', "")

def sanitize_filename(url):
  filename = re.sub(r'[^\w\-]', '_', url.split("/cgi-bin/")[-1])  
  return filename if filename else "root"

with open(URLS_FILE, "r", encoding="utf-8") as file:
  urls = [line.strip() for line in file.readlines() if line.strip()]

for url in urls:
    full_url = f"https://{MODEM_IP}{url}"
  try:
    response = requests.get(full_url, headers=headers, cookies=cookies, verify=False)
    if response.status_code == 200:
      data = response.json()
      if "content" in data and "iv" in data:
        decrypted_text = decrypt_response(data["content"], data["iv"])
        filename = sanitize_filename(url) + ".txt"
        file_path = os.path.join(OUTPUT_DIR, filename)
         
        with open(file_path, "w", encoding="utf-8") as f:
          f.write(decrypted_text)

  except Exception as e:
    print(f"❌ Hata: {e} - URL: {full_url}")



X
2 yıl (14 mesaj)
Er

Uzun süredir TR-069 server nasıl kurarım diye düşünürken https://forum.donanimhaber.com/mesaj/yonlen/159504183 konusunda @TolgaGazi3548 'in yapmış olduğu anlatıma göre belirtilen siteden hesap oluşturdum ve daha önce verdiğim yöntemle python kullanarak modemdeki TR-069 bilgilerini değiştirdim. Bahsedilen linkten modeme erişim sağladığımda ilk defa sUser kullanıcısını gördüm ama şifresi görünmüyordu. TR-069 komutunu kullanarak modemdeki sUser şifresini değiştirdim. Artık sUser olarak giriş yapabiliyorum. Ne değiştir birşey değişmedi, modem aynı rezaletliğini koruyor :) ama bu kadar uğraştan sonra artık rahatladım.

Modemdeki bütün bilgileri çektikten sonra yeni router siparişi verdim ve elime ulaştı. OpenWRT kurarak ayarları yaptım ve artık yeni router ile online'ım. superonline'ın modemini de kenara kaldırdım. Benim tarafımdaki ayarlarda tek eksik olan vlan imiş. openWRT ayarlarında wan.0 yapınca IP adresi geldi ve online oldum. Bende kullanıcı adı@fiber + şifre + MAC Klon + vlan ile online oldum, farklı yerlerde farklı güvenlik önlemleri var. Aşağıda forumda belirtilen konudaki siteden üyelik oluşturup gerekli bilgileri aldıktan sonra kendi modeminize nasıl aktaracağınızın kodunu veriyorum. Dediğim gibi bence yine de iyi değil bu modem.

import requests
import base64
import json
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad

# 🔹 Modem IP Adresi
MODEM_IP = "192.168.1.1"

# 🔹 Tarayıcıdan aldığın çerezler
cookies = {
  "Session": "Session anahtarını buraya yaz"
}

# 🔹 ZYSessionKey (Elle Gir)
zysession_key = "zySessionkey buraya yaz"

# 🔹 AES Key (Base64 formatında)
AES_KEY_B64 = "Aes anahtarını buraya yaz"

# 🔹 HTTP Başlıkları
headers = {
  "Accept": "application/json, text/javascript, */*; q=0.01",
  "Accept-Encoding": "gzip, deflate, br, zstd",
  "Accept-Language": "tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7",
  "Cache-Control": "no-cache",
  "Connection": "keep-alive",
  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
  "CsrfToken": zysession_key,
  "Session": "Session anahtarını buraya da yaz",
  "Dnt": "1",
  "Host": "192.168.1.1",
  "If-Modified-Since": "Thu, 01 Jun 1970 00:00:00 GMT",
    "Origin": "https://192.168.1.1",
    "Referer": "https://192.168.1.1/",
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
  "X-Requested-With": "XMLHttpRequest",
  "sec-ch-ua-mobile" : "?0"
}

# 🔹 Attack: False olacak JSON
json_data = {
  "EnableCWMP":True,
  "URL":"cloud.tr069.pro dan aldığın server adresini buraya yaz",
  "Username":"cloud.tr069.pro dan aldığın kullanıcı adını buraya yaz",
  "Password":"cloud.tr069.pro dan aldığın şifreyi buraya yaz",
  "ConnectionRequestUsername":"cloud.tr069.pro dan aldığın kullanıcı adını buraya yaz",
  "ConnectionRequestPassword":"cloud.tr069.pro dan aldığın şifreyi buraya yaz",
  "PeriodicInformEnable":True,
  "PeriodicInformInterval":86400,
  "PeriodicInformTime":"0001-01-01T00:00:00Z",
  "X_ZYXEL_ActiveNotifyUpdateInterval":30,
  "DebugLevelEnable":13,
  "FetureOptionEnable":2,
  "X_ZYXEL_ConnectionRequestPort":7547,
  "IPv6_Enable":False,
  "IPv4_Enable":True,
  "DisplaySOAP":False,
  "EnableAuthentication":None,
  "BoundInterfaceMode":"Multi_WAN",
  "BoundInterfaceList":"IP.Interface.2,IP.Interface.3",
  "ConnectionRequestURL":"",
  "CheckCert":False,
  "DataModelSpec":"TR-098",
  "Certificate":0,

}



# 🔹 Yeni IV Al
def get_iv():
  response = requests.get(
        f"https://{MODEM_IP}/cgi-bin/",
    headers=headers,
    cookies=cookies,
    verify=False
  )
  if response.status_code == 200:
    data = response.json()
    if "iv" in data:
      iv = data["iv"]
      print(f"✅ **Yeni IV Alındı:** {iv}")
      return iv
  print("\n❌ **Hata: IV alınamadı!**")
  return None

# 🔹 JSON'u AES ile şifreleme
def encrypt_data(data, iv):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv_decoded = base64.b64decode(iv)[:16]

  json_string = json.dumps(data, separators=(",", ":"))
  cipher = AES.new(aes_key, AES.MODE_CBC, iv_decoded)
  encrypted_data = cipher.encrypt(pad(json_string.encode(), AES.block_size))

  return base64.b64encode(encrypted_data).decode("utf-8")

# 🔹 Yanıtı Çözüp Session Key'i Al
def decrypt_response(encrypted_content, iv_base64):
  aes_key = base64.b64decode(AES_KEY_B64)
  iv = base64.b64decode(iv_base64)[:16]

  cipher = AES.new(aes_key, AES.MODE_CBC, iv)
  decrypted_bytes = unpad(cipher.decrypt(base64.b64decode(encrypted_content)), AES.block_size)
   
  decrypted_json = decrypted_bytes.decode("utf-8")
  print("\n✅ **Şifre Çözüldü!**")
  print(decrypted_json)

  # **Yeni Session Key'i çek**
  try:
    response_dict = json.loads(decrypted_json)
    if "sessionkey" in response_dict:
      new_session_key = response_dict["sessionkey"]
      print(f"\n🔑 **Yeni SessionKey:** {new_session_key}")
      return new_session_key
  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
  return None

# 🔹 IV Al
iv_base64 = get_iv()
if not iv_base64:
  exit()

# 🔹 JSON'u Şifrele
encrypted_content = encrypt_data(json_data, iv_base64)

# 🔹 Modeme Güncellenmiş Attack: False isteği gönder
payload = {
  "content": encrypted_content,
  "iv": iv_base64
}
print(payload)

print("\n📡 **Modeme Güncellenmiş İstek Gönderiliyor...**")
response = requests.put(
    f"https://{MODEM_IP}/cgi-bin/DAL?oid=tr69",
  headers=headers,
  cookies=cookies,
  json=payload,
  verify=False
)

if response.status_code == 200:
  try:
    # Yanıt JSON formatında ve şifrelenmiş geliyor
    response_data = response.json()
    encrypted_content = response_data["content"]
    iv_base64 = response_data["iv"]

    # Şifre çözüp yeni sessionKey alalım
    new_session_key = decrypt_response(encrypted_content, iv_base64)

  except json.JSONDecodeError:
    print("\n❌ **Hata: Yanıt JSON formatında değil!**")
else:
  print(f"\n❌ **Hata! HTTP Kodu:** {response.status_code}")
  print(response.text)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @TolgaGazi3548
X
2 yıl (14 mesaj)
Er

1 dakika önce denemek için yine @TolgaGazi3548 'in bu konuyla alakalı mesajına denk geldim -- > https://forum.donanimhaber.com/mesaj/yonlen/160570090

3. adıma geçtiğimde tv+'ın ip adresi lazım oldu ama yeni router'a takılı değildi, onu taktım ve açınca nasıl hata verecek diye bakayım dedim ama hata gelmedi, canlı kanallar açıldı, film menüsünden filmler de açıldı, başka da önemli bir yer yok heralde orada kontrol edeceğim, yani tv+ ta çalıştı evet.




Bu mesajda bahsedilenler: @TolgaGazi3548 , @karaniler
L
2 yıl (1115 mesaj)
Yüzbaşı

@xilipro Hocam merhaba. Konudaki modeme bende sahibim. Ethernet bağlantısında nadir de olsa kopma yaşıyordum. Kablo değiştim ama düzelmedi. Kopma olduğu sırada modemi kontrol ettiğimde kendine restart attığını gördüm. Sorun modem de olabilir diye düşündüm o yüzden ve router sipariş verdim. Siparişten sonrada tam bu konuyu gördüm. Kullanıcı adı ve şifreyi konsoldan öğrenmiştim bu yüzden sıkıntısız bağlantı olur diye düşünmüştüm. Daha sonra sizin mesajları görünce siparişi iptal etmeden elimde olanda bir router da denemek istedim. Tenda ac5 v3 modeline kullanıcı adı şifre ve modem arayüzünde yazan mac değerini girdim ve bende bağlantı sıkıntısız gerçekleşti. Başka hiçbir ayar yapmadım. Router olarak da bu modeli satın aldım. Fiyatı uygun geldi ve tv+ vs kullanmıyorum. Stabil ethernet sağlasa benim için yeterli. Teslim alıp kurmayı denedikten sonra sonucu da yazarım.
https://app.hb.biz/ltEfAUsRvHa3





< Bu mesaj bu kişi tarafından değiştirildi Liquido02 -- 24 Şubat 2025; 14:15:54 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @xilipro
G
2 yıl (6096 mesaj)
Yarbay

telefon aç arıza kaydı bildir. bu ont cihazı kendi kendine bazen kapanıp açılıyor de. değiştirirler. tabi fişini sen çekeceksin arada bir.
tabi sen doğrusunu söyle en iyisimi. hattımda kesintiler oluyor bu ont cihazından şüpheleniyorum de bari. :D


ex3501'in lan portlarından sadece bir tanesi Gb destekliyormuş, ilginç. bağlantın hızın nedir? belki bununla ilgili bir sorun yaşıyor olabilir misin?
"Modemin arkasında bulunan LAN portlarından sadece 1 tanesi Gigabit hız destekliyor. Diğer 2/3 port sadece 100 mbps verebiliyor. Port değiştirmeyi deneyin çözüm olabilir."

https://www.technopat.net/sosyal/konu/zyxel-ex3501-t0-modem-ayarlari-nasil-olmali.3588863/#post-27341273


< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Guest-8645012F0 -- 12 Mart 2025; 14:48:35 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @LordHrothgar
B
geçen yıl (3194 mesaj)
Yarbay

100 mbit fiber üyesiyim.

bende zte zxhn h298a modem kullanıyordum 5 6 senedir.
wifi 6 özellikli ürünlerim olduğu için değişim talep ettim. modemi değiştirdiler bugün.

tp link ex20 ax1800 gelir diye bekliyordum.

zyxel ex3501 t0 verdiler.

sizce nasıl? kullanan arkadaşlar olarak fikrinizi almak isterim.

teşekkürler şimdiden



H
geçen yıl (20 mesaj)
Onbaşı

Bu modemde kısıtlı root (dns vb değiştirme) izni elde etmeyi başardım
https://forum.donanimhaber.com/zyxel-ex3501-t0-ana-konusu--160700087#160778191
bu mesajdaki gibi tr069 u kendi kontrolünüze aldığınızda InternetGatewayDevice.X_TTG.Users.User.2.Enable ı true ve InternetGatewayDevice.X_TTG.Users.User.2.Password ı da istediğiniz şifre yaparsanız root kullanıcı adı ile girebiliyorsunuz
Eğer bu değerler gözükmüyorsa InternetGatewayDevice.X_TTG.Users olarak get çalıştırabilirsiniz ondan sonra gözükür tr069 sağlayıcısında
(Resimdeki model farklı biliyorum ama aynı şekilde bu cihazdada oluyor)
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >

ssh ve telnet erişimi açılabiliyor ama zycli denen kısıtlı bir araç kullanılabiliniyor sadece ilginç olarak firmware guncellemesinde model ve sürüm kontrolü kapatılabiliyor zycli ile ama bendeki tek modem bu olduğundan ve firmware bulamadığımdan daha fazla kurcalamadım
İlgilenen ve yapamayan olursa yazsın o mesajda belirtilen tr069.pro ile anlatım yazabilirim ben kendi sunucum olduğu içn ona genieacs kurarak yaptım
işlemleri yapan curl request (genieacs için)
curl -sS -X POST 'http://localhost:7557/devices/DEVICE_ID/tasks'   -H 'Content-Type: application/json'   --data '{"name":"setParameterValues","parameterValues":[
    ["InternetGatewayDevice.X_TTG.Users.User.1.Password","ModemBizdedir#!!","xsd:string"],
    ["InternetGatewayDevice.X_TTG.Users.User.2.Enable",true,"xsd:boolean"],
    ["InternetGatewayDevice.X_TTG.Users.User.2.Password","ModBizdedirem#!!","xsd:string"]
   ]}'



S
12 ay (894 mesaj)
Yüzbaşı
Konu Sahibi

F
11 ay (4187 mesaj)
Yarbay

banada yeni taktılar zyxel ex3501 bu cihaza iyimi Huawei BE3 Wi-Fi 7 Router, BE3600 Mbps,




Bu mesajda bahsedilenler: @sokrat68
S
11 ay (894 mesaj)
Yüzbaşı
Konu Sahibi

Ben 7 ay boyunca kullandım ve sevmedim cihazı. wi-fi performansı kötüydü ve arada crash ediyordu. Google Mesh cihazlarımla sorun yaşıyordu. Nihayet ZTE 3600p ile değiştirdiler. Ben açıkçası sorunuzu pek anlamadım "bu cihaza iyimi Huawei BE3 Wi-Fi 7 Router, BE3600 Mbps" tam olarak ne kastettiniz?





< Bu mesaj bu kişi tarafından değiştirildi sokrat68 -- 10 Ekim 2025; 16:37:43 >
Bu mesaja 1 cevap geldi.
F
11 ay (4187 mesaj)
Yarbay

Huawei BE3 Wi-Fi 7 Router, BE3600 Mbps modem olarak kulllanıyormuş




Bu mesajda bahsedilenler: @sokrat68
C
11 ay (3294 mesaj)
Yarbay

C
10 ay (3294 mesaj)
Yarbay

S
10 ay (894 mesaj)
Yüzbaşı
Konu Sahibi

Mesh sistemler direk ont cihazına bağlanamıyor diye biliyorum. PPoE için SOL şifreyi vermiyor. Bende de üçlü Google Nest Pro Wifi 6e Sistem var, Modem/Router'a bağlıyorsunuz, cihazlardan biri Router, diğer(ler)i AP olarak mesh oluşturuyor. Ancak bu şekilde Zyxel double NAT yapıp çöküyordu. ZTE'de şimdilik çökme olmadı.




Bu mesajda bahsedilenler: @bodrum
C
9 ay (3294 mesaj)
Yarbay

https://forum.donanimhaber.com/mesaj/yonlen/162386747
15 m cat6 kablo ile hiç bir ayar yapmadan aldığım sonuç buydu .santral sorunu gibi duruyor sizde


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @sekooates
P
8 ay (2 mesaj)
Er

Herkese selamlar. Uzun uğraşlar sonunda modemi rootlamayı başardım. Öncelikle başlıktaki tr069 metodunu keşfeden arkadaşlara teşekkür ederim. Bu yöntem ile ilerleyip modemi ttg ve zyxel global parametreleriyle rootlamaya çalışıyoruz. mantığı bu şekilde yani. daha uzun bir post yazmayı düşünüyorum bununla ilgili şimdilik sadece tr069-genieacs kodlarını vereceğim. ben "genieacs" kullandım dileyen cloud.tr069.pro dan da yapabilir.

curl -i 'http://localhost:7557/devices/(DEVICE-ID)/tasks?connection_request' -X POST --data '{"name": "setParameterValues", "parameterValues": [
["InternetGatewayDevice.X_TTG.Users.User.2.Password", "SIFREBURAYA09", "xsd:string"],
["InternetGatewayDevice.X_TTG.Users.User.2.Enable", true, "xsd:boolean"],
["InternetGatewayDevice.X_TTG.Users.User.2.X_ZYXEL_Privilege", "1", "xsd:unsignedInt"],
["InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Password", "SIFREBURAYA09", "xsd:string"],
["InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Enable", true, "xsd:boolean"],
["InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Privilege", "supervisor", "xsd:string"]
]
}'

localhost yazan yere eğer cloud kullanacaksanız cloud url girmelisiniz. curl ile veya parametre ile yapabilirsiniz. provision ile yapacaklar için onu da bırakıyorum. Eğer genieacs kullanacaksanız port da yazmalısınız. üstteki( localhost:7557 ) şeklinde.
GENIEACS PROVISION:

// --- AYARLAR ---
const desiredPassword = "sifreburaya09"; // Şifreni buradan değiştirebilirsin

log('Provision: Root yetkisi ve şifre tanımlama başlatılıyor...');

// 1. BLOK: Türk Telekom Özel Parametreleri (X_TTG)
// InternetGatewayDevice.X_TTG.Users.User.2
declare("InternetGatewayDevice.X_TTG.Users.User.2.Password", {value: now}, {value: desiredPassword});
declare("InternetGatewayDevice.X_TTG.Users.User.2.Enable", {value: now}, {value: true});
declare("InternetGatewayDevice.X_TTG.Users.User.2.X_ZYXEL_Privilege", {value: now}, {value: 1});

// 2. BLOK: Zyxel Global Parametreleri (X_ZYXEL_EXT)
// InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2
declare("InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Password", {value: now}, {value: desiredPassword});
declare("InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Enable", {value: now}, {value: true});
declare("InternetGatewayDevice.X_ZYXEL_EXT.LoginCfg.LogGp.1.Account.2.Privilege", {value: now}, {value: "supervisor"});

log('Provision: Root komutları işlendi.');

Son olarak ekran görüntüleri:
< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi psycash -- 12 Ocak 2026; 18:15:28 >
Bu mesaja 2 cevap geldi.
T
8 ay (29410 mesaj)
Yarbay

Teşekkürler hocam.

Ben baktım klavuzunda var ama ortak klavuz olduğu için koymuşlar o kısmı, başka cihazlarda vardır ama bu cihazda o mod yok maalesef. iki mod var ap ve router modu olarak ama ikisinde de interneti kablolu alıyor.

hb dan almıştım, sorular kısmında bu soruyu soran birine olur demişler ama olmuyor.

iade ettim, wisp modu olan bir router bakıyorum. usb wifi alıcıların hızlı olanları router fiyatına geliyor, wifi6-7 bir router alsam ileride daha kullanışlı olur diye düşünüyorum. 2 bin lira vermişken.

Everest EWR-X3000-V1
Cudy Wr3000

gibi cihazlara bakıyorum.

Huawei BE3 de wisp yok ama ilk önce kablolu kurulum ypatıktan sonra kablosuz alıcı olarak kullanılabilir dediler. marka olarak daha güvenilir geldiği için bunu deneyeceğim sanırım.

iyi günler.





< Bu mesaj bu kişi tarafından değiştirildi ToggT12x -- 28 Ocak 2026; 13:3:16 >


Bu mesajda bahsedilenler: @cce