Hack 4 Career - 2016

Shodan ile Durum Değerlendirmesi

Source: https://www.mertsarica.com/shodan-ile-durum-degerlendirmesi/

By M.S on December 31st, 2015

Bu zamana dek küçük ve orta ölçekli işletmelerde (KOBİ) çalışan veya bir yakını olan arkadaşlarımdan özellikle bir konu hakkında çok fazla yardım istediğini farkettim. Benzer yardım taleplerine Netsec bilgi güvenliği e-posta grubunda da denk geliyorum. Evet, sizlerin de az çok tahmin edeceği üzere, kullanıcıların/kurumların verilerini şifreleyen ve bunun karşılığında fidye isteyen siber fidyecilerden bahsediyorum.

Bu siber fidyecilerle ilgili olarak yerli basında belki farkındalık adına çok sayıda habere rastlamıyoruz ancak resmi kaynaklardan elde edilen bilgiler ışığında, hem gerçekleştirilen siber saldırıların sayısına hem de bu saldırganların yol açtığı zararlara baktığımızda, rakamların azımsanamayacak kadar yüksek olduğunu görebiliyoruz. Bu tür saldırılarla karşılaşanların çoğu, kulaktan dolma haberler ve/veya önyargıları nedeniyle emniyet müdürlüğünün bu konuda çözüm üretemeyeceğini düşünerek yetkili mercilere başvurmaktan kaçınıyorlar. Ancak emniyet müdürlüğünün web sayfasına bakacak olursanız, zaman zaman bu ve benzeri siber çetelere / dolandırıcılara karşı başarılı operasyonlara imza attıklarını görebilirsiniz.

Yazılı ve görsel medyadsa çıkan onlarca habere ve uyarıya rağmen sahte polis, savcı ve jandarma kılığında dolandırıcılara para kaptıran vatandaşımızın, siber dünyada var olan tehditlerden haberdar olması ve bunlara karşı önlem alması devlet eli olmadan yakın gelecekte pek mümkün olacak gibi görünmüyor. Gönül ister ki İngiltere'de olduğu gibi belediyelerimizin bünyelerinde birimler kurulsun ve bu birimler, vatandaşımızı, küçük ve orta ölçekli işletmeler, siber saldırılara karşı korusun, danışmanlık versin.

Bu fidyecilerin izledikleri yöntemlerin başında Türkiye ip bloğunu taramak (port scan) ve genele açık servisleri/sunucuları (RDP, MSSQL vb.) tespit etmek geliyor. Bu servisleri tespit ettikten sonra ise sözlük saldırısı (dictionary attack) ile zayıf parolalar tespit edip sistemlere yönetici yetkisi ile bağlanıyorlar. Ardından herkesin bildiği gibi diskte bulunan tüm verileri şifreledikten (encryption) sonra bir not bırakıp sistemden ayrılıyorlar. Verilerini yedeklemeyen kullanıcılar ve KOBİler ise yana yakıla bu notta yer alan kişilerle iletişime geçerek kimi zaman talep edilen bedeli ödemek zorunda kalıyorlar.

Neden bu yöntemi kullanmaya devam ediyorlar ? Gerçekten internette genele açık olan sistemler, sunucular bu kadar çok mu ? gibi aklımı kurcalayan sorulara yanıt bulmak için ufak bir araştırma yapmaya karar verdim. Tabii bunun için massscan gibi bir araç ile tüm Türkiye ip bloğunu tarayıp, tespit ettiğim sistemlere sözlük saldırısı gerçekleştirmedim :) Aksine tarama işlemini benim için yapan ve doğrulama kontrolü (authentication) yapılmayan sistemleri tespit eden ve rapor çekmeye imkan tanıyan Shodan arama motorunu kullanmaya karar verdim.

Shodan arama motoru temelde Google'dan çok farklı olmayan, interneti tarayıp internete açık olan sistemleri, cihazları, aygıtları tespit edip bunları bağlantı noktasına (port:"3389"), türüne (os:"Windows XP", coğrafi lokasyonuna (country:"TR" gibi) ve servis bilgisine (Anonymous user logged in) göre sınıflandırmaktadır. Bu bilgiler sayesinde de ülke bazında özel aramalar gerçekleştirilebilmektedir. Hatta ve hatta Shodan tarafından taranan sistemlerin ekran görüntülerine bile ulaşmak mümkündür.

Shodan sadece internete açık olan sistemleri cihazları, aygıtları tespit etmek ile kalmayıp Scanhub servisi sayesinde de nmap, massscan gibi tarama araçlarının çıktılarını alarak görsel olarak analiz etmenize de imkan tanımaktadır. Örneğin bu örnekte olduğu gibi bir zararlı yazılımın haberleştiği komuta kontrol merkezini izleyebilirsiniz.

Shodan üzerinde Scanhub servisine ilave olarak özellikle sızma testi uzmanlarının faydalanabileceği Exploit servisi de bulunmaktadır. Bu servis ile Exploit-DB gibi istismar kodlarının yayınlandığı siteler üzerinden istismar kodunun çeşidine ve hedef uygulamaya göre çeşitli aramalar yapabilir ve istismar koduna ulaşabilirsiniz. (Örnek)

Python, Ruby gibi programlama dillerine hakimseniz, Shodan API sayesinde geliştirmiş olduğunuz programınız/betiğiniz ile Shodan üzerinden aramalar da yapabiliyorsunuz.

Unutmadan Shodan'ın temelde ücretsiz bir servis olduğunu ancak kullanacağınız her bir servis özelinde detaylı arama sonuçlarına ulaşmak istediğinizde sizden ilave ücretler talep edeceğini de hatırlatmakta fayda var. (Örnek: Developer Servisi, Scanhub Servisi)

İlk olarak anonim kullanıcı (anonymous) yetkisi ile ftp bağlantısına izin veren sunucuların/sistemlerin sayısına bakmak istedim. Hatalı konfigürasyon neticesinde çok sayıda bilgiye anonim olarak erişilmesine yol açan bu hesabın veri hırsızlarının gözdesi olduğunu söyleyebiliriz. Türkiye ip bloğunda anonim kullanıcı yetkisine izin veren sunuculara/sistemlere baktığımda, sayının azımsanamayacak kadar fazla olduğunu gördüm. (1956 sistem/sunucu)

İkinci olarak ise veritabanlarına internetten erişime izin veren ağlara bakmaya karar verdim. Bildiğiniz gibi kurumsal verilerin saklandığı veritabanlarının, bilgi güvenliği adına kısıtlı bir erişime sahip olması gerekmektedir aksi halde zayıf parolalar ile korunan veritabanlarında yer alan verilerin, art niyetli kişiler tarafından sözlük saldırısı ile çalınması mümkündür. (kullanıcı:sa şifre:sa gibi) Bunun için Türkiye ip bloğunda, Microsoft SQL veritabanı sunucusu tarafından kullanılan 1434. bağlantı noktasına erişim veren ip bloklarını kontrol ettiğimde, sayının anonim ftp erişimine izin veren ağlar kadar fazla olduğunu (2521 sistem/sunucu) olduğunu gördüm.

Son olarak fidyeciler tarafından hedef sistemlere uzaktan bağlanmak için sıklıkla kötüye kulanılan RDP (remote desktop) servisini internete açan sistemleri kontrol ettiğimde ise 34.314 tane sistem ile karşılaşmam, siber fidyecilerin neden bu yöntemi hala kullanmaya devam ettiklerini ve başarılı olduklarını açıkça ortaya koyuyordu.

Siber fidiyecilere karşı hem KOBİler'in hem de son kullanıcıların daha dikkatli olması gerekmektedir. Bunun için öncelikle modem ayarlarınızdan hangi sistemlerinizin ve bağlantı noktalarının, servislerin internete/dış dünyaya açık olduğunu tespit etmeniz faydalı olacaktır. İkinci olarak ise RDP ve MSSQL kullanıcı hesaplarına ait şifrelerin, güçlü, karmaşık ve tahmin edilmesi güç olması, fidyeciler tarafından hedef alınmanızı zorlaştıracaktır. Son olarak ise kullanılan sistemlerin sıkılaştırılması (hardening, güncel yamaların yüklenmesi vb.), gereksiz bağlantı noktalarının ve servislerin dış dünyaya kapatılması, üzerine yoğunlaşmanız gereken bir diğer önemli noktadır.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Shodan ile Durum Değerlendirmesi appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

RF Dünyası ve Güvenlik

Source: https://www.mertsarica.com/rf-dunyasi-ve-guvenlik/

By M.S on February 1st, 2016

Çocukluğumdan beri uzaktan kumanda ile kumanda edilebilen garaj kapıları her zaman ilgimi çekmiştir. Yaşım ilerledikçe ve mesleğimde de ilerledikçe, merakımı pratiğe dönüştürmeye ve RF ile haberleşen bu sistemleri, güvenlik araştırmacısı gözüyle incelemeye karar verdim.

Kumanda ile kapılar nasıl haberleşiyor, sinyalleri izlemek mümkün mü, deneme yanılma (brute force) saldırısı veya daha önce gönderilmiş ve kayıt altına alınmış sinyalleri tekrarlama (replay) saldırısı ile tekrar göndererek kapıları açmak mümkün olabilir mi ? gibi soruları kendi kendime sormaya başladıkça, kendimi RF okyanusunu kayıkla geçmeye çalışan cesur, hevesli ama tecrübesiz bir denizci olarak görmeye başlamıştım.

Yıllar içinde RF ile ilgili çok sayıda makale okudukça, bilgim ile birlikte aklımı kurcalayan sorular da bir o kadar arttı. Tam bu sorular altında ezilmeye başlamışken, imdadıma NOPcon güvenlik konferansında da sunumunu izleme fırsatı bulduğum Ahmet CİHAN yetişti ve RF dünyasının sis perdesi benim için aralanmış oldu.

2014 yılından bu yana, bıkmadan usanmadan RF dünyası ile ilgili aklıma takılan tüm sorulara gece gündüz demeden, içtenlikle yanıt verdiği ve bugün bu yazıyı kaleme alabilmemde fazlasıyla emeği geçtiği için Ahmet CİHAN'a teşekkürü bir borç bilirim :)

Yazının ikinci paragrafında belirtmiş olduğum sorulara yanıt aradığım bu çalışmada, ilk işim sırasıyla kumandanın hangi frekansta çalıştığını bulmak (büyük olasılıkla 433 MHZ'dir ancak 315 MHZ de olabilir.) ve hangi modülasyonu kullandığını bulmak (büyük ihtimalle Amplitude-Shift Keying (ASK)'dır ancak FSK, PSK da olabilir.) oldu.

Yakın zamanda okuduğum Abusing the Internet of Things kitabının yazarı, modülasyonu güzel bir benzetmeyle anlatmıştı. Aynı benzetme üzerinden ilerleyecek olursam, ağzımızdan çıkan basınç dalgaları, karşı tarafa ulaşırken hava dediğimiz bir ortamda ilerlemektedir. Bu örneğe göre ağzımızdan çıkan basınç dalgasının, havada ilerleyecek dalgaya çevrilmesine (radyo sinyaline) modülasyon diyoruz. Bu dalganın (radyo sinyalinin), karşı tarafa iletilmesi esnasında kullandığı başka bir dalgaya ise taşıyıcı sinyal (carrier wave) diyoruz.

Kumandanın hangi frekansta çalıştığını bulmak için kumandanın içini açıp rezonatörün üzerinde yazan rakama (R433T gibi) bakabilirdim. Tornavida ile çok fazla uğraşmak istemediğim için Deal Extreme'den 10$'a satın aldığım RTL2832U dijital tv alıcısı ve ücretsiz temin edilebilen HDSDR programı ile frekansı tespit etmeye karar verdim.

Dijital TV alıcıyı USB bağlantı noktasına bağladıktan ve HDSDR programını çalıştırdıktan sonra frekansı 433 MHZ'e (ISM bant planlaması gereği tahmin yürüttüm), modülasyonu ise AM olarak ayarlayıp F2 (start) tuşuna bastığımda, kumandanın ilgili bandı ve frekansı kullandığını gördüm. (Kumanda üzerinde herhangi bir butona bastığınızda, ilgili frekansta bir hareketlilik görüyorsanız bu durum, kumandanın ilgili frekansta veya o frekansa yakın bir frekans aralığında çalıştığına işaret etmektedir.)

Modülasyonu tespit etmek için ise HDSDR'de kayıt ettiğim sinyali Audacity adındaki ücretsiz ses düzenleme ve kaydetme yazılımı ile incelediğimde bunun ASK / OOK olduğunu gördüm. Sadece kumandada yer alan mikro anahtar dizisine (dipswitch) bakarak, gönderilen sinyalin 10 bit olabileceğini düşünebilirdim ancak kayıt ettiğim sinyale Audacity ile baktığımda, bunun aslında 12 bit olduğunu gördüm. (Sondaki bit ile aslında 13 bit gibi görünse de 12 bit olduğunu ve son bitin altbaşlık (footer) olduğunu yazının devamında göreceksiniz.)

Sinyali kendi içinde çözümleyip, aşağıdaki resimde olduğu gibi yüksek, alçak ve açık işaretleri, 0, 1 ve O şeklinde veriye çevirdiğimde, mikro anahtar dizisi ile örtüştüğünü ve başarılı bir şekilde sinyali veriye çevirdiğimi kısaca kumandayı kopyalayabilecek veriye (rf koduna) sahip olduğumu görebildim.

Bundan sonra gerisi ister Arduino, ister Raspberry Pi ile veriyi ASK ile modüle edip, garaj kapısına göndermeye kalmıştı. Tabii bunun için öncelikle 3$'ı gözden çıkarıp bir RF alıcı ve verici kiti almam gerekti. (Bu gibi güvenlik araştırmalarında zahmete giremem diyenleriniz var ise, benim gibi 330$ verip HackRF One kiti alarak tüm bu zahmetten kurtulabilirler. Bu arada ücretsiz Software Defined Radio (SDR) ve HackRF One eğitimine de buradan ulaşabilirsiniz.)

Öncelikle HackRF One cihazına o kadar para verdiğim için işleri ne kadar kolaylaştırabileceğini tecrübe etmek istedim. Bunun için daha önceden RF araştırmalarında kullanmak için satın aldığım RF prizleri üzerinde bir çalışma gerçekleştirdim. RF prizlerin kumandasını Hack RF One aygıtının antenine tutup, kumanda üzerinde yer alan ve prize elektrik akımı vermek için kullanılan butona (ON) basılı tutmaya başladıktan sonra aşağıdaki komut ile HackRF One'ın gönderilen sinyalleri aşağıdaki videoda yer aldığı üzere kolaylıkla kayıt altına aldım.

hackrf_transfer -r Funk-433Mhz-8M-8bit.bin -f 433000000 -s 8000000 -l 40

Sinyalleri 30 saniye kadar kayıt ettikten sonra aşağıdaki komutu çalıştırarak, HackRF One aygıtının kayıt ettiği sinyalleri RF prize göndermesini sağladım. Kısa bir süre sonra RF prize bağlı lambanın yandığını ve sinyalin HackRF One ile çok kolay bir şekilde tekrarlanabildiğini (REPLAY) tecrübe ettim.

hackrf_transfer -t Funk-433Mhz-8M-8bit.bin -f 433000000 -s 8000000 -x 47

HackRF One yerine Raspberry Pi ile ilerlemek isteyenler ise 3$'a satın alacakları RF alıcı ve vericiyi Raspberry Pi'nin GPIO pinlerine bağladıktan sonra pilight adındaki ve akıllı cihazları Raspberry Pi üzerinden yönetmek için geliştirilmiş olan bu araçtan faydalanabilirler.

Raspberry Pi ile ilerlemek için ilk olarak pilight-debug komutu ile RF sinyallerini dinlemeye başlayan pilight aracı ile garaj kumandasının kapı açma butonuna basıldığında gönderdiği sinyali (RF kodunu) kayıt altına aldım. Ardından da pilight-send -p raw -c komutu ile tespit ettiğim RF kodunu kapıya göndererek aşağıda yer alan videoda görüleceği üzere kapıyı başarıyla açabildim :)

pilight aracı ile aynı sistemi ve benzer kod dizilimini kullanan garaj kapılarına deneme yanılma (brute-force) saldırısı yapmak pratikte ne kadar kolay sorusuna yanıt bulmak için ise öncelikle RF kodunu 1, 0 ve O şeklinde grupladım. (Gruplama ile ilgili örnekler ve detaylı bilgi için pilight'ın wiki sayfasından faydalanabilirsiniz.)

(Sansürlenmiştir) O

510 255 510 255 1
510 510 255 255 0
510 510 255 255 0
510 510 255 255 0
510 510 255 255 0
510 510 255 255 0
510 255 510 255 1
510 510 255 255 0
510 255 510 255 1

510 255 510 255 1
510 510 255 255 0

(Sansürlenmiştir) altbaşlık (footer)

Kumandanın 12 bit uzunluğunda bir sinyal gönderdiğini bildiğim için 1 olan değerlerin 0, 0 olan değerlerin 1 olacağını ve ilk bit olan O'nun da bir farklı değere sahip olabileceğini (kısaca yüksek ise düşük, düşük ise yüksek işaret gibi) göz önünde bulundurarak, bu garaj kapısının kapıyı açmak için 2 üzeri 12 yani 4096 farklı RF kodundan birini kabul edeceğini hesaplamam pek zor olmadı.

Python ile daha önceden hazırlamış olduğum 4096 tane RF kodunu, pilight aracı ile garaj kapısına gönderen Garage Door Bruteforcer isimli bir araç hazırladım. 3 dakika sonunda bu aracın, garaj kapısına 500 tane RF kodu gönderebildiğini gördüm. (Basit bir hesaplama ile bu aracın, garaj kapısını açacak kodu ~30 dakikada üretebileceğini söyleyebiliriz. OpenSesame gibi bir cihaz ile ise bu süreyi saniyeler mertebesine indirmek de mümkündür.)

Bu tür saldırılara baktığımızda, deneme yanılma saldırıları ve tekrarlama saldırılarının statik kod kullanan RF alıcılara karşı başarılı olduğun görüyoruz. Günümüzde üretilen modern araba kilit ve kumanda sistemlerine, alarm sistemlerine, garaj kapı sistemlerine baktığımızda ise çoğunun güvenli olarak kabul ettiğimiz değişken (rolling) kod kullandığını görebiliriz. Sonuç olarak bu tür saldırılara karşı değişken kod kullanan sistemleri kullanmak doğru bir tercih olacaktır.

Bu yazının RF dünyasına adım atmak isteyen güvenlik uzmanları ve güvenlik araştırmacıları için faydalı olacağını ümit ederek, bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post RF Dünyası ve Güvenlik appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Java Kaynak Kodu Dönüştücüleri

Source: https://www.mertsarica.com/java-kaynak-kodu-donustuculeri/

By M.S on March 1st, 2016

Bayt kodu seviyesinde çalışmanın kimi zaman zorlayıcı olduğuna hak veriyorum. Mevzu bahis bir Java zararlı yazılımını analiz etmek olduğunda, eldeki class dosyalarını Java kaynak koduna çevirmek, çoğu analistin izleyeceği adımların başında yer alıyor. Ancak Temmuz ayındaki yazımda (Java Bayt Kod Hata Ayıklaması) da bahsettiğim üzere, gizleme (obfuscator) aracından (Allatori gibi) faydalanan bir zararlı yazılım ile karşı karşıya kaldığınızda, kaynak koduna dönüştürücüleri (JD gibi) çoğu zaman sizi yarı yolda bırakabiliyor.

Aralık ayı gibi, sahte bir e-posta ile hacklenmiş olduğunu düşündüğüm bir web sitesi üzerinden indirilmesi sağlanan ve her indirilme isteğinde, farklı bir şifre ile paketlenen siparisler.rar (siparisler.jar) adında bir Java zararlı yazılımı dikkatimi çekti.

Allatori gizleme aracının güçlü özelliklerinden (uzun sınıf ve metod isimleri, AUX gibi rezerve isimler vs.) faydalanarak oluşturulan bu JAR paketi içinde yer alan class dosyalarına baktığımda, dosya isimlerinin ~8000 hane uzunluğunda olduğunu gördüm.

Bu uzun dosya isimleri sayesinde zararlı yazılımı Winrar, 7zip, unzip gibi araçlarla işletim sistemine açmak (extract) istediğimde, işletim sistemi sınırlarına takıldığımı ve dosyaları açamadığımı farkettim. Ayrıca uzun dosya isimleri ve metod isimleri nedeniyle çoğu kaynak kod dönüştürücüsünün (CFR hariç) bu dosyayı kaynak koduna çevirme işlemi esnasında hata aldığını gördüm.

Bu dosyanın, kum havuzu analizi yapan ticari bir ürünü analiz esnasında çökerttiğine şahit olmuş biri olarak, sadece ve sadece cihazlara yatırım yapan ve bel bağlayan kurumların pamuk ipliğinde yaşadıklarını yeri gelmişken tekrar söylemiş olayım.

Tabii Python ile Allatori Zip Shortener gibi basit bir araç yazarak bu zip dosyasını açılabilir hale getirmem çok zor olmadı.

Daha detaylı bilgi edinmek için Temmuz ayında yayımlamış olduğum yazıda olduğu gibi bundan sonra bayt kod seviyesinde analize devam edebilirdim. Eğer amacım sadece bunun hangi türde bir zararlı yazılım olduğunu öğrenmek olsaydı, zahmete girmeden bellek dosyası üzerinde yapacağım ufak bir araştırma ile bunun Jsocket RAT yazılımı olduğunu da öğrenebilirdim.

Bu zararlı yazılımı incelerken, http://www.javadecompilers.com/ sitesi sayesinde çoğu kaynak kod dönüştürücüsünün Allatori'ye karşı yetersiz olduğunu gördüm. Çoğu dönüştürücü, bu zararlı yazılımı ya kaynak koda çevirmekte başarsız oldu ya da çevirdiği kaynak kodu, tekrar derlenemeyecek durumdaydı. Bayt kodu seviyesinde statik analiz ile ilerlemek isteseydim, Allatori'nin karakter dizilerini gizlediğini görecek ve bunu çözmek için gizleme yöntemini bulmam gerekecekti ve bu bayt kod seviyesinde işlerimi biraz daha uzatacaktı. Ben de bu vesileyle, Allatori'ye karşı mevcut kod dönüştürücüleri değerlendirmeye ve karakter dizi gizlemesi için kullanılan algoritmayı hangi dönüştürücünün başarıyla ortaya çıkartabildiğini öğrenmeye karar verdim. Bunun için de başarı kriteri olarak, kaynak koduna çevrilen class dosyasının tekrar derlenebilmesini ve çalıştırılabilmesini kabul ettim.

İlk olarak Java ile komut satırına "Hello World" yazan basit bir kod yazdım ve bunu JAR paketine çevirdim. Ardından bu paketi Allatori'ye vererek gizlenmiş (obfuscated) paket oluşturmasını sağladım. Son olarak da http://www.javadecompilers.com/ sitesi üzerinden her bir JAR dosyasını kaynak koduna çevirip derlemeye ve çalıştırmaya başladım.

Değerlendirme sonucunda JadX, Procyon kaynak kodu dönüştücülerinin başarıyla Allatori v5.6 Demo sürümü ile gizlenmiş kodları orjinal haline çevirebildiğini gördüm.

Procyon ve JadX sayesinde Allatori v5.6 tarafından kullanılan karakter dizisi gizleme algoritması da ortaya çıkmış oldu :)

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Java Kaynak Kodu Dönüştücüleri appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Zararlı JavaScript Avı

Source: https://www.mertsarica.com/zararli-javascript-avi/

By M.S on April 1st, 2016

Kum havuzu (sandbox) analizi yapan teknolojiler/cihazlar, kurumlara doğrudan ya da dolaylı olarak yapılan siber saldırıları tespit etme, gerekli önlemleri alma veya aldırma noktasında oldukça önemli bir role sahiptir. Bu cihazlarda ortaya çıkan alarmlar kurumsal SOME'ler tarafından incelendiğinde, kimi zaman ortaya ilginç güvenlik vakaları da çıkabilmektedir.

Bu cihazlar üzerinde yer alan alarmlarda veya şüphe duyulan trafik paketleri (PCAP) üzerinde, alarmı tetikleyen veya şüphe duyulan aktiviteye yol açan zararlı JavaScript kodunu tespit etmek, kimi zaman güvenlik uzmanları için zaman alıcı bir süreç haline gelmektedir. Bunun başlıca sebeplerinden biri ise zararlı JavaScript kodlarının çoğunlukla http trafiğinde gizlenmiş (encoded) olarak yer almasıdır. Bu nedenle Wireshark aracı ile bir PCAP dosyasını açıp, gizlenmiş JavaScript kodlarında sıklıkla kullanılan eval() fonksiyonunu aratmak boşa kürek çekmekten farksız hale gelmektedir.

Geçtiğimiz aylarda kum havuzu analizi yapan bir cihazdan aldığım alarmı detaylı olarak incelediğimde, Hürriyet Hackathon'un web sitesinin hacklendiğini ve ziyaretçilerini uitbracht.kateandoliverswedding.co.uk alan adına yönlendirdiğini gördüm.

Hackathon (ayrıca hack günü, hackfest ya da codefest olarak da bilinir) bilgisayar programcıları, grafik tasarımcıları, arayüz tasarımcıları ve proje yöneticileri de dahil olmak üzere katılanların yoğun bir şekilde yazılım projelerinin geliştirilmesi amacıyla diğer takımlar ile rekabet içerisinde bulunduğu bir olaydır.(Referans: Vikipedi)

Yukarda bahsettiğim gibi Wireshark ile PCAP dosyası içinde yer alan zararlı JavaScript kodunu aramak zaman alıcı olabileceği için bunu nasıl otomatize edebileceğim üzerine düşünmeye başladım.

Python ile bir araç hazırlasam, Scapy ile PCAP dosyasını açsa, HTTP trafiğini incelese ve script takıları arasında yer alan JavaScript kodunu bulsa, çalıştırsa ve eval() fonksiyonunu tespit etse az çok işimi görür diye düşünmeye başladım. Ancak en büyük engellerden biri JavaScript kodunu Python ile nasıl çalıştırabileceğim olacaktı. Çok zaman kaybetmeden, Python aracı ile ortaya çıkan JavaScript kodunu, PhantomJS isimli grafiksel kullanıcı arayüzü olmayan tarayıcı (headless browser) ile çalıştırmaya karar verdim.

Kısa bir çalışmanın ardından ortaya JavaScript Eval Finder adını verdiğim bir araç çıktı. Bu araca PCAP dosyasını verdiğinizde, javascripts klasörüne script takılarının yer aldığı HTML dosyalarını kopyalamaktadır. Ardından Phantomjs ile çalışan JavaScript Extractor yardımcı aracı ile gizlenmiş JavaScript kodunda yer alan eval() fonksiyonu tespit edildiğinde, yine bu araç tarafından bir uyarı verilmekte ve bir önceki adımda kayıt edilen HTML dosyalarının başında (header) tespit edilen JavaScript kodları yorum (comment) olarak eklenmektedir.

JavaScript Eval Finder aracını hurriyethackathon PCAP dosyası üzerinde çalıştırdığımda çok geçmeden gizlenmiş (encoded) olan JavaScript kodunu bulabildim.

Ardından ortaya çıkan (decoded) bu JavaScript kodunu incelediğimde bunun daha önce de incelemiş olduğum Angler istismar kitinin farklı bir sürümü olduğunu gördüm. Açılmış (decoded) JavaScript kodunu, orjinal HTML dosyasındaki gizlenmiş (encoded) JavaScript kodu ile yer değiştirip, Firebug geliştirme aracı/eklentisi ile Firefox internet tarayıcısı üzerinde analiz ettiğimde, bu JavaScript kodunun ziyaretçileri http://uitbracht.kateandoliverswedding.co.uk/topic/18572-indivisible-arriver-existences-faroff-prepositions-sunburn-crushing-hittable/ adresine yönlendiren kod olduğunu teyit edebilmiş oldum.

Özellikle SOME çalışanları için faydalı olacağına inandığım JavaScript Eval Finder ve JavaScript Extractor araçlarını tek bir paket halinde buradan indirebilirsiniz.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Not: Bu yazı 5. Pi Hediyem Var oyununun çözüm yolunu da içermektedir ;)

The post Zararlı JavaScript Avı appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Huawei E353 CSRF Zafiyeti

Source: https://www.mertsarica.com/huawei-e353-3g-modemde-csrf-zafiyeti/

By M.S on May 2nd, 2016

Geçtiğimiz Haziran ayının ortasına kadar 2.5 Kg ağırlığında nur topu gibi bir dizüstü bilgisayara sahiptim. Bu nedenle sabahları işe giderken, akşamları işten dönerken veya bir cafede otururken biraz makale okumak istediğimde ağırlığı ve büyüklüğü nedeniyle onu yanımda taşıyamıyordum. Onun yerine sim kart girişine sahip, hafif ve portatif Android tabletim yıllardır işimi görüyordu. Tablet kullandığım için, 2-3 yıl önce Turkcell'den data hattı satın alırken yanında verilen Huawei marka E353 model 3G USB modemi (Turkcell VINN) çok kullanma fırsatım olmamıştı. Haziran ayından sonra ise ultrabook satın aldığım için tabletimle yollarımı ayırarak 3G modemi aktif olarak kullanmaya başladım.

3G USB modemler, yanında dizüstü bilgisayar taşıyan ve güvenlik kaygısı nedeniyle güvenlilirliğinden şüphe ettiği kablosuz ağlara bağlanmak istemeyen bilişimciler için büyük bir nimettir. 3G USB modemin aslında bilgisayarımıza bağladığımız, üzerinde yönetilebilir olmayan bir işletim sisteminin çalıştığı, kapalı bir kutu olduğunu ve onun da zafiyetleri olabileceğini çoğu zaman aklımızın ucuna getirmeyiz.

Modemi sıkça kullanmaya başladıktan sonra boş bir zamanımda modeme hızlıca göz atmaya ve canımı acıtabilecek ilk zafiyeti tespit ettikten sonra gerisini incelemek üzere sizlere havale etmeye karar verdim.

3G modemi taktığımde karşıma otomatik olarak açılan modem web arayüzünü incelemeye başladım. Yaptığım ilk iş sayfanın kaynak kodlarına ve oradan da sayfa üzerinde kullanılan JavaScript kodlarını incelemek oldu. JavaScript kodlarını incelediğimde, modeme ajax çağrıları ile çeşitli komutlar gönderilebildiğini gördüm.

traffic.html sayfasında yer alan "Data paketinizden kalan miktarı öğrenmek için tıklayın" kısmına tıkladığımda, data hattımından 2222 numaralı telefon numarasına KALAN smsi gittiğini gördüm. Daha sonra bunun tam olarak nasıl gerçekleştiğini görmek için trafiği Burp Suite PRO aracı ile incelemeye karar verdim.

Dikkatimi ilk çeken nokta, yapılan isteklerde Cross-Site Request Forgery (CSRF) saldırısına karşı herhangi bir önlemin alınmamış olmasıydı.

Cross-Site Request Forgery (CSRF) saldırısını kısaca, kullanıcının haberi ve bilgisi olmadan, internet tarayıcısının hedef alınan web uygulamasına doğru isteklerde bulunmasını sağlamaktır.

Örneğin kullanıcı hacklenmiş bir X haber sitesini ziyaret ediyor ve bu site üzerinden saldırgan, kullanıcının modeminin DNS değiştirme sayfasına (örnek: 192.168.1.1/dns.php) kullanıcısının haberi ve bilgisi olmadan DNS adresini 1.2.3.4 olarak güncelle şeklinde istek (HTTP POST) gönderiyor. Bu sayede artık kullanıcının tüm DNS istekleri, art niyetli kişinin DNS sunucusu üzerinden gerçekleşiyor ve kullanıcı gitmek istediği web sitesi yerine art niyetli kişinin web sitesine yönlendirilebiliyor.

Bu CSRF zafiyeti, istismar eden art niyetli kişiler ve dolandırıcılar tarafından nasıl kötüye kullanılır diye düşündüğümde aklıma ilk gelen, 3G modeme art niyetli kişilerin kontrolü olan bir web sitesi üzerinden premium SMS servislere SMS gönderilmesi sağlanarak haksız kazanç sağlanabileceği geldi. Bunun dışında diyelim ki ayrı bir data hattınız yok ve mevcut sim kartınızı 3G modeminiz ile kullanıyorsunuz. Bu durumda art niyetli kişiler, sms yönlendirme servisi ile size gönderilen smsleri başka bir telefon numarasına yönlendirebilirler. Bu senaryoları çoğaltmak mümkün olduğu için hızlıca, pratikte bunu kötüye kullanmak ne kadar kolay diye kendi cep telefonuma CSRF ile web sitesi üzerinden SMS atarak kontrol etmek istedim.

Burp Suite PRO ile gelen Generate CSRF PoC özelliği ile herhangi bir isteği çok kolay bir şekilde CSRF zafiyetini istismar eden bir web forma aşağıdaki gibi dönüştürebilirsiniz. Bu şekilde bir form oluşturup bunu web siteme (https://www.mertsarica.com/csrf.html) yükledim.

Daha sonra bu adresi 3G modem ile internet bağlandığım bilgisayarımdan çağırdığımda ise cep telefonuma SMS geldi ve oyun bitmiş oldu :)

Bu zafiyete karşı ne yapabilirim diye soracak olursanız, Turkcell ve/veya Huawei ile iletişime geçip bu zafiyeti ortadan kaldıran bir yama var mı diye sorabilir, varsa yükleyebilir veya bu modemi çöpe atıp farklı bir modem ile yolunuza devam edebilirsiniz.

Unutmayın, nasıl kullanmış olduğumuz işletim sistemimizin güvenlik yamalarının güncel olmasına güvenliğimiz için önem veriyorsak, aynı şekilde kullanmış olduğumuz aygıtların, cihazların da donanım yazılımlarının, yamalarının güncel olduğuna önem vermeliyiz.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Huawei E353 CSRF Zafiyeti appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Sosyal Ağ Hırsızları

Source: https://www.mertsarica.com/sosyal-ag-hirsizlari/

By M.S on June 1st, 2016

Bundan üç yıl önce yine Haziran ayında yayımlamış olduğum Jeton Hırsızları başlıklı blog yazımda, art niyetli kişilerin zararlı Chrome ve Firefox eklentiler ile kullanıcıların Facebook OAUTH jetonlarını çalarak, kullanıcıların hesaplarını nasıl kötüye kullandıklarına dikkat çekmiştim.

Ne tesadüftür ki üç yıl aradan sonra yine Haziran ayında, Twitter üzerinden reklamlar ile kullanıcıları zararlı sitelere yönlendiren ve bu siteler üzerinden yüklettikleri Chrome eklentileri ile Facebook ve Twitter parolalarını çalan bir veya birden fazla grup ile karşılaştım. Bu defa bilfiil tanık olduğum bu olayı yazıya dökerek bu konuya dikkat çekmek ve sosyal ağ ve medya güvenliği farkındalığına katkıda bulunmak istedim.

