Sunday, May 25, 2014

SNMP Tehlikesi: Yalnız (161) yazı ile yüzaltmışbir

Saldırganların DDoS (Distributed Denial of Service - Dağıtık Hizmet Dışı Bırakma) saldırılarının etkisini arttırmak için DNS ve NTP sunucularından sonra SNMP protokolünü de kullanmaya başladıklarını görüyoruz.

DDoS saldırının etkisi yükseltmek için sadece DNS, NTP veya SNMP kullanılmayabilir. İstek göndermeye imkan veren, bu isteğin gönderildiği IP adresini denetleyemeyen ve isteğe oranla daha büyük bir paketle cevap veren bütün protokol ve sunucular DDoS saldırılarının etkisi arttırmak (DDoS amplification) için kullanılabilir.

SNMP protokolünün DDoS saldırılarında nasıl kullanıldığını anlatan sayısız makaleden birini okurken aklıma temel sızma eğitimi testlerinde gösterilen SNMP üzerinden bilgi alma yöntemleri geldi.

SNMP (Simple Network Management Protocol), ağ üzerindeki cihazlardan bilgi toplamak için kullanılan bir protokoldür. Sunuculardan switchlere, routerlardan yazıcılara kadar ağ üzerinde bulunan pek çok cihaza ait bilgilerin kolayca toplanmasına imkan veren bir protokoldür.

Şekil 1: Nijerya'da SNMP ile bilgi paylaşan bir cihaz (temsili)

Hedefi bulmak

Bu yazıyı hazırlamak için “uzak bir ülkeyi” tercih ettim. Bu işlemi sadece bilgi toplamak için ve hali hazırda paylaşmadıkları bilgilere ulaşmak için yaptığımdan vicdanım rahat. Nijerya’da IP adreslerini seçmiş olmam ise vicdanımı, nedense, bir miktar daha rahatlatıyor.

Eski dostumuz Google’a “Nijerya’daki internet servis sağlayıcılarına atanmış IP adreslerini” sordum. Aşağıdaki listeye ulaştım.

Şekil 2: Nijerya'daki internet servis sağlayıcılarına tahsis edilmiş IP adresleri

SNMP Bulmak

SNMP genelde 161 numaralı UDP portunda çalıştığı için NMAP kullanarak tespit etmek oldukça kolay oldu. Aşağıdaki komutta verdiğim IP aralığına UDP taraması (-sU) yapılmasını ve sadece 161 numaralı portun test edilmesini (-p161) istedim.

Şekil 3: NMAP ile SNMP hizmeti tespit etmek

Bu IP aralığında UDP 161 portu açık olan birkaç makine buldum ve içlerinden birine daha yakından bakmaya karar verdim.

Yüzaltmışbir
SNMP konusunda yakından bakmak için kullanılabilecek araçlardan birisi OneSixtyOne’dir. OneSixtyOne Kali Linux ile birlikte gelmektedir, ancak bunu ayrıca yüklemek isterseniz https://labs.portcullis.co.uk/tools/onesixtyone/ adresinden de indirebilirsiniz.

Gördüğünüz gibi bazı parametreleri ayarlamamıza imkan veren bir komut satırı var.
Şekil 4: Onesixtyone


Bizim için en önemli olanlar "–c" ile belirttiğimiz sözlük (denenecek “community” isimlerinin listesi) ve  "–i" ile belirttiğimiz hedeflerdir. Sıkça kullanılan SNMP community isimlerinin listelerini internette kolayca bulabilirsiniz.

OneSixtyOne bize bu cihazın Cisco marka olduğu bilgisini veriyor. Bunun yanında yazılım sürümü ve tarihi hakkında da bilgi ediniyoruz.
Şekil 5: Onesixtyone çıktısı

SNMP ile bilgi almak için kullanabileceğimiz bir diğer araç ise snmpcheck’tir. Snmpcheck Kali Linux üzerinde bulunmaktadır ancak özünde Perl dilinde yazılmış bir betik’tir (bkz. Script), kaynak koduna http://www.nothink.org/codes/snmpcheck/snmpcheck-1.8.pl adresinden ulaşabilirsiniz.

Şekil 6: snmpcheck

Snmpcheck ile bulduğumuz hedefe bakıyoruz.

Şekil 7: snmpcheck çıktısı

Snmpcheck bize, SNMP hizmetinin 106 gündür ayakta olduğu, bu cihazla ilgili iletişime geçebileceğimiz Ağ Operasyon Merkezinin (Network Operation Center  - NOC) adresini ve telefon numarası gibi ek bilgiler veriyor.

