Yazılım dosyasını ZyXEL FTP sunucusundan buluyoruz ve indiriyoruz.
100AAWV7D0.bin adlı yazılım dosyasını Binwalk ile dosyamızı inceliyoruz.
# binwalk --dd='.*' 100AAWV7D0.bin DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 131072 0x20000 JFFS2 filesystem, big endian
JFFS2 filesystem olduğunu görüyor ve JFFS2 extraction tool’u githubdan clonlayıp kurulumunu yapıyoruz .
#git clone https://github.com/sviehb/jefferson.git #pip install cstruct #apt-get install python-lzma #python setup.py install
Sonra dosyamızı bu araçla extract ediyoruz.
#jefferson 100AAWV7D0.bin -d output_dir
Dosya sistemine artık erişebilir durumdayız.
/etc/default.cfg içerisindeki dosyayı inceliyoruz
<X_5067F0_LoginCfg> <X_5067F0_LoginGroupNumberOfEntries>1</X_5067F0_LoginGroupNumberOfEntries> <X_5067F0_EnableQuickStart>TRUE</X_5067F0_EnableQuickStart> <X_5067F0_Login_Group instance="1"> <Privilege>broadband,wireless,homeNetworking,usbService,routing,dnsroute,qos,nat,dns,halfBridge,igmpSetting,intfGrp,firewall,macFilter,parentalControl,schedulerRule,certificates,ipsecVPN,sip,phone,callRule,log,packetCapture,trafficStatus,voipStatus,arpTable,routeTable,igmpGroupStatus,xdslStatistics,system,userAccount,remoteMGMT,tr069Client,tr064,snmp,time,emailNotification,logSetting,firmwareUpgrade,configuration,reboot,callHistory,dialTest,disagnostic,HelpDesk,wizard</Privilege> <Name>Administrator</Name> <ConsoleLevel>2</ConsoleLevel> <Use_Login_Info instance="1"> <UserName>admin</UserName> <Password>dHVya3RlbGVrb20=</Password> </Use_Login_Info> <Use_Login_Info nextInstance="2" ></Use_Login_Info> </X_5067F0_Login_Group> <X_5067F0_Login_Group nextInstance="2" ></X_5067F0_Login_Group> </X_5067F0_LoginCfg>
Buradan Password değerini dHVya3RlbGVrb20= base64 ile decode ettiğimizde turktelekom default şifresini görebiliyoruz.
Bize sunulmayan gizli özellikler var mı diye biraz araştırma yapıyoruz ve HTML dosyalarını incelediğimizde arayüzden bize tüm erişimlerin sağlanmamış olduğunu görebiliyoruz.
\fs_1\webs\Brick\pages\maintenance altında tr064 klasörünü görebiliyoruz fakat arayüzde modemin uzaktan yöntetimini sağlayan tr064’ü açıp kapatamıyoruz.
Fakat /etc/default.cfg içerinide yazan Enable değerinden açık olduğunu tahmin ediyoruz.
<Tr64cCfg> <Enable>TRUE</Enable> </Tr64cCfg>
TR-064 ayarlarına erişebilmek için Burp suite yada Charles gibi bir proxy yazılımıyla araya giriyoruz ve 192.168.1.1 adresin breakpoint koyuyoruz.
Modem arayüzünü açıp Bakım sekmesindeki seçeneklerden birine tıklıyoruz.
Burdada biz Tanılama ya tıkladığımız için /diagnostics/tab.js yüklenmeye çalışılıyor.
Yapılan isteği manipüle ediyoruz ve /tr064/tab.js ile değiştiriyoruz.
Karşımıza gelen TR-064 ayar penceresi geliyor, buradan TR-064 devre dışı bırakılabilir.
Sonrasında aynı adımları tekrar uyguladığımızda devre dışı kaldığını göreceğiz.