Twitter'da yaklaşık 2000+ takipçisi olan (yeri gelmişken tüm takipçilerime teşekkür ederim. :)) biri olarak, konu başka hesapları takip etmeye geldiğinde her ne kadar bana darılanlar olsa da, bu konuda oldukça seçici davranmaya devam ederek şimdilik ~150 hesabı takip etmek ile yetiniyorum. Bunun başlıca nedeni ise odağımı kaybetmeyip bilgi/bilişim güvenliği ağırlıklı tweetleri takip etmek istememden kaynaklanıyor. Durum böyle olunca da aslında Twitter'da karşılaştığım reklam tweetleri (promoted) de çoğunlukla güvenlik ile ilgili oluyor.

Geçtiğimiz günlerde kısa bir sürede çok sayıda karşılaştığım ve gerçek Twitter hesaplarının (muhtemelen eklentiyi yükleyen kullanıcıların hesapları) kullanıldığı birkaç reklam, şüpheli olması nedeniyle oldukça ilgimi çekti ve hemen reklamların perde arkasında neler olup bittiğini araştırmaya karar verdim.

Twitter'da bu durumla karşılaşan başka kullanıcılar var mı diye twitter virüs anahtar kelimeleri ile genel bir arama yaptığımda ise bu durumun Nisan ayından beri yaygın olarak Twitter'da karşılaşıldığını gördüm.

Reklam görsellerinden birine tıklandığında http://t.lapteccoder.com/dompol.php -> http://begenlobi.com/twlaptec.php -> http://t.lapteccoder.com/X0LwTuTI.php adresine, diğerine tıklandığında ise http://bit.ly/1s93imO -> http://firsat2014.com -> http://tw.oklsme.cf/vi.php -> http://tw.oklsme.cf/eSn0J1.php adresine yönlendirilen kullanıcının karşısına 18+ olduğu iddia edilen bir video görseli çıkmakta ve kullanıcı sahte videoyu izlemek için bu görselin üzerine tıkladığında, kullanıcıdan Chrome internet tarayıcısı kullandığı taktirde AdsTwitter Video veya SwsLertz isimli eklenti yüklemesini istemekteydi. Her defasında yönlendirilen PHP adının da rastgele olarak değişmesi, HTTP yanıt (response) kodu olarak 200 yerine 404 dönmesi ve ana sayfanın direk çağrıldığında da hesabın dondurulduğuna dair bir mesajla karşılaşılmasına rağmen sitenin çalışır olması da dikkatimden kaçmadı.

bitly.com kısaltılmış adreslerinin (short url) sonuna + işareti koyduğunuz taktirde (http://bit.ly/1s93imO+ gibi), o sayfanın istatistik sayfasına ulaşabiliyorsunuz. Ben de bu şekilde bu adrese ait istatistik sayfasını ziyaret ettiğimde, 5 saat içinde bu bağlantı adresine 4300 defa tıklandığını gördüm.

Jeton Hırsızları yazımdan da bildiğiniz üzere, Chrome eklentilerini indirdikten sonra crx olan uzantısını .zip yaptıktan sonra herhangi bir zip açma aracı ile açabiliriz. Paketin içinden çıkan JavaScript dosyaları bize o eklentinin işlevselliği konusunda bilgi verecektir.

Eklentilerin adreslerini ilgili sayfalardan tespit ettikten sonra http://chrome-extension-downloader.com adresi üzerinden bu eklentileri indirip kısaca incelemeye karar verdim.

AdsTwitter Video eklentisinde yer alan JavaScript kodunu incelediğimde, eklentiyi yüklemiş olan kullanıcı herhangi bir web sitesini ziyaret ettiğinde, bu eklentinin http://lapteccoder.com/pluactive.php -> http://begenlobi.com/twlaptec.php adresine istekte bulunduğunu gördüm. İsteğe dönen yanıtta yer alan JavaScript kodu sayesinde, kullanıcı tarafından ziyaret edilen adresin facebook.com veya twitter.com olması durumunda bu eklenti, kullanıcının e-posta ve parolasını çalıyor ve hırsızlara gönderiyordu. Ayrıca hırsızlar, http://whos.amung.us/ sayfasının istatistik eklentisinden de faydalanarak bu zararlı eklentinin anlık olarak kaç kişi tarafından kullanıldığını yakından da takip ediyorlardı.

SwsLertz isimli eklentide yer alan JavaScript kodlarında ise bu defa Base64 ile metinlerin gizlendiğini gördüm. Yine diğerinde olduğu gibi, kullanıcı herhangi bir web sitesini ziyaret ettiğinde bu eklentinin http://tumuser.com/tw.php adresine istekte bulunduğunu ve bu isteğe dönen yanıtta yer alan JavaScript kodu sayesinde ziyaret edilen adresin twitter.com olması durumunda kullanıcının e-posta adresini ve parolasını çalıyordu (https://healtpol.com). Eklentinin yüklenir yüklenmez, Twitter'a ait olan mevcut çerezleri (cookie) silmesi ve kullanıcıyı direk twitter.com adresine yönlendirmesi de dikkatimi çeken diğer bir ayrıntı oldu.

Hırsızların çaldıkları hesapları ne kadar etkin kullandıklarını anlama adına Twitter üzerinde @osmankurek81 isimli sahte bir hesap oluşturup, Twitter'a giriş için kullandığım e-posta adresini ve parolayı ilgili sayfaları üzerinden hırsızlara çaldırdığımda, hesabın 2 saat içinde kötüye kulanıldığına ve dondurulduğuna dair Twitter'dan bir e-posta aldım. Bunun üzerine Twitter hesabıma bağlanan IP adreslerini incelediğimde, hırsızlara ait olduğunu düşündüğüm ip adresini de görebildim.

Sonuç olarak, dolandırıcıların sosyal ağlar üzerinde masum vatandaşların parolalarını çalmak ve hesaplarını kötüye kullanmak için uğraş verdiklerini ve hatta reklam bütçeleri oluşturduklarını görebiliyoruz.

Sosyal ağ ve medya güvenliğiniz için bilmediğiniz kaynaklardan gelen mesajlara, reklamlara itibar etmemenizi, bağlantı adreslerine tıklamamanızı ve internet tarayıcılarına yüklediğiniz eklentilere dikkat etmenizi (mevcut Chrome eklentilerinizi chrome://extensions adresinden görebilirsiniz) tavsiye ederim.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Sosyal Ağ Hırsızları appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Autoit Bankacılık Zararlı Yazılımı

Source: https://www.mertsarica.com/autoit-bankacilik-zararli-yazilimi/

By M.S on July 1st, 2016

2015 yılından bu yana Türkiye'de çok sayıda bankanın müşterilerinin hedef alındığı bir zararlı yazılım salgını olduğu bilinmekteydi. Kullanmış olduğu Windows işletim sistemi üzerinde bu yazıya konu olan bankacılık zararlı yazılımı çalışan banka müşterileri, ilgili bankaların internet şubelerine girişi esnasında, mobil şube uygulaması yükletme vaadiyle cep telefonu numarası isteyen bir pencere ile karşılaşıyorlardı. Pencerede yer alan görsellerin tasarımının bankanın tasarımıyla uyum içinde olması ise müşterileri cep telefonu numarası girmeye ikna eden önemli etkenlerden biriydi.

Bu pencereye girilen cep telefonu numarasından sonra müşterinin cep telefonuna bağlantı adresi (link) içeren (http://banka.mobilsubeindir.com/kur) bir SMS gönderilmekteydi. Bu bağlantı adresini ziyaret eden ve Android işletim sistemi yüklü akıllı cihaz kullanan müşterinin karşısına, SMS çalabilme yeteneğine de sahip olan Android zararlı yazılımının kurulmasına yönelik yönergeler çıktığı daha önce gerçekleştirilen analizlerden bilinmekteydi. (Bu Android zararlı yazılımı ile ilgili detaylı bilgi almak için Bakır EMRE'nin analiz yazısını inceleyebilirsiniz.) Ben de bu yazımda, Windows işletim sistemi üzerinde çalışan ve yukarıda bahsi geçen Android zararlı yazılımının ilk halkası olan Windows zararlı yazılımını kısaca inceledim.

Windows işletim sistemi üzerinde çalışan bu zararlı yazılımın kullanıcıların sistemlerine tam olarak hangi kaynaktan, nasıl bulaştığını tam olarak bilinmemekle birlikte, zararlı eklentiye sahip veya zararlı JAR dosyası bağlantı adresi içeren sahte sipariş e-postası kaynaklı olduğunu, bulaşmış olduğu sistemlerde Java ile geliştirilmiş başka bir zararlı yazılım olması nedeniyle tahmin etmekteyim. (https://www.virustotal.com/en/file/0ba783b9cf1cee314c06f29b9ff629948a296257f1b1a19b09ba2a2369da3d0e/analysis/)

Cep telefonu numarasının girilmesini isteyen pencereye kullanıcı tarafından cep telefonu numarası girildiğinde, ilgili pencerede cep telefonu numarasına SMS gönderildiği belirtilmekteydi. Android akıllı cihaza kurulan bu uygulama (zararlı yazılım) çalıştırıldığında da, ekranda yer alan 6 haneli sayının bu pencereye girilmesi istenmekteydi. Bu sayı girildikten sonra mobil zararlı yazılım ile pencere çıkaran zararlı yazılımın eşleştiği arka planda komuta kontrol merkezine (http://149.202.206.57) bildirilerek, Windows işletim sistemi üzerinde çalışan zararlı yazılımın artık internet şubeye girişte kullanıcıya pencere çıkartmayacak şekilde komuta kontrol merkezinden komut aldığı ( ) görülüyordu.

Pencere çıkaran zararlı yazılım sisteme bulaştıktan sonra işletim sistemi yeniden başlatıldığında C:\Users\kullanıcı adı\AppData\Roaming\Apple_Updater\ klasörü altında lsasss.exe adı altında, aynı klasörde bulunan safe dosyasını yükleyerek çalışmaktaydı.

lsass.exe
MD5: 6A93A4071CC7C22628AF40A4D872F49B
SHA-1: BA916E686AA0CAE19AB907BDAB94924ADA92B5F4
SHA-256: 8465F3FCBCCCE3EA12495EDBB0BD09C3B066E3DF891613CE3180F9BB38B37B01

safe
MD5: A77D3D8060DC0096AF6F2F24AFD57EF7
SHA-1: B22068203898FB5643E5060AC72A29FD3D35DECE
SHA-256: 02E8EACE1A4FB827BB78BA1F5A40D9E54E98AED7E555093B37C0243AF6B05D99

Kısa bir araştırmadan sonra, lsasss.exe programının AutoIt v3.3.12 programının (https://www.autoitscript.com/site/autoit/) adının değiştirilmiş hali (rename) olduğu, safe dosyasının ise AutoIt betiği (script) olduğunu tespit ettim.

AutoIt betiğini OllyDbg gibi bir hata ayıklama programı ile analiz etmek için https://www.autoitscript.com/wiki/FAQ#How_can_I_debug_my_script.3F sayfasında yer alan araçları kullanabilirsiniz.

safe dosyasını incelendiğimde bu dosyada yer alan değişken isimlerinin karmaşıklaştırılmış olduğu, şifrelenmiş verilerin yer aldığı (#comments-start #comments-end), şifreleme amacıyla kullanılan fonksiyonlar olduğunu gördüm.

lsasss.exe programı çalıştırıldıktan sonra safe dosyası içinde yer alan şifrelenmiş verileri (1 adet EXE uzantılı dosya (command line winrar programı) ve 1 adet şifrelenmiş (şifre: 6pRxSLyV4) RAR uzantılı dosya) C:\Users\kullanıcı adı\AppData\Local\Temp\ klasörü altında rastgele oluşturduğu sayılardan oluşan isme sahip bir klasöre açmakta ve bu klasörü gizlemekteydi. (hidden)

lsasss.exe programı, Winrar programı ile şifrelenmiş RAR dosyasını gizlenmiş klasöre açtıktan sonra, içinden çıkan svnhost.exe isimli programı (AutoIt programı) 871155.583007 (AutoIt betiği) dosyası ile çalıştırmakta ve 871155.583007 dosyasını silerek, sistem üzerinde svnhost.exe adı altında çalışmaktaydı.

871155.583007 dosyasını incelendiğimde ise sistemde açık olan pencerelerin başlık (title) bilgilerini izleyerek (Örnek kod: $basliklar[22] ="TurkishBank Internet Bankacılığı"), pencerede yer alacak bankanın görsellerini komuta kontrol merkezinden alarak 30’a yakın bankanın müşterisini ve internet şubesini hedef aldığını gördüm.

871155.583007 dosyasını incelendiğimde ayrıca bu zararlı yazılımının izlediği başlık bilgisini tespit ettiği anda tuş bilgisi kaydı yaptığını ve bu bilgileri cert.dat dosyasına kayıt ettiğini, ekran görüntüsü aldığını ve bunları da C:\Users\kullanıcı adı\AppData\Local\Temp\ klasörü altında rastgele oluşturduğu sayılardan oluşan ada sahip klasörde sakladığını gördüm. İlgili pencere kapatıldığı anda ise ilgili klasörde yer alan ekran görüntülerini RAR işleminden geçirdikten sonra cert.rar adı altında cert.dat (tuş bilgileri içeren dosya) dosyası ile birlikte komuta kontrol merkezine (http://149.202.206.57) göndermekteydi.

871155.583007 dosyasında yer alan fonksiyon (Örnek: Func yazkizim($krctr)) ve değişken (Örnek: $sayac) isimlerinin Türkçe olması, bu zararlı yazılımın Türkçe bilen kişilerce geliştirildiği ihtimaline dikkat çekiyordu.

Ayrıca yine bu dosya içinde zararlı yazılımın çalıştıktan sonra kendisini silecek fonksiyonları barındırması ancak kullanmaması ve $cert_avi değişkenine sahip olması, zararlı yazılımın ilerleyen sürümlerinde bu özellikleri kullanma ihtimali olduğunu göstermekteydi.

Sonuç olarak internet bankacılığı müşterilerinin her daim bu ve benzeri zararlı yazılımlara karşı tetikte olması ve internet şubelere girişte ve/veya sonrasında karşılaştıkları olası şüpheli durumlarda mutlaka ama mutlaka bankalalarına haber vermeleri gerekmektedir. Zararlı yazılım analizi becerine sahip bankalar (ehem ehem :)) bu ve benzeri zararlı yazılımları analiz ederek sizlerin daha güvenli bankacılık yapabilmeniz adına imkanları dahilinde ellerinden gelenin en iyisini yapacaklardır.

Bu zararlı yazılımın sisteminizde çalışıp, çalışmadığından emin olmak için çalışan programlarda (görev yöneticisi) lsasss.exe ve/veya svnhost.exe olup olmadığını kontrol edebilirsiniz.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Notlar:

Zararlı yazılımı temizlemek için Start -> Run -> Msconfig yazdıktan sonra Startup sekmesinde, Apple_Updater satırını bulup, sildikten/devre dışı bıraktıktan sonra sisteminizi yeniden başlatabilirsiniz.

20'ye yakın bankanın yetkilileri ile bu bilgiler, siz bu yazıyı okumadan günler öncesinde paylaşılmıştır.

Bu yazı, 6. Pi Hediyem Var oyununun çözüm yolunu da içermektedir.

The post AutoIt Bankacılık Zararlı Yazılımı appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

RFID Kapı Kilidi

Source: https://www.mertsarica.com/rfid-kapi-kilidi/

By M.S on August 1st, 2016

Yakın bir arkadaşımı ziyaret etmeye gittiğimde, her zaman kapı girişinde bulunan güvenlik görevlisinin yanında bu defa kapıya yeni takılmış olan Access Control yazılı, logosuz temazsız kart okuyucu dikkatimi çekti. (Bir mekana girdiğinde gizli kameraları tespit etmeyi huy edinmiş birinin dikkatini çekmesin de kimin çeksin zaten ? :))

Arkadaşımla konuştuğumda, bu okuyucunun site yönetimi tarafından alınan bir karar üzerina kapıya monte edildiğini ve tüm daire sakinlerine kapıyı açmak için mavi renkte bir anahtarlık dağıtıldığını öğrendim. Bu anahtarlık sayesinde kapıya geldiğinizde güvenlik tarafından sorguya tutulmuyor, anahtarlığı okutarak apartmana giriş yapabiliyormuşsunuz. RFID anahtarlık olduğundan şüphem olmayan bu anahtarlığı cebime atıp, üzerinde biraz çalışıp merakımı gidermek için evimin yolunu tuttum.

İlk olarak bu kart (anahtarlık) okuyucunun özelliklerini bulmak için ilan sitelerinde anahtar kelimelerle (rfid access control system, rfid kapı vb.) araştırmaya yapmaya başladım ve çok geçmeden ilan sitelerinde aynı modele ait ilanlar buldum.

İlanların çoğunda, bu ürünlerle kullanılan anahtarlıkların kopyalanamaz olduğu ve kapı kilitlerinin de yüksek güvenliğe sahip olduğu ifadeleri dikkatimi çekti. Genelde sızma testi uzmanları için satış odaklı kurulan iddialı cümleler, güvenlik testi (sağlama da diyebiliriz) gerçekleştirilene dek pek birşey ifade etmez ;) Özellikle bu tür kapı kilitlerinde EM4100 protokolünü kullanan RFID alıcı, verici ve kartlar/etiketler kullanıldığını bildiğim için ne kadar kolay bir şekilde kopyalanabileceğini pratikte tecrübe etmeye karar verdim.

EM4100 uyumlu kartlar/etiketler çoğunlukla okunabilir (read-only) olarak piyasada bulunurlar ve 40 bit olarak (1 bayt sürüm bilgisi + 4 bayt veri) bir defa programlandıktan (çoğunlukla fabrika çıkışı) sonra değiştirilemezler.

EM4100 uyumlu sadece okunabilir bir kartı kopyalamak için, T5577 gibi okuma ve yazma desteği de olan bir kartı/etiketi, okuma yazma desteği olan bir aygıt sayesinde EM4100 olarak programlamak yeterlidir. Bu işlemleri Arduino veya Raspberry Pi ile Parallax Read/Write gibi bir aygıtla gerçekleştirmek pratikte pek kolay olmayabilir bu nedenle Phidgets'ın 1024_0 aygıtı işleri kolaylaştıracaktır.

Kopyalama işlemini gerçekleştirmek için Phidgets'ın RFID uygulaması ile öncelikle EM4100 uyumlu kartı/etiketi USB aygıta okutuyorsunuz ardından da T5577 anahtarlığı aygıta getirip Write butonuna bastığınızda anahtarlık kolay bir şekilde başarıyla kopyalanmış oluyor.

Son olarak kopyalanmış anahtarla kapıyı açmayı deneyip başarılı olduktan sonra, site yönetimleri ve daire sakinleri için bu kilitle kullanılan anahtarların kopyalanabilir olduğunu söyleyerek bir güvenlik farkındalığı çalışmasını daha başarıyla tamamlamış oluyoruz. :)

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post RFID Kapı Kilidi appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Black Hat USA 2016

Source: https://www.mertsarica.com/black-hat-usa-2016/

By M.S on August 8th, 2016

İlk defa geçtiğimiz yıl katılma fırsatını yakaladığım dünyaca ünlü Black Hat güvenlik konferansına, NormShield firması sayesinde bu sene tekrar katılacağımı büyük bir mutlulukla geçtiğimiz ay sizlerle paylaşmıştım. Konferans ve öncesinde aldığım kısa notları, 12 saatlik dönüş yolunda sizler için derleyerek daha önce olduğu gibi merak edenler için yazıya dökmeye karar verdim.

Benden kimseye zarar gelmeyeceğini üçüncü defada artık anlamış olsalar gerek ki, bu defa ABD'ye girişim Intel Security Focus Güvenlik Konferansı başlıklı blog yazımda yaşadıklarımın aksine oldukça rahat oldu. 20 Temmuz itibariyle Los Angeles şehrinde başlayan ABD tatilim, 30 Temmuz itibariyle yerini Las Vegas şehrinde gerçekleşen Black Hat güvenlik etkinliğine bıraktı. Takip edemeyenleriniz için, Black Hat USA 2016 güvenlik etkinliği, bu sene 30 Temmmuz - 4 Ağustos tarihlerinde gerçekleştirildi.

3 ve 4 Ağustos tarihlerinde yapılan sunumlar öncesindeki 4 günde, geçtiğimiz senelerde olduğu gibi birbirinden güzel 70'e yakın güvenlik eğitimi verildi. Ben de, değerli yöneticilerim ve işverenim IBTech sayesinde donanım güvenliği üzerine yoğunlaşan iki günlük Hardware Hacking With Hardsploit Framework eğitimine katılabildim.

Geçtiğimiz aylarda işim gereği elektronik ATM kasa kilidi için sızma testi gerçekleştirmiş bir güvenlik uzmanı olarak, bu eğitimin benim için oldukça verimli geçtiğini ve ufkumu açtığını söyleyebilirim.

Opale Security firması tarafından verilen bu eğitime farklı ülkelerden (Tayvan, Kore, Brezilya, Fransa, Avusturalya), farklı profillerde (yazılımcı, sızma testi uzmanı) katılan yaklaşık 25 kişi vardı. Özellikle Amerikan Hava Kuvvetleri'nden üç kişinin katılması ve bazı katılımcıların eğitimin kendini tanıtma kısmında diğer katılımcılar ile sadece isimlerini paylaşması (Acaba neden? :)) da dikkatimden kaçmadı. Eğitimin ilk günü, Hardsploit aygıtı ile SPI ve I2C belleklerden bilgi toplama (dump), SWD bağlantı noktasından donanım yazılımını (firmware) elde etme (dump) gibi uygulamalar gerçekleştirildi. Eğitimin ikinci gününde ise öğleden önce GNU Radio ve RTL2832U dijital tv alıcısı ile neler yapılabileceği gösterildi. Öğleden sonra ise 1.5 günde öğrenilen bilgilerin pekiştirildiği oldukça keyifli bir çalışma gerçekleştirildi. Katılımcılardan takımlar oluşturuldu ve daha sonra eğitmenler tarafından özel olarak oluşturulmuş quadcopterler (drone) takımlara dağıtıldı. Her bir takımdan drone'a üzerinde bulunan bağlantı noktaları üzerinden cihaza bağlanmaları, donanım yazılımını indirmeleri (dump), zafiyet tespit etmeleri ve diğer ekiplerin mevcut zafiyeti istismar etmesinden önce dronelarındaki bu zafiyeti gidermeleri istendi. Bunlara ilave olarak ayrıca her ekibe dağıtılan ve drone'a komut göndermek için kullanılan vericinin Hardsploit ile incelenmesi ve ardından eğitmenlerin sahip olduğu drone'a komut göndererek (belli periyotlarda eğitmenler kendi dronelarına sinyal göndererek bunu elde etmemizi sağladılar) havalandırmaları istendi. Kısa sürede son derece yoğun geçen bu eğitimden oldukça memnun kaldığımı söyleyebilirim.

Black Hat Konferansı, geleneksel olarak konferansın kurucusu olan Jeff Moss'un açılış konuşması ile başladı. Yaklaşık 8 dakika boyunca konuştuktan sonra sözü Dan Kaminsky'e verdi. Jeff Moss konuşmasında bazı istatistiklere de yer verdi. İlk olarak Black Hat USA 2016'ya tarihi bir katılım olduğunu ve açılış konuşmasında salonda yaklaşık 6400 kişi olduğunu açıkladı! Ardından da 194 öğrenciye burs verdiklerini belirtti. (Açılış konuşmasını merak edenler, aşağıda onlar için kayıt ettiğim videoyu izleyebilirler.)

Geçtiğimiz sene olduğu gibi yine paralelde birbirinden ilgi çekici sunumlar olduğu için hangisine katılacağıma karar vermekte oldukça zorlandım. Sunum sayfasındaki kategori bazlı filtreden faydalanarak "Tersine Mühendislik" ve "Zararlı Yazılım" konularını işleyen sunumlara katılmaya gayret ettim. İkinci gün katıldığım sunumların ilk günkü sunumlara kıyasla benim için daha tatminkar olduğunu söyleyebilirim. Katılım oldukça yüksek olduğu için yine bir sunumdan diğerine gitmek için metrobüs kalabalığını aratmayan bir kalabalığın arasından yolumu bulmaya çalıştım. Bazı sunumlarda işitme engelli katılımcılar için işaret dili ile anlatım yapılmasını da çok takdir ettim.

Katıldığım sunumlardan, Breaking Payment Points Of Interaction (POI) sunumunda POS cihazının tuş takımına (Pinpad) ortadaki adam saldırısı (MITM) yapılarak müşteriden Pin girmesini istemeleri ve daha sonrasında aradaki haberleşme şifreli olmadığı için çalabilmeleri, müşteriye gösterilen ekranlara kendi mesajlarını enjekte edebilmeleri oldukça ilginçti.

Captain Hook: Pirating AVs To Bypass Exploit Mitigations sunumunda ise antivirüs yazılımlarının çengelleme (hook) yöntemini hatalı kullanmaları sebebiyle yüklü oldukları sistemlerin güvenliğini nasıl zayıflattığı ile ilgili kısımlar da oldukça önemliydi.

Konferansa damgasını vuran sunumlardan biri olan Hacking Next-Gen ATMs: From Capture To Cashout sunumunda ise Shimmer dediğimiz aygıtlar ile dolandırıcılar tarafından banka hesaplarının ATM üzerinden nasıl boşaltılabilindiği gözler önüne serildi. Ayrıca son zamanlarda dolandırıcıların temassız kredi kartı bilgilerini de satın almaya başladıkları bilgisi, dikkat çeken bir diğer önemli noktaydı.

Shimmer, ATM'de kart okuyucu yuvasına yerleştirilen ve günümüzde güvenli olarak kabul edilen Çip & Pin destekli EMV kartın çipi ile ATM'nin çip okuyucusu arasındaki bilgiyi çalan ve dolandırıcılara bu bilgiyi anlık olarak gönderen bir aygıttır. Bu bilgiyi alan dolandırıcı, başka bir ATM'den bu bilgi ile müşterinin banka hesabını boşaltabilmektedir.

Cherokee Jeep'i hackleyerek ünlerine ün katan Charlie Miller ile Chris Valasek'in Advanced Can Injection Techniques For Vehicle Networks sunumuna geçen sene olduğu gibi yine yoğun bir ilgi vardı. Bu iki güvenlik araştırmacısı sunumlarında, araba üreticilerinin güvenlik adına sistemlerine koydukları kontrolleri nasıl aşabildiklerine ve bunun için hangi adımlardan geçtiklerine yer verdiler.

Sunumlar dışında pek tabii yine Business Hall, güvenlik dünyasının markalarına ve bu markaların görkemli stantlarına ev sahipliği yaptı. Black Hat USA 2016'da, Türkiye'de olduğu gibi "madem sponsor oldum o halde ben de konuşacağım" diyen, mikrofonu eline alıp etkinlik programını ve katılımcıların vakitlerini hiçe sayarak uzun süreler konuşup programı sarkıtan sponsor sunumları yoktu. Güvenlik etkinliği düzenlemeye niyetlenip sponsorların kaprisleri ile karşı karşıya kalanlar, sponsorları ikna etme adına aşağıdaki fotoğrafları kendileri ile paylaşabilirler. :)

Black Hat mağazasına her zaman olduğu gibi Black Hat hayranlarının oldukça yoğun ilgisi vardı. Birbirinden ilginç hediyelik eşyalar arasında gezinirken, Twitter takipçilerime yönelik düzenleyeceğim hediye çekilişi için ufak tefek hediyeler almayı ihmal etmedim. :)

Eğitimleriyle, sunumlarıyla, atmosferiyle ve anılarıyla beni her daim büyüleyen Black Hat USA konferansı benim için yine oldukça verimli geçti. Umarım bilgi güvenliğine merakı olan herkes, imkanları dahilinde veya işverenlerinin desteğiyle bu konferansa katılma imkanını birgün yakalar. Black Hat 2017 USA blog yazısı ile tekrar görüşebilir miyiz bilmiyorum fakat görüşebilmeyi ümit ederek herkese güvenli günler dilerim. :)

The post Black Hat USA 2016 appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Bir Drone Gördüm Sanki

Source: https://www.mertsarica.com/bir-drone-gordum-sanki/

By M.S on September 1st, 2016

Her bütçeye uygun İnsansız Hava Araçlarının (İHA), genel olarak bilinen adıyla droneların bir tık ile internetten satın alınabildiği ve kolay kolay kayıt altına alınamadığı şu günlerde, hem havayolu taşımacılığı hem de mahremiyet için tehlike oluşturmaya başladığına yazılı ve görsel medyada yer alan haberlerde sıkça rastlamaya başladık.

Durum böyle olunca da, dronelar ile mücadele dünyada olduğu kadar ülkemizde de önem kazanmaya başladı. Dünyada dronelar ile mücadele adına yapılan çalışmalara baktığımızda, kartal ile drone avlayan Hollanda Polis'i, ağ atan drone ile droneları avlayan Tokyo Polis'i, diğer droneları (Parrot AR.Drone 2 ise) hacklemeye imkan tanıyan Skyjack çalışması belki de bu alanda en yaratıcı çalışmaların başında geliyor diyebiliriz.

2014 yılının başında ben de Hubsan X4 H107C ile (örnek videoya buradan ulaşabilirsiniz) drone dünyasına adım attım. Drone'u uçururken bir güvenlik uzmanı olarak aklımı kurcalayan bazı sorular oluyordu. Bunlardan en çok merak ettiğim ise drone uçuran bir kişinin kumanda ile drone arasındaki bağlantısı manipüle edilebilir veya tekrarlanabilir miydi ? Eğer drone WIFI üzerinden haberleşiyor olsaydı o zaman Sammy gibi drone ile telefon arasındaki WIFI ağını çeşitli araçlar ve cihazlar yardımı ile kırabilir ve Skyjack çalışmasında olduğu gibi bağlantısını ele geçirmeye (hijack) veya manipüle etmeye çalışabilirdim. Ancak sahip olduğum drone olan Hubsan X4 H107C, kendine özgü protokolü ile 2.4 GHZ frekansından haberleştiği için Logic Analyzer yardımı ile SPI iletişimini izleyerek protokolü çözümlemenin zahmetli ve maaliyetli olacağını düşündüm.

Bu zahmetli yolda, ağrımış saçlarımı dökmeme adına önceden bu protokolü inceleyen olmuş mu diye Google'da arama yaptığımda, Jim Hung'un çalışması dikkatimi çekti. (#1, #2, #3, #4). Jim Hung'un Logic Analyzer ile gerçekleştirdiği çalışmaya göre kumanda ile X4 arasındaki bağlantıyı çalmak (hijack), manipüle etmek teoride olabilir gibi görünse de pratikte (en azından benim için) pek kolay durmuyordu. Bu çalışmadan yola çıkarak ben de gönderilen sinyali nasıl tekrarlayabileceğimi (replay) düşünmeye başladığımda, aklıma garaj kapısı araştırmamda işimi oldukça kolaylaştırabildiğini tecrübe ettiğim HackRF One geldi.

Jim'in çalışmasının ışığında ilk iş olarak Kali'de yer alan Gqrx SDR aracı ile 2400 MHz (2.4 GHz) frekansından başlayacak şekilde frekansı +10 MHz arttırarak (2410, 2420, 2430...) izlemeye başladım. Kumandanın açıldığında X4'ü aramak için gönderdiği keşif (discover) paketini kolaylıkla tespit edebildim. X4'ten keşif paketine istinaden gelen yanıt üzerine kumanda ile eşleştiğinde ise X4'ü ilgili frekansta tespit etmekte çok zorlanmadım.

İlgili frekansı bulduktan sonra ise kumandadan X4'e pervaneleri çevir (gaz verme - sol çubuk yukarı) komutunu verdikten sonra ilgili sinyali HackRF One cihazı ile aşağıdaki komut yardımı ile kayıt altına almaya başladım.

hackrf_transfer -r Hubsan-2442Mhz-8M-8bit-1.bin -f 2442000000 -l 40 -n 5

Ardından bu defa aşağıdaki komut ile kayıt altına aldığım sinyali ilgili frekansa gönderdiğimde X4'ün pervanelerinin hareket ettiğini gördüm ve başarıyla X4 ile kumanda arasındaki sinyali tekrarlayabilmiş oldum. Tekrarlama saldırısında zaman zaman X4'ün kumanda ile olan bağlantısının koptuğunu gördüm ki bu durum X4'ün düşmesi anlamına geliyordu. (Drone ile mücadele adına fena sayılmaz, ne dersiniz ? :))

hackrf_transfer -t Hubsan-2442Mhz-8M-8bit-1.bin -f 2422000000 -x 47

Sonuç olarak X4 H107C'nin HackRF One ile tekrarlama saldırısı yapılarak kötüye kullanılması (düşürülmesi gibi) mümkün gibi görünüyor. Dronelar ile mücadelede ilginç bir ayrıntı olabilir.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Bir Drone Gördüm Sanki appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

IDAPython ile Otomasyon

Source: https://www.mertsarica.com/idapython-ile-otomasyon/

By M.S on October 3rd, 2016

Her ne kadar güvenlik araştırmalarında ve zararlı yazılım analizinde hata ayıklayıcı/disassembler olarak Immunity Debugger/OllyDbg araçlarını daha kullanışlı bulsam da, bu durum IDA hata ayıklayıcı/disassembler aracının gücünü ve yeteneklerini hem bireysel hem de kurumsal olarak göz ardı ettiğim anlamına gelmiyor. Özellikle analiz edilen programı kaynak koduna çevirme yeteneği, çok sayıda platform desteği, IDAPython eklentisi , Immunity Debugger'a göre her daim güncellenmesi ve geliştirilemeye devam edilmesi IDA aracını benim için vazgeçilmez kılıyor. Hem bu artılarından dolayı hem de bankacılık zararlı yazılımlarını yakından takip edip analiz eden bir banka için de bankanın lisanslı ticari araçları arasındaki yerini istikrarlı bir şekilde yıllardır korumaya devam ediyor. Bu yazıda örnek bir zararlı yazılım analizinde manuel olarak yapıldığı taktirde oldukça zaman alabilen bir işlemin IDAPython eklentisi ile nasıl hızlandırılabileceğine dikkat çekeceğim. Ayrıca bu yazı Pi Hediyem Var #7 oyununun da çözüm yolunu içermektedir.

IDAPython, Python programlama dili ile hazırlamış olduğunuz betikleri (script), IDA API ve diğer Python modüllerinden de faydalanarak IDA üzerinde kullanmanızı sağlayan oldukça faydalı bir eklentidir. IDAPython eklentisi IDA Professional ve Starter ticari sürümleri ile birlikte yüklü olarak gelmekte, demo sürümünde ise harici olarak GitHub sayfası üzerinden yüklenmesi gerekmektedir.

IDAPython'ın kullanımı ile ilgili olarak internette çok sayıda olmasa da yeterli sayıda kaynak bulabilirsiniz. Bunlardan Ero Carrera'nın Introduction to IDAPython makalesini, ücretsiz The Beginner's Guide to IDAPython e-kitabını, Palo Alto'nun IDAPython yazı serilerini öncelikle okumanızı tavsiye edebilirim. IDA API kullanımı ile ilgili olarak da Hex-Rays'in IDAPython dokümanlarını inceleyebilirsiniz.

Bildiğiniz üzere zararlı yazılım analizine ilk olarak (çoğunlukla) statik analiz ile başlanmaktadır ve bu adımda zararlı yazılım üzerinde yer alan karakter dizileri (strings) GNU strings, Sysinternals strings vb. araçlarla incelenebilmektedir. Tabii sizin hangi adımlardan geçtiğiniz çok iyi bilen ve ileri seviye siber saldırılarda (APT) kullanılmak üzere zararlı yazılım geliştiren art niyetli kişiler buna karşın bu karakter dizilerinin çalışma esnasında (runtime) çözülmesini (decode) sağlayan fonksiyonlar (string decoder) kullanmaktadırlar. Bu gibi bir durumla karşılaştığınızda örneğin zararlı yazılım üzerinde okunaklı olmayan (encoded string) 100 tane karakter dizisi var ise ilk iş olarak bu karakter dizilerini çözen ana fonksiyonu (string decoder) bulmak olmalıdır. Hata ayıklayıcıda (debugger) zararlı yazılımı çalıştırdıktan sonra çözme işlemini gerçekleştiren fonksiyonun başlangıcına ve sonuna kesme noktası (breakpoint) koyarak çözülen karakter dizilerini yazmaçlardan (register) anlık olarak elde edebilirsiniz. Teoride uygulanabilir olsa da pratikte her çözülen karakter dizisini bir kenara not almak veya programın akışında 5 karakter dizisi çözdükten sonra anti-vm, anti-debugger kontrollerine takıldığı için sonlanan hata ayıklayıcı bize zaman kaybettirebilir. Bu gibi durumlarda IDAPython eklentisi bizi bu çıkmazdan kurtabilir.

Konakladıkları otellerdeki Wi-Fi ağını kullanan üst düzey kurum çalışanlarının DarkHotel APT grubu tarafından uzun yıllardan beri hedef alındığı geçtiğimiz yıllarda haberlere yansımıştı. DarkHotel grubunun kullandığı zararlı yazılım ile benzerlikler taşıyan ve Pi Hediyem Var #7 oyununa da konu olan Dubnium adındaki zararlı yazılım, Microsoft'un Threat Research & Response Blog'unda yer alan yazıda da belirtildiği üzere karakter dizilerini gizlemek için bir fonksiyon kullanıyordu.

Dubnium zararlı yazılımı ile ilişkili olan ve 0ac65c60ad6f23b2b2f208e5ab8be0372371e4b3 SHA1 hashine sahip olan sshkeypairgen.exe (Pi Hediyem Var #7'de adı adobe-pdf-reader.exe olarak değiştirilmişti.) isimli zararlı yazılımı IDA ile incelediğimde, Microsoft'un yazısına konu olan karakter dizisi çözme fonksiyonuna (sub_1177036) benzer bir fonksiyonun bu yazılımda da olduğunu gördüm. sub_1177036 fonksiyonunu çağıran diğer (xrefs to) fonksiyonları listelediğimde sayının oldukça fazla olduğunu gördüm ki bu durum gerçekten karakter dizisi çözdüğüne dair bir işaret olabilirdi.

Doğrulama adına sub_1177036 fonksiyonunu çağıran fonksiyonlardan sub_1174CC9 fonksiyonu üzerinde ilerlemeye karar verdim. Karakter dizisini çözen fonksiyonun öncesine (ecx yazmacına Yeljce(hR_ değerinin kopyalandığı) ve sub_1177036 fonksiyonunun çağrıldığı (call sub_1177036) komutun sonrasına (lea edx, [esp+554h+var_410]) kesme noktası koyduktan sonra hata ayıklama (debug) adımına geçtim.

sub_1177036 fonksiyonu çağrıldıktan sonra çözülen karakter dizisinin (string) EDI yazmacında (register) yer aldığını gördüm.

Bunu tespit ettikten sonra IDAPython ile manuel olarak gerçekleştirdiğim adımları otomatik olarak gerçekleştirecek bir betik hazırlamaya karar verdim.

Betik temel olarak şu adımları gerçekleştiriyor;

Gizlenmiş karakter dizisini çözen sub_1177036 fonksiyonunun çağrıldığı sub_1174CC9 fonksiyonun girişine kesme noktası (breakpoint) koyuyor.

Yeljce(hR_ gizlenmiş karakter dizisini ECX yazmacına kopyalayan komutun üzerine kesme noktası (breakpoint) koyuyor. (mov ecx, offset Yeljce(hR_)

Karakter dizisini çözen fonksiyona (sub_1177036) iletilen tüm gizlenmiş (encoded) karakter dizilerini teker teker tespit ediyor.

Döngü içine girerek sub_1174CC9 fonksiyonunda yer alan ve Yeljce(hR_ gizlenmiş karakter dizisinin yer aldığı adresi (offset Yeljce(hR_), tespit ettiği diğer bir gizlenmiş karakter dizileri ile teker teker değiştiriyor ve karakter dizisini çözen fonksiyona iletiyor.

Gizlenmiş karakter dizisi fonksiyon içinde çözüldükten sonra EDI yazmacından çözülmüş karakter dizisini okuyor ve sub_1174CC9 fonksiyonunun başına dönüyor ve aynı adımlardan tekrar geçiyor.

Sonuç olarak bu örnekten yola çıkacak olursak, IDAPython eklentisi ile güvenlik araştırmasında, zararlı yazılım analizinde zaman alabilecek süreçleri hızlandırabilir, çalışmanız için değer üretebilecek çıktılara kısa bir sürede ulaşabilirsiniz.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Not:GitHub sayfam üzerinde hazırlamış olduğum Dubnium String Decoder isimli betiği bulabilir ve yazı boyunca anlattıklarımın kısa bir özetini kayıt etmiş olduğum aşağıdaki olduğum videoda izleyebilirsiniz.

The post IDAPython ile Otomasyon appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

Zararlı JavaScript Analizi

Source: https://www.mertsarica.com/zararli-javascript-analizi/

By M.S on November 1st, 2016

JavaScript, yaygın olarak internet tarayıcılarında kullanılan bir programlama dilidir. İnternet tarayıcılarında kullanılması nedeniyle de çoğunlukla güvenlik araştırmacıları ve art niyetli kişilerce internet tarayıcılarında güvenlik zafiyetleri tespit etmek ve tespit edilen güvenlik zafiyetlerini istismar etmek (Örnek: Aurora Operasyonu) amacıyla da kullanılmaktadır.

Ayrıca JavaScript'in istismar kitleri tarafından hedef sistemin kontrolünü ele geçirmek ve zararlı yazılım yüklemek amacıyla kullanıldığı da görülmektedir. Bir zamana damgasını vuran ve hem son kullanıcılara hem de kurumsal kullanıcılara bir hayli zor günler yaşatan Blackhole istismar kitini ve geliştiricisi tutuklandıktan sonra istismar kiti piyasasını ele geçiren Angler istismar kitini buna örnek gösterebiliriz.

Geçtiğimiz aylarda, Angler istismar kitinin ele geçirdiği hedef sistemlere Cryptowall zararlı yazılımı yüklediği, Heimdal güvenlik firması tarafından yapılan bir araştırma sonucunda ortaya çıktı.

Hem kurumlara gerçekleştirilen siber saldırılara hem de istismar kitlerine bakıldığında, JavaScript'in önemli bir role sahip olduğu görülüyor. Durum böyle olunca da, zararlı JavaScript kodlarının güvenlik uzmanları tarafından analiz edilebilmesi daha da önem kazanmaya başladı.

JavaScript'i OllyDbg, Immunity Debugger veya IDA Pro gibi hata ayıklayıcı araçları ile adım adım analiz etmek pek mümkün değil. Bunlar yerine JavaScript hata ayıklaması özelliğine sahip olan ve hem Chrome hem de Firefox internet tarayıcısı eklentisi olarak yüklenebilen, ücretsiz Firebug eklentisinden faydalanabilirsiniz.

Elinizde analiz etmeniz gereken ve Angler istismar kitine ait "trafik dosyası" (PCAP) olduğunu düşünelim. Yapacağınız ilk iş, http filtresi ve Follow TCP Stream ile Wireshark aracında, HTML dosyası içinde yer alan şüpheli JavaScript'i tespit etmek olacaktır.

JavaScript'i başarıyla tespit ettikten sonra HTML kodlarından kurtulup dosya içinde sadece JavaScript kodlarını bırakmak, formatını biraz düzenlemek ve hata ayıklamaya başlayacağınız yere debugger; anahtar kelimesini yerleştirmek, analizinizi kolaylaştıracaktır. (debugger; anahtar kelimesini kullanmak yerine farklı yollar da izleyebilirsiniz.) Ancak Angler istismar kitinde olduğu gibi kimi durumlarda, JavaScript çalışma esnasında HTML kodlarına da ihtiyaç duyduğu için HTML kodlarından kurtulmak işinizi aksine zorlaştırabilir.

Hata ayıklamaya başlamak için Firefox internet tarayıcısını açıp, sağ üst köşede bulunan Firefox ikonuna bastığınızda, Firebug aktif hale geldiğini görebilirsiniz. Ardından Javascript kodunu içeren HTML dosyasını Firefox internet tarayıcısı ile açtığınızda, Firebug hata ayıklayıcısının debugger; anahtar kelimesi üzerinde sizden komut bekler halde beklediğini görebilirsiniz. OllyDbg, Immunity Debugger vb. hata ayıklayıcılar kullananıyorsunuz, aşağı bölümde, sağ üst köşede yer alan butonlar veya kısayollar (F8 - Continue, F11 - Step Into, F10 - Step Over) sayesinde FireBug'ı benzer şekilde kullanabilirsiniz.

Hata ayıklamaya başladığınızda, Firebug aracının eval() fonksiyonu üzerinde durduğunu göreceksiniz. Sağ tarafta ise eval() fonksiyonu tarafından yorumlanacak/çalıştırılacak olan H4BA5 değişkeninde yer alan JavaScript kodlarını görebilirsiniz. Bu durum size, JavaScript kodlarının bu HTML kod içerisinde gizlenmiş olduğunu, internet tarayıcısı tarafından, çalışma (run) esnasında açık hale geldiğini (decode) ve çalıştırılmak üzere eval() fonksiyonuna iletildiğini açıkça göstermektedir.

Değişkenlerde yer alan JavaScript kodlarını dilediğiniz zaman konsol ekranından ulaşabilirsiniz. Bunun için Console ekranında console.log(değişken) yazmanız yeterlidir.

Firebug eklentisi dışında, JavaScript kodlarını analiz etmek ve hata ayıkamak için Chrome internet tarayıcısı ile birlikte gelen Developer Tools aracından da faydalanabilirsiniz. Bunun için ilgili HTML dosyasını açtıktan sonra, klavyede F12 tuşuna basmanız yeterli olacaktır.

Diyelim ki elinizde yazının başında belirttiğim ve PCAP dosyasından çıkarttığınız, Angler istismar kitine ait bir HTML dosyası var ve bu dosyayı Chrome ile çalıştırdığınızda, internet tarayıcısının doodveeantoviar.kyderby.org adresine gitmeye çalıştığını farkettiniz. Bu adresin, HTML dosyasının tam olarak neresinde yer aldığını öğrenmek ve fonksiyonu analiz etmek istiyorsunuz ancak adresi arattınız ve bulamadınız, bu durumda ne yapacaksınız ?

Bu durumda yapmanız gereken ilk iş daha önce eval() fonksiyonu ile ortaya çıkan tüm JavaScript kodlarını, Angler HTML dosyasının içine kopyalamak ve çalıştırmak olacaktır. Çalıştırdığınız zaman aşağıdaki ekran görüntüsünde yer aldığı gibi http adresinin getKolaio() fonksiyonundan geldiğini görebilirsiniz. getKolaio() fonksiyonuna baktığınızda, bu fonksiyondan gelen değerin NhxUAmwU(xlAEe1xlAEe3); fonksiyonundan geldiğini görebilirsiniz. xlAEe1xlAEe3 değişkenine baktığınızda ise bunun gizlenmiş bir değere sahip olduğunu anlayabilirsiniz. NhxUAmwU fonksiyonunu incelediğinizde de, bunun gizlenmiş veriyi çözen ana fonksiyon olduğu ortaya çıkacaktır.

NhxUAmwU fonksiyonunu dinamik olarak hata ayıklayıcı ile analiz etmek için ise ilgili fonksiyonu ayrı bir HTML dosyasına kopyalayıp, gizlenmiş verileri bu fonksiyona ileterek, adım adım gizlenmiş verinin nasıl çözüldüğünü anlayabilir ve analizinizi gerçekleştirebilirsiniz. Yolunuz açık olsun :)

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

The post Zararlı JavaScript Analizi appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.

They PWN Houses!

Source: https://www.mertsarica.com/they-pwn-houses/

By M.S on December 5th, 2016

12 Kasım 2016 tarihinde, başarılı bir "Pi Hediyem Var" oyuncusu olan Mustafa Ali CAN, ziyaret ettiği bir devlet sitesinde antivirüs yazılımının alarm vermesi üzerine benimle iletişime geçti. Yaptığımız yazışmada, kullandığı antivirüs yazılımının sitede tespit ettiği zararlı JavaScript kodunu JS/Kryptik.I olarak adlandırdığını belirtti. Devlet sitelerimizin çeşitli APT grupları tarafından hedef alındığını bilen bir siber güvenlik uzmanı olarak, bu alarma konu olan zararlı JavaScript kodunu yakından incelemeye karar verdim.

Siteyi ziyaret ettiğinizde, sisteminizi istismar etmeye çalışan zararlı bir JavaScript kodu yerine sosyal mühendislik yöntemi ile zararlı yazılım (1. dropper) yükletmeye çalışan bir zararlı JavaScript kodu ve mesajı ile karşılaşıyorsunuz. Zararlı javascript kodunun nerede olduğunu bulmak için ise kaynak koduna baktığınızda, 10 Nisan 2015 tarihinde siteye yazılan bir yorumda, http://pol.google.com.mooo.com/ajax/libs/jquery/jquery-2.1.5.ack.min.js adresinde gizli olduğunu görebiliyorsunuz. Tabii haklı olarak bu zararlı kodun eski tarihli bir yoruma eklenmiş bir zararlı kod olup olmadığını nasıl bilebiliriz diye sorduğunuzda, sorunuzun yanıtının zararlı yazılımın derlenme tarihinde gizli olduğunu yazının ilerleyen kısımlarında görebilirsiniz.

JavaScript kodunu indirip, incelemeye başladığımda, kod üzerinde gizleme tekniği (obfuscation) uygulandığını gördüm ve bunu kısa yoldan çözmek için REMnux ile birlikte gelen js-beautify ve node-js araçlarından faydalanarak gizlenmiş kodu ve içinde yer alan web adreslerini kolaylıkla çözebildim. jquery-2.1.5.ack.min.js (analiz esnasında dosya adını önce mal.js sonra obfuscated.js olarak adlandırdım) dosyasının ilk satırında zararlı yazılımların yükleneceği merkez sunucu adresi olarak http://codebase.google.com.mooo.com/ajax/libs/jquery/ yer alıyordu. pol.google.com.mooo.com ve codebase.google.com.mooo.com adreslerinin Türkiye'de bir üniversitenin eğitim fakültesine ait bir sunucuya yönlendiriliyor olması da bu sunucunun art niyetli kişiler tarafından hacklenmiş olabileceği ihtimalini güçlendiriyordu. Ayrıca web sitelerindeki zararlı kodları tespit edebilen Sucuri zararlı yazılım tarayıcısının bu zararlı kodu web sitesi üzerinde tespit edememesi de bu kodun art niyetli kişiler tarafından özelleştirilmiş olabileceğine işaret ediyordu.

Yardımcı araçlar ile çözülen gizlenmiş JavaScript koduna baktığımda, art niyetli kişilerin Windows, Linux ve macOS işletim sistemi kullanıcılarını hedef aldığı açıkça görülüyordu. Eğer işletim sistemi Windows ise ve sistem üzerinde Flash yüklü ise bu durumda zararlı yazılımı (1. indirici/dropper) Adobe AIR üzerinden, Flash yüklü değil ve internet tarayıcısı Firefox ise bu durumda Firefox eklentisi üzerinden, eğer bu koşulların hiçbiri değil ancak internet tarayıcısı Internet Explorer ise bu durumda HTA dosyası üzerinden JavaScript kodu ile sistem üzerinde oluşturuyorlardı. Eğer işletim sistemi Linux veya macOS ise ve internet tarayıcısı Firefox ise bu durumda zararlı yazılımı (1. indirici) JavaScript kodu ile aksi durum ise ve hedef işletim sisteminde Java yazılımı yüklü ise bu durumda zararlı JAR dosyası ile sistem üzerinde zararlı yazılımı oluşturuyorlardı. İndiricinin oluşturulması esnasında kullanılan gizlenmiş kodda anahtar olarak M4St3Rm4pp3d karakter dizisi kullanılmıştı. (Tahminimce bu karakter dizisi, zararlı yazılım geliştiricisinin imzasıydı.)

İşletim sistemine göre http://softwareupdates.ignorelist.com/globalupdates/ adresinden indirilen ve çalıştırılan zararlı yazılımlardan (unixupdate (sha1:5D09C139746C8A9855CE341A63687E2E86A47FAE) , osxupdate (sha1:1A441A1E80F88CEBE0D1E20CE06E2144743C5955), winupdate (sha1:EEC0B83017F59B8D15ED630107160D71950C7888)) Windows işletim sistemi üzerinde çalışan winupdate (aslında VBS dosyası içinde binary olarak indiriliyor ve çalıştırılıyor) dosyasını incelediğimde, bunun da bir indirici yazılımı (2. indirici) olduğunu gördüm. VBS dosyası içinde yer alan PE'nin hex değerlerini xxd aracı ile binary'e çevirdikten sonra winupdate.exe dosyasını elde etmiş oldum.

24 Mart 2015 tarihinde derlenen Winupdate programı çalıştırıldıktan sonra WMIC işlemine (process) kendisini enjekte ettiğini ve ardından %temp% klasörü altında AdobeUpd.exe (sha1:013E276E46732F2B8D4CC0489886B6CCE7C229A4) ve AdobeUpdate.exe (sha1:A8B1C28D3F6D977F9D2ABF386197C57DE67667A6) dosyalarını oluşturduğunu gördüm.

İlk olarak AdobeUpd.exe programını VB Decompiler aracı ile incelediğimde, çalıştırıldıktan sonra %TEMP%\AdobeUpdate.exe programını %WINDIR%\System32\AdobeUpdate.exe klasörüne kopyaladığını ve Windows yeniden başlatıldığında otomatik olarak çalışabilme adına AdobeUpdate servisi oluşturduğunu tespit ettim. Bu arada unixupdate programının Linux üzerinde çalıştırıldıktan sonra kendisini kullanıcının HOME dizini altına .unixupdate adı altında kopyaladığını ve bulunduğu dizini .bashrc dosyasının sonuna eklediğini de Linux kullanıcıları ile paylaşayım.

AdobeUpdate programı çalıştırıldıktan sonra kaynak koduna gömülü olan komuta kontrol merkezi sunucularına 80, 8080 ve 443 bağlantı noktalarından erişmeye çalışıyordu. İşin ilginç yanı ise haberleşmeye çalıştığı komuta kontrol merkezlerinden çoğunun Türkiye'de bulunmasıydı. IP adreslerine bağlanmaya çalıştığınızda da bu ip adreslerinden bazılarının DVR cihazlarına ait olduğunu görebiliyordunuz. Özellikle DDoS saldırılarında kullanılan IoTlerin hedeflenmiş saldırılarda da zıplama noktası olarak kullanılması sanırım bu saatten sonra kimseyi şaşırtmayacaktır.

Tabii zararlı yazılımın derlenmesinden 1.5 sene sonra komuta kontrol merkezlerinin hala çalışır olmasını beklemek hayalcilik olurdu dolayısıyla çalışan bir komuta kontrol merkezi maalesef bulamadım. Ben de bunun üzerine çalıştırılır çalıştırılmaz haberleşmeye çalıştığı komuta kontrol merkezinin login.php sayfasına gönderdiği şifreli veriyi çözmeye karar verdim. AdobeUpdate.exe programının sistem üzerinde çalıştırdığı WMIC işlemine (process) kod enjeksiyonu yaptığını bildiğim için IDA Pro ile kod enjeksiyonu yapılan noktayı AdobeUpdate programı üzerine tespit etmeye çalıştım ancak çeşitli teknik engellerden dolayı IDA Pro beni biraz hayal kırıklığına uğrattı. Immunity Debugger aracını her zaman daha kullanışlı bulan biri olarak bu defa ne varsa eski dostta vardır diyerek incelemeye çalıştığımda bu defa Immunity Debugger aracının çöktüğünü gördüm. Bu bir kabus olmalı derken OllyDbg aracının tahtına aday olan x64dbg aracı imdadıma yetişiverdi. AdobeUpdate programı Visual Basic ile geliştirildiği ve enjeksiyon sonrası zararlı kodun bellekten çalıştırılması amacıylaCallWindowProc API kullanıldığını gördüğüm için bu API çağrılmadan önce bellekte PE dosya formatının başlangıç değerlerini 4D5A90 (magic header) aratmaya karar verdim. Arama sonucunda zararlı yazılımın çekirdeğine başarıyla ulaştıktan sonra bellekten diske kayıt ettim. (dump)

IDA Pro ile diske kayıt ettiğim zararlı yazılımı analiz ettiğimde çok geçmeden komuta kontrol merkezine gönderilen verinin RC4 simetrik şifreleme algoritması ile şifrelendiğini gördüm. RC4 şifrelemesinde kullanılan anahtarın oluşturulmasında kullanılan WePWNhouses12345 karakter dizisi, bu zararlı yazılımın ev kullanıcılarını hedef almak amacıyla geliştirildiği ihtimalini gündeme getiriyordu.

Anahtarın oluşturulmasında kullanılan karakter dizisini bulduktan sonra Python ile RC4 şifrelenen veriyi çözen bir program hazırlamaya karar verdim ve ortaya adına Polgov Decryptor verdiğim araç çıkıverdi. Bu araç sayesinde ağlarında paket kaydı (full packet capture) yapanların geçmişte sistemlerinden sızan şifreli verileri çözebileceklerine ümit ediyorum.

Sonuç itibariyle kum havuzu (sandbox) raporlarından da elde edilen bilgiler ışığında, sistem üzerinden ses, tuş kaydı ve parola bilgilerini çalabilen, adını bilemediğim bu ileri seviye casus yazılım ile birilerinin uzun bir süredir Linux, Windows ve macOS kullanıcılarını hedef aldığını görebiliyoruz. Özellikle APT zararlı yazılımlarında karşılaştığımız LUA betik dili kullanımının bu zararlı yazılımda da kullanılıyor olması bu zararlı yazılımın arkasında organize bir grubun olabileceği şüphesini arttırıyor. Son olarak Windows kullanıcıları kadar Linux ve macOS kullanıcılarına da internet sitelerini gezerken dikkatli ve tedbirli olmalarında fayda olacaktır.

Yazıma son noktayı koymadan önce, zararlı yazılıma ilişkin yapmış olduğum bildirime geri dönüşte bulunup, çalışma başlatan Siber Suçlarla Mücadele Daire Başkanlığı'na sorumlu bir vatandaş olarak teşekkür eder, bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Tarihçe:

13 Kasım'da USOM'a konuya ilişkin bildirimde bulundum. 20 Kasım'da Siber Suçlar Daire Başkanlığı'na bildirimde bulundum. 22 Kasım'da zararlı yazılımları barındıran üniversite yetkilisine konuya ilişkin bildirimde bulundum. 29 Kasım'da USOM tarafından kurumlara zararlı bağlantı adresleri ile ilgili uyarı e-postası gönderildi.

Not: Bu yazı ayrıca Pi Hediyem Var #9 oyununun çözüm yolunu da içermektedir.

The post They PWN Houses! appeared first on Hack 4 Career - Siber Güvenlik Günlüğü.