Bunların yanında snmpcheck kullanarak elde edilen önemli bilgiler var.

Şekil 8: snmpcheck çıktısında arayüz, IP adresi ve VLAN bilgileri

Cihazın arayüz bilgileri, IP adresi, bağlantı hızı, VLAN bilgisi gibi bilgilerin ulaşılabilir olduğu görülmektedir.

Şekil 9: snmpcheck çıktısı (devamı) cihaz üzerindeki aktif TCP ve UDP bağlantıları


SNMP dost mu, düşman mı?


Görüldüğü gibi ağınızda açık olabilecek SNMP hizmeti saldırganlar tarafından başka hedeflere DDoS saldırısı yapmak için ve ağ yapınız hakkında önemli bilgilere ulaşmak için kullanılabilir. 
Her iki duruma da imkan vermemek için ilk yapılması gereken şey ağınızdaki açık SNMP hizmetlerinin listesini çıkartmak olacaktır. Bu sayede ihtiyacınız olmadığı halde açık olan hizmetleri tespit edip kapatabilirsiniz. SNMP hizmetine gerçekten ihtiyaç duyduğunuz noktalarda ise cihaz üreticilerinin tavsiye ettiği güvenlik önlemlerini almanızda fayda var. 

Monday, May 12, 2014

iPhone Virüsünü takdimimdir

Steve Jobs konusunda insanlar ikiye ayrılır, ondan nefret edenler ve onu tanımayanlar. Bu tür şakalara neden olan ise rahmetlinin alışılmışın biraz dışındaki kişiliği ve iş yapma mantığı olsa gerek. Apple olarak telefon pazarını ele geçirdiklerinde Apple Store tarafından uygulanan sıkı politikalar bir çok kişi tarafından olumsuz bir özellik olarak algılandı. Kısa sürede ise iPhone’ları Apple Store’a bağımlılıktan kurtaran “Jailbreak” (kırma) yöntemleri ortaya çıktı.

Jailbreak işleminden önce iPhone (temsili)

Tasarımı, Apple markasının temsil ettikleri veya sadece “herkeste olduğu için” bu cihazı tercih eden bazı kullanıcılar ise bu kapalı ekosistemden kurtulmayı tercih etti. Gerek arka planı kişiselleştirmek, gerekse bazı cihaz ayarlarını daha kolay yapabilmek veya sadece Cydia mağazasındaki uygulamalara ulaşabilmek için bazı kullanıcılar cihazları üzerinde kilit kırma işlemini gerçekleştirdiler.

Jailbreak işleminden sonra iPhone (temsili)

Bu işlemin cihaz güvenliği üzerindeki olumsuz etkileri konusunda teorik olarak anlatılan o kadar şeye rağmen ne yazık ki her yeni iOS sürümü beraberinde yeni bir “Jailbreak” getirdi. Sonunda iş teoriden çıkıp, “bir musibet, bin nasihatten iyidir” noktasına geldi galiba.

17 Nisan 2014 günü Reddit kullanıcıları arasında konuşulmaya başlayan “Unfold Baby Panda” olarak adlandırılan zararlı yazılımın özellikle kilidi kırılmış iPhone’ları hedef aldığı görülmektedir.

“Jailbreak” olarak adlandırılan ve iPhone’a Apple Store dışındaki kaynaklardan da yazılım yüklemeye izin veren “kilit açma işlemi” gerçekleştirilmiş iPhone’lara bulaşan zararlı yazılım cihaz üzerinden geçen SSL trafiğini dinliyor. Bu yazılımı yapanların amaçlarının kullanıcıların Apple bünyesinde kullandıkları “Apple-ID” bilgilerini çalmak olduğu düşünülmektedir.

Zararlı yazılımın tüm özellikleri henüz bilinmese de kullanıcı bilgilerini çalmak dışında da eylemleri olabileceği tahmin edilmektedir. Zararlının kullandığı dosyaların (şu anda bilinenler Unflod.dylib/framework.dylib dır) silinmesi ve bu işlem sonrası Apple kullanıcı bilgilerinizi değiştirmenin faydalı olabileceği düşünülmektedir. Ancak tam bir temizlik için cihazın “jailbreak” durumundan çıkartılıp eski haline getirilmesi tavsiye edilmektedir.

Fırsat bulmuşken, “rootlanmış” Android cihazların da benzer şekilde tehlike yarattığını hatırlatmak isterim.


Sunday, May 4, 2014

Güvenlik duvarı (firewall) yönetimi ipuçları

Kurumsal bilgisayar ağlarının önemli bir kısmının ilk savunma hattını güvenlik duvarları (firewall) oluşturuyor. Gözümüzde Çin Seddi gibi canlandırdığımız bu cihazların kullanımı ve yönetimi konusunda bazı genel ipuçlarını toparlamak istedim. Unutmayalım ki en gelişmiş güvenlik çözümleri bile onu yönetenlerin imkan tanıdığı ölçüde bizleri koruyabilir.


Güvenlik duvarı algısı (temsili)

Dokümantasyon
ISO kalite standartları dünyasında “yaptığını yaz, yazdığını yap” diye bir cümle vardır. Güvenlik duvarları içinse bu konu hayati önem taşımaktadır. Güvenlik duvarının kurulduğu topoloji (tek hat üzerinde, iç/dış güvenlik duvarı olarak veya 3 bacaklı topoloji) ve üzerindeki kuralların yazıya dökülmelidir. Bundan sonra da yapılacak her topoloji veya kural değişikliği, yazılı olarak kayıt altına alınmalıdır.

ANY sadece DROP kapsamında kullanılmalıdır
Kurumsal ağlarda “TCP ANY ANY ACCEPT” kuralını her gördüğümde bir kumbaraya 50TL atsaydım şimdiye kadar iyi para biriktirmiştim. Bu kuralı kimse bilerek girmiyor tabii ki ama bir test yapılırken veya bir sorunun kaynağı araştırılırken bu kural giriliyor ve orada unutuluyor.
Prensip olarak güvenlik duvarı kuralının her hangi bir yerinde ANY varsa ve bu dünyaya açık bir web sunucusu vs değilse kural mutlaka DROP ile yazılmalıdır.
Bazı durumlarda, tek bir trafik yönlendirmesi için, birden fazla kural yazmanız gerekebilir ama bu ağınıza birilerinin sızmasından iyidir.

Kural değişiklikleri
Güvenlik duvarına kural eklerken veya mevcut kuralları değiştirirken bunu neden yaptığımızı bilmemiz şarttır. Güvenlik duvarları aslında kurumsal bilgi güvenliği politikalarının (veya genel olarak kabul görmüş güvenlik önlemlerinin) gerçek dünyaya bir yansımasıdır. Yapılan değişikliklerin güvenliğimizi arttırması veya en azından mevcut güvenlik seviyemizi kötüleştirmemesi şarttır. Kural değişiklik talebinin nereden geldiği ve neden gerekli olduğu anlaşılmalıdır. Bundan bir süre önce bir kamu kurumunda gözlerimin önünde güvenlik duvarı kuralları “XXX entegratör firmadan gelen teknisyenin” talebi üzerine anında yapılıvermişti. Hatırladıkça tüylerim diken diken olur. Entegratör firmanın teknik elemanın yaptığı/yapacağı bir demo için güvenlik duvarında 15 – 20 port açtırması kabul edilebilir birşey değildir.

Vedalaşmayı bilin
Artık geçerli olmayan veya kullanılmayan kuralların silinmesi gerekir. Kural silme sürecinin de tıpkı yeni kural girişi gibi belgelenmesi önemlidir. Güvenlik duvarı kurallarını yazanların yeni alımlar, güncellemeler ve devreden çıkartmalar konusunda bilgilendirilmesi gerekmektedir.

Senede 1 gün
Yılda en az bir sefer güvenlik duvarının mevcut durumu analiz edilmeli ve gerekli iyileştirmelerin hızlıca yapılması gerekmektedir. Bu analiz sırasında sızdırmazlık testlerinin, güvenlik duvarı işletim sistemi güncellemelerinin kontrolünün ve topoloji değerlendirilmesi yapılmalıdır.

Diğer ipuçları:
  • Kullanılan servisler dışındaki kapatın
  • Güvenlik duvarını yetkili kullanıcı dışında bir kullanıcı ile çalıştırın
  • Fabrika çıkışı ayarlanmış kullanıcıları/parolaları değiştirin
  • Sadece paket filtrelemeye güvenmeyin
  • Güvenlik duvarı bir yazılımsa mutlaka sıkılaştırılmış bir işletim sistemi üzerinde çalıştırılmalıdır
  • İç ağdaki trafiği de güvenlik duvarından geçirin
  • Güvenlik duvarı loglarını düzenli olarak inceleyin
  • Güvenlik loglarını düzenli olarak yedekleyin
  • Güvenlik duvarı üreticisinin güvenlik uyarılarını yayınladığı mail listelerini takip edin
  • Kurallara isim verirken belirli bir yöntem kullanın
  • Benzer kuralları alt alta toplayın
  • Geçici kurallar için “notlar” kısmına devreden çıkartma tarihi yazın
  • Güvenlik duvarının yönetim arayüzüne erişmek için en güvenli yolu tercih edin
  • Güvenlik duvarı üzer,nde açılması gereken "tehlikeli" bir servis varsa, bunların da güvenli alternatifi tercih edilmelidir (Telnet yerine SSH gibi)


Güvenlik duvarının sizi sadece sınırlı sayıda tehdide karşı koruduğunu hatırlamak gerekir. Bunlarla birlikte bir sızma tespit ve engelleme sisteminin veya eposta güvenliğini sağlayacak bir çözümün konumlandırılmasında fayda vardır. 

Thursday, May 1, 2014

Hack'e giden Hacklenir

Güvenlik araştırmacılarının yeni keşfettiği bir dolandırıcılık şebekesi Facebook kullanıcılarının arkadaşlarını hackleme isteklerini istismar ediyor. Para dolu bir fare kapanı gibi, içimizdeki merakı kullanan saldırganların 50.000 ile 100.000 arasında Facebbok hesabını bu yöntemle istismar ettikleri düşünülüyor.

Facebook'ta kurulan tuzaklar (temsili)

Bilgi güvenliği konularından bir miktar yol almaya başladığımdan beri haftada en az bir kez karşılaştığım sorudur; “facebook hackleyebilir misin?”. Bu soruyu soranlar genellikle tanıdıkları birilerinin hesaplarını hacklemenin eğlenceli olacağını düşünüyorlar.



“Facebook Hacking – Sadece eğitim amaçlıdır” şeklinde tanıtılan videoda arkadaşlarınızın Facebook hesaplarını nasıl hackleyebileceğinizi adım adım anlatıyorlar!  Ya da tuzağa düşenler öyle zannediyor.
Araştırmacıların ortaya koydukları gibi, bu adımları takip ederek aslında kendi hesabınızı hackliyorsunuz.

Arkadaşınızın Facebook hesabını hacklemeyi düşünerek internet tarayıcınızın (Explorer, Chrome veya Firefox) adres çubuğuna yapıştırdığınız kod aslında kendi hesabınız üzerinizden bazı işlemler gerçekleştiriyor.

Aşağıdaki resimde görüldüğü üzere, bilginiz dışında bazı sayfaları takip ediyor ve beğeniyorsunuz.
Saldırganların yönlendirmesi ile yazdığınız kod beğendiğiniz ve takip ettiğiniz sayfalarda arkadaşlarınızı da etiketleyerek saldırının kendi arkadaşlarınız arasında da yayılmasına neden oluyor.



Bu saldırı “self-XSS” (kullanıcının kendi kendine yaptığı bir zararlı kod çalıştırma saldırısı) 2011 yılından beri çeşitli kılıflar altında yayılıyor. Saldırganlar genellikle başka hesaplara izinsiz erişim sağlama veya yönetici yetkisi elde etme gibi vaatlerle insanları bu kodu yapıştırmaya ikna ediyor. Saldırılar o kadar yaygınlaştı ki, Facebook bu konuda ek güvenlik önlemleri almak zorunda kalmıştır. https://www.facebook.com/selfxss adresinde görüldüğü gibi Facebook çoğu tarayıcının JavaScript çalıştırma kabiliyetlerini devre dışı bırakmıştır.

2-3 ay önce görülen bu saldırılardan birinin kodunu aşağıda paylaşıyorum, dikkatinizi çeken bir şey var mı?



“Arkadaşları Al” fonksiyonu ve "yorum_yap" dikkatinizi çekmiştir, bundan da anlaşılacağı gibi saldırganlar büyük olasılıkla Türk.

Facebook’ta yetki yükseltme ve hesap görüntüleme saldırılarının başarı oranının yüksek olduğu ülkelerin başında Türkiye ve Hindistan geliyor.

Bu tür saldırılara kurban gitmemek için sosyal medya kullanırken tedbiri elden bırakmamak gerekir. 

Kendinize soracağınız 2 basit soru bu tür saldırılara kurban gitmemenizi sağlayabilir;

Bunu gerçek hayatta yapar mıydım? 
Gerçek hayatta size “Birinin ev anahtarını buldum, gel o evde değilken evine girip karıştıralım” desem bunu kabul eder miydiniz?

Bu gerçek olabilir mi?

Haydi ama, ortalıkta benim gibiler varken, Facebook gibi bir sayfa bile “kopyala-yapıştır” ile hacklenebiliyor olsa sizce bankada paranız kalır mıydı? J