Skip to content

Instantly share code, notes, and snippets.

@rajkosto
Last active April 18, 2024 00:44
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rajkosto/fbfa22a3c6d6bff7d9ebf92ec8adeb34 to your computer and use it in GitHub Desktop.
Save rajkosto/fbfa22a3c6d6bff7d9ebf92ec8adeb34 to your computer and use it in GitHub Desktop.
Yettel Hipernet ZTE ZXHN H298Q detalji, i tutorial za izvlacenje podataka iz config fajla
ZTE Yettel ruter uspostavlja sledece veze preko svog WAN kabla:
Connection: Management
DHCP IPoE VLAN 715 Priority 0
Vendor class dslforum.org
IP address 10.48.x.x/255.254.0.0
Ovu mrezu koristi da komunicira sa TR069 ACS-om na adresi https://acs.cetin.rs:10302/acs/serbia
Connection: Voice
DHCP IPoE VLAN 711 Priority 5
Vendor class dslforum.org
IP address 10.54.x.x/255.254.0.0
Ovu mrezu verovatno koristi za SIP, ali posto ovde nema tel. usluge ne salje nikakve pakete posle DHCP-a i upita DNS za asbcp.ims.telenor.rs
Connection: IPTV
DHCP IPoE VLAN 712 Priority 5
Vendor class dslforum.org
Na ovoj mrezi ne dobija ni IP, DHCP server ne odgovara, ali ruter salje neke IGMP pakete na pocetku
Connection: Internet
PPPoE VLAN 710 Priority 0
Username: BEM123456@yettel.rs ili BE1234567@telenor.rs, brojevi su razliciti za svakog
Password: 12 karaktera, samo velika i mala slova
IP: 10.0.x.x
Posle factory reseta, parametri koji se vracaju iz firmvera ZTE ZXHN 298Q su:
- nema ppp user/pass
- normal user yettel (telenor u starijem firmveru)
- normal pass yettel (telenor u starijem firmveru)
- admin user admin
- admin pass s0kz1mDpcI. (zavrsava se sa tackom)
- acs url https://acs.cetin.rs:10302/acs/serbia
- acs user MMMMMM-ZTEXXXXXXXXXXXX (ceo serijski broj, vidi se na webgui kao "Device Serial No.")
- acs pass xXxxXXxX (isti kao wifi pass na nalepnici)
- crq port 30001
- crq user ACS
- crq pass c6r3p!.asv3s9.m
Cim se poveze na opticku mrezu i kontaktira ACS posle factory reseta, taj server postavlja sledece vrednosti:
- ppp user BEM123456@yettel.rs (BE1234567@telenor.rs za starije korisnike, broj je razlicit za svakog ali isti broj cifara)
- ppp pass xXxXxXxXxXxX (12 nasumicnih velikih/malih slova, nema brojeva)
- admin pass A@hhhhhhhhhh (h su 10 nasumicne hex cifre mala slova)
- acs user ZTEXXXXXXXXXXXX (serijski broj, samo deo posle -)
- acs pass hhhhhhhhh (h su 10 nasumicne hex cifre mala slova, nije isti kao admin pass)
- crq port 30001
- crq user ZTEXXXXXXXXXXXX (serijski broj, samo deo posle -)
- crq pass hhhhhhhh (h su 8 nasumicne hex cifre mala slova, nije isti kao acs pass)
sve generisane sifre oznacene sa h SE MENJAJU SVAKI PUT KADA SE RADI FACTORY RESET RUTERA. ppp user/pass je vezan za nalog i on se ne menja (osim valjda ako ne kupite staticki ip)
tako da ne postoji staticna/globalna admin sifra koja je vama korisna ako zelite da ruter bude na mrezi...
Izvlacenje trenutnih vrednosti iz config fajla:
- Skinuti i instalirati Python verziju > 3.5 na neku putanju koju cete moci lako da ukucate u komandnoj liniji (npr. C:\Python38)
- Ici na https://github.com/rajkosto/zte-config-utility (moja verzija zte-config-utility koja podrzava ovaj ruter) i kliknuti na dugme Code->Download ZIP
- Ekstraktovati taj ZIP u neki folder, u taj isti folder udjite sa komandnom linijom
- Ici na 192.168.1.1, logovati se kao bilo koji user, na stranici Management & Diagnosis -> System Management -> User Configuration Management kliknuti Backup Configuration dugme
- Taj fajl snimiti u isti folder u koji je ekstraktovan ZIP
- U komandnoj liniji u tom folderu pokretati sledece komande da bi se pripremilo za rad sa config fajlom:
"C:\Python38\Scripts\pip.exe" install pycryptodomex
"C:\Python38\Scripts\pip.exe" install .
- Treba da pise "Successfully installed zcu-0.3.0"
- Za dekriptovanje konfig fajla koji je dobijen preko "Backup configuration" pokrenuti:
"C:\Python38\python.exe" examples/decode.py config.bin config.xml
- Za enkriptovanje konfig fajla nazad kako bi se mogao "Restore configuration" izabirom config2.bin posle edita config.xml pokrenuti:
"C:\Python38\python.exe" examples/encode.py --signature "ZXHN H298Q V7.0" --use-signature-encryption config.xml config2.bin
- Otvoriti config.xml i pronaci vrednosti koje vas interesuju :) (ppp user/pass se nalazi u sekciji <Tbl name="PPPIF" RowCount="1"> , admin user/pass se nalazi u sekciji <Tbl name="DevAuthInfo" RowCount="7"> )
@cvladan
Copy link

cvladan commented Dec 26, 2022

Woow. Uspeo da izvučem admin user/pass.
Hvala!

Interesuje me ima li još nešto korisno za mene kao korisnika, što mogu da izmenim u config.xml pa da ga enkriptuojem i restorujem?

@alexey-abrosin
Copy link

Well done, thank you!

@sasabajic
Copy link

Well done, really helpful. Thank for your time to solve this.

@Programmers3001
Copy link

Kako mogu da dobijem sifru uredjaja? Gledao sam tutorial na youtub-u ali za to treba sifra

@rajkosto
Copy link
Author

rajkosto commented May 9, 2023

Ovaj video pokazuje kako izvuci admin ili PPPoE sifru ako mozete uci na webgui rutera: https://www.youtube.com/watch?v=wPilc4_La4w
ako uopste ne mozete uci na webgui rutera ni sa korisnickom ni sa admin sifrom, mozete ga fabricki resetovati i onda ce raditi korisnicka i admin sifra iz ovog dokumenta (admin i pppoe se menja cim dobije WAN posle fabrickog reseta)

@savely-krasovsky
Copy link

savely-krasovsky commented Oct 7, 2023

Thank you very much! Successfully connected my MikroTik using extracted PPPoE credentials. But I was also need to create VLAN with correct ID from ZTE router settings.

@urosg3
Copy link

urosg3 commented Feb 28, 2024

Hvala Rajko, živ bio!

@sdejanovic76
Copy link

Super!
samo kako sad da ga stavim u bridge mode?
nadam se da pitanje nije toliko glupo

@nikp123
Copy link

nikp123 commented Mar 18, 2024

Hvala za pass, ali izgleda da sam iza CG-NAT-a. RIP moje self-hosted ideje.

@savely-krasovsky
Copy link

savely-krasovsky commented Mar 18, 2024

@nikp123 you can purchase static IP for 400 RSD per month.

@nikp123
Copy link

nikp123 commented Mar 18, 2024

Not interested in static, just having any publically routable IP at all. (There are DyDNS tools after all). Hvala u svakom slucaju.

@rajkosto
Copy link
Author

rajkosto commented Mar 18, 2024

Svi na Yettel Hipernetu koji NE PLACAJU dodatak staticne IP adrese 400din/mesecno su iza CG-NATa, i zbog toga im nece raditi port forwarding gde god da ga odrade (ova cinjenica se vidi i u ovom gist-u, Internet IP je 10.0.x.x, nije cak ni u pravilnom 100.x CGNAT opsegu)

Ako hoces da radi port forwarding, moras biti na statickoj IP adresi kod Yetel Hiperneta, nema nista od DynDNS-a

@nikp123
Copy link

nikp123 commented Mar 18, 2024

Jasno, samo sam gledao da li ce biti neki nacin da ne moram dici racun za 30%. Ali razumem da postoji nedostatak IP adresa. Mislim na kraju dana ovo sto sam planirao raditi mi se ne isplati u tom slucaju, hvala na informacijama.

@savely-krasovsky
Copy link

savely-krasovsky commented Mar 18, 2024

Well, it's definitely not a nice move from Yettel, but for their speed and price (which is at least currently is less than for MTS or SBB) I am okay to pay an extra.

@nikp123
Copy link

nikp123 commented Mar 18, 2024

Well, it's definitely not a nice move from Yettel, but for their speed and price (which is at least currently is less than for MTS or SBB) I am okay to pay an extra.

That's completely fair. I am not judging them, you and they gotta pay for those IP addresses somehow.

@savely-krasovsky
Copy link

savely-krasovsky commented Mar 18, 2024

What would be nice is if they start to assign at least /64 IPv6 subnet. But it's another story...

@nikp123
Copy link

nikp123 commented Mar 18, 2024

What would be nice is if they start to assign at least /64 IPv6 subnet. But it's another story...

From experience I feel no ISP dared to implement IPv6 in either Serbia or Bosnia ATM. I wasn't able to find any connection with a public IPv6. Yeah, it's lame.

@rajkosto
Copy link
Author

in Serbia, the only ipv6 capable operator is Supernova, now a division of MTS but its networking is still entirely independent and works completely differently, gives out public IPV6 to all it's users because their IPV4 is all CG-NAT.

@groliks
Copy link

groliks commented Apr 7, 2024

Svaka čast za ovo! Radi kao sat ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment