Hack 4 Career - 2018

(W/C)script Hata Ayıklaması

By Mert SARICA on January 1st, 2018 - online version

Okuyanlarınız Man In The Proxy blog yazıma konu olan bir internet bankacılığı zararlı yazılımını hedef sisteme indirmek ve çalıştırmak amacıyla zararlı bir JScript dosyası (Flash-2017.js) kullanıldığını anımsayacaklardır. O yazıda okunaklı olmayan (encoded) bu JScript dosyasının Zararlı JavaScript Analizi başlıklı yazımda olduğu gibi internet tarayıcısı ile basit bir şekilde analiz edilemediğine yer vermiştim. Bunun sebebi ise JScript dosyasının çalışma esnasında ActiveX ve WScript kullanımına ihtiyaç duymasıydı. (“WScript is not defined”, “ActiveXObject is not defined”) Internet tarayıcısı ile Jscript dosyasının analiz edilemediği kimi durumlarda hem Visual Studio‘dan hem de ücretsiz sürümü olan Visual Studio Express‘ten faydalanabilirsiniz.

Wikipedia‘ya göre Microsoft Windows Script Host (WSH) (eski adıyla Windows Scripting Host), Microsoft Windows işletim sistemine özellik açısından BATCH dosyalarına kıyasla çok daha fazlasını vadeden bir betik otomasyon teknolojisidir. Birden fazla betik (JScript, VBSscript) dosyasını desteklemesi en önemli artılarından birisidir. Not olarak VBS hata ayıklaması için ayrıca VbsEdit isimli araçtan da faydalanabileceğiniz yeri gelmişken söyleyeyim.

Bu gibi durumlarda JScript dosyasını hızlıca analiz edebilmek için ilk olarak Visual Studio’da, Tools -> External Tools menüsü altında Microsoft tarafından belirtilen hata ayıklama parametrelerini tanımlamalısınız. Ardından analiz etmek istediğiniz JScript dosyasını Visual Studio’da açtıktan sonra Tools menüsü altından daha önce tanımladığınız Wscript’i seçerek JScript dosyasını kolayca analiz etmeye başlayabilirsiniz.

Yazıma konu olan Flash-2017.js isimli JScript dosyasını adım adım hata ayıklama ile analiz etmeye başladığımızda, kodun yorum satırlarının (comment) başındaki /* ve */ karakterleri sildiğini görebiliyoruz.

Daha sonra script üzerinde yer alan gizlenmiş verileri sırasıyla çözen ddfddfdcccbcaf() ve acfabbfabdd() fonksiyonları hemen dikkatimizi çekecektir. Eğer amacımız hızlıca gizlenmiş olan verilerin çözülmüş haline ulaşmak ise bu durumda acfabbfabdd() fonksiyonunun sonunda yer alan return komutuna kesme işareti (breakpoint) koymamız durumunda gizlenmiş verilerin çözülmüş haline kolay ve hızlı bir şekilde ulaşabiliyoruz.

Analizin sonuna doğru yaklaşırken Jscript dosyası tarafından http://highetave.xyz/gete14.php?ff1 adresine bir istek gönderdildiğini ve her defasında web sunucusundan dönen yanıtın farklı (Server-side polymorphism) olduğunu görebiliyoruz. ||| değerinden önceki sayısal değeri gizlenmiş veriyi çözmede de kullandığını öğrendikten sonra yukarıda bahsettiğim fonksiyonlar tarafından çözülen verinin diske 0c03.exe (md5: dcfb9cab318417d3c71bc25e717221c2) adı altında kayıt edildiğini ve ardından çalıştırıldığını görebiliyoruz. Sonuç olarak, analiz adına internet tarayıcılarının yetersiz kaldığı kimi durumlarda zararlı JScript, VBScript kodlarını Visual Studio hata ayıklaması sayesinde hızlıca analiz ederek aklınızdaki sorulara yanıt bulabilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Not:

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

The post (W/C)script Hata Ayıklaması appeared first on Siber Güvenlik Günlüğü.

Yazıcı Deyip Geçmeyin!

By Mert SARICA on February 1st, 2018 - online version

Aylar önce eşimin ihtiyaç duyması üzerine satın almak için bir yazıcı (printer) arayışı içine girdim. En son 15 yıl önce evinde yazıcı bulunduran biri olarak, e-ticaret sitelerini gezerken yazıcı fiyatlarının fiyat ve performans açısından geçtiğimiz yıllara oranla çok daha makul seviyelere gelmiş olması beni sevindirdi. “İnsanoğlu doyumsuzdur.” sözünün hakkını vererek, ucuz olsun, tarayıcısı da olsun, fotokopi de çekebilsin, Wi-Fi desteği de olsun, mobil cihazdan çıktı da rahatlıkla alınabilsin derken karşıma HP firmasının DeskJet 3630 All-in-One yazıcısı çıktı ve 200 TL’ye satın aldım.

Eşimin, “kurcalama, bozacaksın!” haklı isyanlarına aldırış etmeden, evimin yerel ağına dahil edeceğim bu yeni cihaza hızlıca göz atmaya karar verdim. HP Easy Start uygulaması sayesinde 5 dakika gibi bir sürede mevcut Wi-Fi ağımın parolasını uygulamaya girerek yazıcıyı kablosuz ağıma kısa bir sürede dahil edip, kurulumu hızlıca tamamlayabildim. Kurulum adımlarında, güvenlik namına dikkat edilmesi gereken hususlara, güçlü yönetim arayüzü parolasının belirlenmesine dair herhangi bir yönlendirme göremedim. Halbuki bu yazıcı, Wi-Fi cihazların kendi aralarında veri alışverişi yapabilmesine de olanak sağlayan Wi-Fi Direct teknolojisine de sahipti. Yazıcının kurulum belgelerine baktığımda, yüksek güvenlik seviyesi için Wi-Fi ayarının otomatikten manuele değiştirilmesi gerektiği söylense de, nasıl yapılacağına dair kullanıcıya herhangi bir bilgi verilmiyordu.

Yazıcı üzerindeki Wireless ve Information tuşlarına bastığımda Wi-Fi Direct parolasının 12345678 olduğunu öğrendim. İşin üzücü yanı ise bu kadar basit bir parolanın kurulum esnasında kullanıcı tarafından değiştirtilmesi çok zor olmasa gerekirdi. Malumunuz aldığı bir cihazı efendi gibi kullanmak yerine kurcalamayı tercih eden biri olarak aklıma takılan “Peki Wi-Fi Direct için varsayılan olarak kullanılan bu parola nasıl kötüye kullanılabilirdi ?” sorusuna yanıt aramaya başladım.
Zaman zaman nüfus kağıtlarıyla işlem yapılan abone merkezlerinden, noterlere kadar iş merkezlerinin ve iş hanlarının yoğun olduğu bölgelerde bu yazıcının ve tarayıcısının aktif olarak kullanıldığını bir hayal edelim. Yetkilinin görevlerinden biri de, işlem esnasında müşteriden aldığı nüfus kağıtlarını taratmak olsun. Peki art niyetli bir kişi yazıcıya Wi-Fi Direct üzerinden 12345678 parolası ile bağlanıp, hali hazırda başarıyla tamamlanmış bir tarama işlemine ait görüntü dosyasını yazıcıdan indirebilir mi ? Bu sorunun yanıtı ne mutlu ki hayır çünkü yazıcı, indirilen görüntü dosyasının 2. defa indirilmesine izin vermiyor ve muhtemelen de belleğinden siliyor.
Peki bu art niyetli kişi, yazıcının durumunu web servis üzerinden takip etse ve bir tarama işlemi başladıktan, tamamlandıktan hemen sonra 1 tarama işlemi de kendi başlatsa ve görüntü dosyasını indirse kimin ruhu duyar ? Hele bir de bunu Python ile kodladığı bir araç ile Raspberry Pi üzerinde çalıştırırsa işin renginin ne denli değişeceğini az çok tahmin edebiliriz. Raspberry Pi tarafı ile ilgili bir çalışma yapmasam da Python ile HP Scanner Thief adında ufak bir araç geliştirip bunu kötüye kullanmanın pratikte ne kadar kolay olabileceğini gösterme ve farkındalık yaratma adına hızlıca bir çalışma yapmaya karar verdim.
HP Scanner Thief aracının temel olarak yaptığı, tarayıcının durumunu kontrol etmek için /eSCL/ScannerStatus sayfasına istekte bulunmak ve JobUuid değeri daha önceki değerden farklı ise /eSCL/ScanJobs sayfasına tarama işlemini başlatma isteği göndermek ve ardından oluşan dokümanı /eSCL/ScanJobs/[uuid]/NextDocument sayfasından indirmekti.

HP Scanner Thief aracı sayesinde eğer tarayıcı üzerinde bir işlem gerçekleştirildiyse ve 20 saniye içinde taranan belge yazıcıdan fiziksel olarak alınmadı ise dokümanın dijital olarak çalınması mümkün olabiliyor bu nedenle yönetim arayüzünden varsayılan Wi-Fi Direct parolasının güçlü bir parola ile değiştirilmesi büyük önem taşıyor!
Bu yazıdan ve çalışmadan çıkarmamız gereken ders, günümüzde alacağımız cihazları sadece fiyat ve performans açısından değil, güvenlik açısından da değerlendirip, satın aldıktan sonra üreticinin bize sunmuş olduğu kolay kurulum adımları, araçları ile yetinmeyip güvenliğini (güçlü parola, gereksiz servislerin kapatılması vs.) sağladıktan sonra cihazı ev veya iş ağımıza dahil etmek olacaktır.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Yazıcı Deyip Geçmeyin! appeared first on Siber Güvenlik Günlüğü.

Et tu, CPCR-505 ?

By Mert SARICA on March 1st, 2018 - online version

Yeni yeni sunum davetleri almaya başladığım 2012 yılının başında, ilk iş olarak kendime kablosuz bir sunum kumandası almaya karar vermiştim. Fiyat & performans açısından beni üzmeyecek bir tane ararken, Codegen CPCR-505 sunum kumandası ile karşılaşıp hemen satın almıştım. Emektar sunum kumandam ile geçmiş yıllarda çok sayıda keyifli sunumlara imza atmış olsam da, kendisinin Brütüs gibi beni arkadan hançerleyebileceğini öğrenmem meğer yıllar sonra ortaya çıkacak ve bu yazıya konu olacakmış!

Kablosuz sunum kumandası ile sunum yaparken veya sunum yapan birini izlerken aklımı zaman zaman şu soru kurcalardı; “Sunumu izleyenlerden birisi, sunum kumandasını uzaktan hackleyerek sunumu sabote edebilir mi ?” “Mert sen biraz fazla Mr Robot dizisi izlemişsin galiba” diyenleriniz olduğunu duyar gibi olsam da, geçtiğimiz günlerde bunu öğrenmek için emekter sunum kumandamı yakından incelemeye karar verdim.
Sunum kumandasının üreticisi olan Codegen firmasının web sitesini incelediğimde, bu kumandanın 2.4 GHz frekans bandında çalıştığı net olarak ifade edilmişti. Kablosuz klavye ve farelerin de bu frekansta çalıştığını Casus Fare başlıklı blog yazım için yapmış olduğum araştırmalardan az çok bildiğimden dolayı, detaylı bilgi toplama adına USB alıcının içini açmakla işe koyuldum.

Alıcının içini açtığımda karşıma nRF24LU1PA 2.4 GHz alıcı-verici çip çıktı. Çipin üreticisi olan Nordic Semiconductor’un web sitesinde bu çipe ait olan belgeye baktığımda, 125 RF kanal desteği, AES şifreleme desteği ve frekans atlamasına sahip olması ilk dikkatimi çeken noktalar oldu.

2015 yılında Black Hat Güvenlik Konferansı‘na gitmişken satın aldığım ve RF Dünyası ve Güvenlik Dünyası blog yazımda da kullanmış olduğum HackRF One cihazı sayesinde sunum kumandası ile bilgisayarıma taktığım USB alıcısının arasındaki haberleşmeyi HDSDR programı yardımı ile izlemeye başladım.

Sunum kumandası frekans atlalaması yaptığı için veri paketlerini nasıl yakalayıp, çözeceğim üzerine hindi gibi düşünürken Bitcraze’in Wiki sayfasında tam da aradığım konuyu işleyen bir yazı ile karşılaştım. Yazıda belirtilenleri harfi harfine uygulayarak sunum kumandası ile alıcı arasındaki fare hareketlerinden, sunum kumandasındaki çeşitli butonlara (ses yükseltme, azaltma vs.) basılınca oluşan çeşitli veri paketlerini (adres, boyut, veri) kolayca elde edebildim.

Sıra veri paketlerini sunum kumandasının alıcısına göndermek için hangi aygıtla, cihazla bu işi gerçekleştireceğime karar vermeye gelmişti. Hali hazırda elimde bulunan Arduino Uno R3 ve NRF24L01+ 2.4GHz alıcı verici modül ile bu işi gerçekleştirebilirdim. Bill Gates bir röportajında “Her zaman en tembel insanları işe alırım çünkü tembeller çok karışık işleri bile en kısa yoldan yaparlar.” derken beni kastetmiş olsa gerek ki Arduino, modül ve kablolarla şimdi kim uğraşacak diye hayıflanırken aklıma Casus Fare başlıklı blog yazımda kullandığım CrazyRadio PA USB aygıtı geldi. Python kütüphanesi sayesinde işletim sistemi farketmeksizin 5 satırlık bir kod ile istediğim alıcıya, dilediğim veri paketini göndermem oldukça kolay olacaktı. scan_channels() fonksiyonu sayesinde aşağıdaki kod ile 50-70 arasındaki kanallara (frekans atlama sebebiyle 50-70 arası kanallara göndererek veri paketinin alıcıya ulaşma şansını arttırdım.) ses yükseltme komutu içeren veri paketini gönderdim ve başarıya ulaştım. ;)

import crazyradio
r = crazyradio.Crazyradio()
r.set_data_rate(r.DR_2MPS)
# Alıcı/Verici adresi
r.set_address((0x27, 0x79, 0x70, 0x1D, 0x86))
# Ses yükseltme komutu
print r.scan_channels(50, 70, [0x02,0xE9,0x00,0x00,0x03])

Tabii ses arttırarak veya azaltarak bir sunumu sabote etmek pek de mümkün olamayacağı için sunum kumandasının normalde göndermediği ancak sunumun kumandasının alıcısının desteklediği gizli komutları, deneme yanılma (brute-force) yöntemi ile tespit etmeye karar verdim. Bunun için de aşağıdaki Python kodunu yazdım.

import crazyradio
import time

r = crazyradio.Crazyradio()
r.set_data_rate(r.DR_2MPS)
r.set_address((0x27, 0x79, 0x70, 0x1D, 0x86))

def bruteforce():
i = 0
while i

Çok geçmeden sunum kumandasında var olmayan ancak sunum kumandasının alıcısının desteklediği ve ekran parlaklığını azaltmaya yarayan aşağıdaki komutu keşfettim. Crazy Radio PA USB aygıtı ile bu komutu alıcıya birden fazla gönderdiğimde ekran parlaklığına okumayı oldukça zorlaştıracak seviyeye kadar indirebildim ki bu gerçekten bir sunumu sabote etmek için yeter ve artardı. :)
[2, 111, 0, 0, 3] # Ekran parlaklığını arttırıyor.
[2, 112, 0, 0, 3] # Ekran parlaklığını azaltıyor.

Sunum kumandasının alıcısına şayet Casus Fare blog yazısında olduğu gibi klavye tuş basma komutları da gönderebilinirse durumun gerçek anlamda sistem güvenliğine tehlikeye atacak bir boyuta gelebileceğini de göz önünde bulundurarak sunum kumandamı bu çalışma sonunda emekli ederek, şifreli haberleşen bir sunum kumandası aramaya koyuldum.
Bunun gibi 2.4 GHz (ISM bandı) frekans bandında, şifresiz gerçekleşen benzer tüm haberleşmelerde (misal dronelar olabilir) bu tür veya benzeri güvenlik zafiyetlerinin ortaya çıkabileceğini de göz önünde bulundurmanızı hatırlatarak bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Et tu, CPCR-505 ? appeared first on Siber Güvenlik Günlüğü.

Android Hata Ayıklaması

By Mert SARICA on March 31st, 2018 - online version

Yıllar içinde Android işletim sistemi yüklü mobil cihazların pazar payının bir hayli yükselmesi, teknoloji meraklıları kadar zararlı yazılım geliştiricilerinin de dikkatini çekmeyi başardı. Öyle ki günümüzde Windows işletim sistemi kullanıcıları nasıl zararlı yazılımlara karşı ilave güvenlik yazılımları kullanma zorunluluğu hissedip, günlük işleri arasında aldıkları sıradan bir e-postada yer alan bir bağlantı adresine (link) tıklamadan önce 40 kere düşünmek durumunda kalıyorlarsa, Android işletim sistemi kullanıcıları da benzer bir paranoya içinde günlerini geçirmeye başladılar. Nitekim haksız olduklarını söylemem oldukça güç özellikle bankacılık zararlı yazılımlarının gelişimini hem işi hem de özel ilgisi nedeniyle yakından takip eden bir güvenlik araştırmacısı olarak son aylarda karşılaştığım zararlı yazılımlar beni bir hayli şaşırtıyor.
Şöyle dönüp 2012 yılında yayımlamış olduğum Android Zararlı Yazılım Analizi başlıklı blog yazıma baktığımda, o zamanlar Android işletim sistemi için geliştirilmiş olan zararlı yazılımları analiz etmenin çok da zor olmadığını, günümüze kıyasla statik analizin zararlı yazılımları analiz etmede tek başına yeterli olabildiğini görüyorum. Günümüzde ise işin rengi git gide değişip işler, zararlı yazılım analistleri için her geçen gün daha da karmaşık bir hal alıyor.
İlk olarak ~2 yıl önce görülen ve hem Bakır EMRE‘nin yazısına hem de benim Android Anti Anti-Emulator başlıklı blog yazıma konu olmuş olan, çağrı dinleme ve SMS mesajlarını okuma özelliklerine de sahip zararlı yazılımın güncel sürümü ile geçtiğimiz aylarda karşılaştığımda, kullanıcı arabiriminin (UI) yıllar içinde geldiği nokta beni fazlasıyla şaşırttı.

Kullanıcı arabirimi bir kenara, uygulamanın kaynak kodunda okunaklı olmayan karakter dizilerinin (strings) çalışma esnasında özel bir fonksiyon ile XOR işleminden geçirilerek çözülüyor olması ve ayrıca bazı önemli değerlerin (ip adresi, tor adresi vs.) AES şifreleme algoritması ile şifreli bir şekilde saklanıp yine benzer yöntemde farklı bir fonksiyon ile çalışma esnasında (run-time) çözülüyor olması, fonksiyon isimlerinin IıIIIııII gibi isimlerle adlandırılmış olması, statik analize karşı zararlı yazılım geliştiricisinin azmini ortaya koyuyordu. “Azmi görüyorum ve arttırıyorum!” dedikten sonra her ne kadar karakter dizilerini ve şifrelenmiş değerleri statik analiz ile çözmek, zor da olsa pratikte mümkün olsa da çok daha zor durumlarla karşı karşıya kalındığında hangi yöntemlerden, araçlardan faydalanılabileceğine bu yazıda yer vermek istedim.
Windows zararlı yazılımlarını analiz ederken statik analizin yetersiz olduğu noktalarda dinamik kod analizi ve x64dbg, IDA Pro gibi araçlar her daim kurtarcımız olsa da mevzu bahis Android işletim sistemi olduğunda araçlar ve yetenekleri sınırlı olabiliyor. Her ne kadar Casus Telefon başlıklı blog yazımda IDA Pro ile dinamik kod analizi yaptığıma yer vermiş olsam da perde arkasında IDA Pro’nun Android hata ayıklaması (debugging) konusunda stabil olmaması, yer yer göçmesi beni analiz esnasında oldukça zorlamıştı.

Geçtiğimiz aylarda Fortinet‘in güvenlik araştırmacılarından biri olan Axelle APVRILLE’nin Android zararlı yazılım analizini konu alan bir sunumuna bakarken Code Inspect adındaki bir araç dikkatimi çekti. Daha önce böyle bir ticari aracın varlığından haberdar olmamış biri olarak elimin altındaki bu zararlı yazılım üzerinde denemeye karar verdim. Jadx aracı ile gerçekleştirdiğim statik analizde, şifreli değerlerin Resources dosyasında yer aldığını ve şifre çözme işleminin ise com.android.mobile.Yardimcilar.i sınıfında yer alan iIIiiIIiiI fonksiyonunda gerçekleştiğini tespit ettim.

CodeInspect aracı ile mobilsube.apk dosyasını açıp, com.android.mobile.Yardimcilar.i sınıfında yer alan iIIiiIIiiI fonksiyonu kesme noktası koyup, GenyMotion öykünücüsü (emulator) üzerinde hata ayıklama (debugging) yapmaya başladıktan kısa bir süre sonra bu fonksiyon ile gerçekleştirilen AES şifrelemesinin anahtarını, IV (initialization vector)’yi, şifreli verileri ve çözülen verileri (tor adresi gibi) kolaylıkla elde edebildim.

Kıssadan hisse, günümüz Android zararlı yazılımlarını açık kaynak kodlu, ücretsiz araçlarla analiz etmek her geçen gün daha da zorlaşırken, kullanımı IDA Pro’dan çok daha kolay ve oldukça stabil çalışan CodeInspect gibi ticari araçlar sayesinde parayı veren düdüğü kolaylıkla çalabiliyor ve hayattaki, analizdeki en değerli şey olan zaman, yanınıza kar kalıyor. Ticari hata ayıklama aracı satın alma konusunda benim gibi gözünü karartmış olanlara CodeInspect’in muadili, betik desteği de olan JEB aracına da bir göz atmalarını da tavsiye ederim.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Android Hata Ayıklaması appeared first on Siber Güvenlik Günlüğü.

MetaStrike Operasyonu

By Mert SARICA on May 1st, 2018 - online version

21.11.2017 tarihinde saat 16:16’da, Türkiye’de bulunan 19 bankanın toplam 535 çalışanına Anna.Yasko@profix.kiev.ua e-posta adresinden Changes to the terms başlığına sahip, ekinde Swift Changes.rtf dosyası bulunan bir e-posta gönderildi ve çoğu bankanın kullanmış olduğu güvenlik sistemleri tarafından ya silindi ya da karantinaya alındı.

Güvenlik sistemlerinde çok sayıda alarma yol açan bu şüpheli e-posta incelendiğinde, başlıkta ve ekindeki dosyada Swift kelimesinin geçmesinin yanısıra, alıcı listesinde (To:) yabancı banka çalışanlarının da dahil olduğu tam 952 kişinin yer alıyor olması ve e-postanın ileti gövdesinde (body) herhangi bir metnin yer almaması şüpheleri fazlasıyla arttırıyordu. E-postanın başlık bilgileri incelendiğinde, gönderen SMTP sunucusunun gerçekten de ProFIX firmasına ait olması ilk olarak bu kurumun hacklenmiş olabileceğine işaret ediyordu. Kim bu ProFIX diye ufak bir araştırma yapıldığında, 29 ülkede 250‘den fazla banka ile çalışan, 2013 yılından bu yana ise Belarus, Ermenistan, Gürcistan, Ukrayna ve Moldovya‘da hizmet veren bir SWIFT iş ortağı olduğu anlaşılıyordu.
Swift Changes.rtf dosyası incelendiğinde ise bu dosyanın içinde Microsoft Office 2007’den 2016’ya kadar tüm sürümlerini etkileyen bir zafiyeti (CVE-2017-11882) istismar eden bir istismar kodu olduğu ortaya çıktı. 14 Kasım‘da Microsoft tarafından yaması yayınlanan, GitHub üzerinde ise 20 Kasım‘da istismar kodu yayınlanan bir zafiyet, 21 Kasım‘da Türkiye’deki 19 bankaya siber saldırı gerçekleştirmek amacıyla, hacklendiği düşünülen ProFIX isimli bir SWIFT iş ortağı üzerinden gerçekleştiriliyordu!

Bulmacının kayıp parçalarını birleştirdikçe ortaya zamanlaması muazzam, senaryosu amatörce ((To: kısmında 952 kişinin olması, ileti gövdesinde metin olmaması vs.) kurgulanmış bir siber saldırı girişimi çıktı. 952 e-posta adresinin nereden ve nasıl temin edildiği sorusuna tam olarak yanıt bulunamasa da, sosyal medya üzerinde siber güvenlik uzmanlarından Huzeyfe ÖNAL ve Furkan ÇALIŞKAN‘ın tespitlerine göre 25 Eylül tarihinde Pastebin sitesinde yer alan bir liste baz alınmıştı. 952 e-posta adresi ile Pastebin’de yer alan bu liste karşılaştırıldığında e-posta adreslerinin çok büyük bir oranının bu liste ile örtüşüyor olması, güvenlik uzmanlarını doğrular nitelikteydi.

22 Kasım tarihinde Carbon Black firmasının blog sayfasında bu siber saldırının özet teknik detaylarına IOCleri ile birlikte yer verildi. 30 Kasım tarihli FireEye iSight istihbarat raporuna bakıldığında bu grubun 2016 yılından bu yana 19 ülkedeki finansal kurumları Cobalt Strike sızma testi yazılımı ile hedef alan Cobalt grubu (diğer bir adıyla MetaStrike) olduğu anlaşılıyordu. 8 Aralık tarihinde ise Palo Alto Networks firmasının blog sayfasında bu defa istismar kodunun teknik detaylarına yer verildi.
Swift Changes.rtf dosyası çalıştırılır çalıştırılmaz Microsoft Office’in Microsoft Equation Editor bileşenindeki yığın tabanlı bellek taşması (stack buffer overflow) zafiyetini istismar ederek \\138.68.234.12\w\w.exe paylaşım adresi üzerinden w.exe dosyasını çalıştırıyordu. Şayet Windows, SMB protokolü üzerinden ilgili adrese bağlanamıyor ise ve işletim sistemi üzerinde WebClient servisi çalışır durumda ise bu durumda WebDAV protokolü üzerinden tanımlı vekil sunucu (proxy) ayarlarını da dikkate alarak bağlanmaya çalışmaktaydı. Bu durum da istismar edilen hedef sistemin ilgili adrese erişip zararlı kodu çalıştırma ihtimalini fazlasıyla arttırıyordu!

Son zamanlarda gerçekleştirilen siber saldırılarda zararlı RTF dosyalarının sıklıkla kullanılıyor olması sebebiyle bu yazı ile şüphe duyulan bir RTF dosyasının hızlı bir şekilde nasıl analiz edilebileceğine, Swift Changes.rtf dosyası özelinde yer vermek istedim. Zararlı RTF dosyalarının kötü emellerini gerçekleştirebilmeleri için OLE nesnelerinden faydalandıklarını bildiğimiz için Didier Stevens tarafından geliştirilen RTFDump aracı ile kısa bir sürede zararlı koda ulaşmak mümkün olabiliyor.
rtfdump aracına -aE parametresi vererek RTF içeriğini ASCII olarak görüntülediğimde ilgili OLE nesnelerini bulmak samanlıkla iğne aramaktan farksız olduğu için -f O parametresi ile sadece OLE nesnelerini listeledim. Ardından 7, 13, 19 ve 25 dizilerine tek tek -s ve -H (hex çıktısı) parametreleri ile baktığımda 7. dizide istismar kodu içine gömülü olan ip adresine ve Palo Alto Networks’un yazısına da konu olan WinExec fonksiyonunun adresine (0x430c12) statik olarak ulaştım.

Dinamik kod analizi ile de doğrulamak için ise öncelikle Windows Debugging Tools ile gelen Global Flags Editor üzerinde bir ayarlama yapmam gerekti. Swift Changes.rtf dosyası Microsoft Office Word ile açıldıktan sonra Microsoft Equation Editor bileşenine ait eqnedt32.exe programını istismar ettiği için eqnedt32.exe programı açılır açılmaz x64dbg hata ayıklayıcının devreye gireceği şekilde ayarladım. Winexec fonksiyonun adresine kesme noktası koyup adım adım geriye gidip fonksiyon çıkışlarına da kesme noktası koyarak kısa sürede ret2libc yönteminden faydalanan istismar koduna ulaşmış oldum.

Sonuç olarak siber saldırı girişimi, hazırlanan e-postanın tahminimce aceleye gelmesi (To: kısmında 952 kişinin olması, ileti gövdesinde metin olmaması vs.) ve sıfırıncı gün zafiyeti yerine genele duyurulan bir istismar kodunun (bu sayede güvenlik üreticileri imzalarını hızlıca güncelleyebildiler.) kullanılması sayesinde bildiğim kadarıyla Türkiye’deki herhangi bir bankada başarıya ulaşamadı. İstismar kodunun genele açık olarak yayınlanmasından 1 gün sonra bankalarımıza gerçekleştirilen bu siber saldırı bankalarımızı, finans kurumlarımızı hedef alan grupların ne kadar hızlı bir şekilde organize olup, hareket etmesi gelecekte benzer girişimlere, dikkat edilmesi gereken hususlara dair önemli ipuçları veriyor. Yazıma son noktayı koymadan önce bu ve benzeri siber saldırı girişimlerinin başarıya ulaşmasını zorlaştırma adına finans kurumlarının, iç ağdan internete doğru WebDAV kullanımını engellemelerinde fayda olacağına inanıyorum.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Not: Kurum içinden internete doğru WebDAV bağlantısını kontrol etmek için Explorer üzerinden \\live.sysinternals.com adresine gitmeyi deneyebilirsiniz.
The post MetaStrike Operasyonu appeared first on Siber Güvenlik Günlüğü.

Hırsız Dostu Alarm

By Mert SARICA on June 1st, 2018 - online version

Kimi zaman caydırıcı olmalarıyla kimi zaman da hayat kurtarmalarıyla hırsızların baş düşmanı olan alarmlar nasıl olur da hırsız dostu olabilirler ? Yine kendime yeni bir yazı konusu çıkarmak amacıyla meraklı gözlerle mağazaların reyonlarına baktığım bir günde, iki farklı mağazadaki benzer bir hırsız alarmı dikkatimi çekti. Alarmların kutularına baktığımda her ikisinin de kızılötesi (IR) kablosuz bağlantı teknolojisinden faydalandığı anlaşılıyordu.

Çoğunlukla TV, klima vb. kumandaları ile hayatımızda yer alan, benim gibi lise yıllarında arkadaşları ile tenefüslerde Snake oyununu oynayanlar için ise farklı bir yeri olan bu teknolojinin alarmlarda kullanılması beni oldukça şaşırttı. Şaşırtmasının sebebi ise Arduinooo başlıklı yazımda olduğu gibi IR’de kullanılan sinyallerin/kodların kolay bir şekilde kopyalanabilmesiydi.

Bildiğiniz üzere evdeki uydu alıcınızın (misal Digitürk) kumandası birgün bozulur ise aynı işleve, dış görünüşe sahip bir benzerini (universal kumanda) Kadıköy’den 10-20 TL karşılığında kolay bir şekilde temin edebiliyorsunuz. Bunun kolay olmasının sebebi ise pek tabii yukarda bahsettiğim üzere IR sinyallerini/kodlarının kolay bir şekilde kopyalanabilir olmasıdır.

Normal şartlarda RF dünyasında, güvenli bir şekilde haberleşen alarm, kilit sistemlerinde (misal araba kilitleri) değişken (rolling) kod kullanıldığı için bir sinyali kopyaladıktan sonra sonsuz defa o kilidi, alarmı açmak için kullanamaz (replay), satın aldığınız bir kumanda ile diğer kilitleri olduğu gibi açamaz, alarmları devre dışı bırakamazsınız. Güvenli bir şekilde haberleşmeyenlerde ise RF Dünyası ve Güvenlik başlıklı blog yazımda olduğu gibi biraz uğraşmanız gerekebilir.
IR dünyasında ise değişken kodlar kullanılmadığı için akla ilk gelen soru “bir alarm ne kadar güvenli olabilir?” oluyor. IR teknolojisinden yola çıkarak bu soruya yanıt bulmak için ilk olarak aynı alarmdan iki tane alırsam birinin kumandası ile diğerinin alarmını devre dışı bırakmak mümkün olabilir mi sorusuna yanıt aramaya başladım. Kutusundan çıkardığım ikinci alarmın kumandası ile birinci alarmı devre dışı bırakmam, kutusunu zor açmam sebebiyle en fazla 2 dakika sürdü. :)

Hırsızımız high-tech bir hırsız olsaydı, Arduino ile bunu gerçekleştirmesi pratikte ne kadar zor olurdu sorusuna yanıt aradığımda ise, IR alıcı ve verici ile IR kodlarını kopyalamak ve daha sonra hedef alıcıya göndermek için IRLib2 isimli Arduino kütüphanesinden faydalanarak kısa bir sürede bu alarmı devre dışı bırakabileceğini de öğrenmiş oldum.

Sonuç olarak piyasada bulduğunuz her alarmın güvenliğinizi sağlayacağına körü körüne inanıp satın almadan önce muhakkak arka planda kullandığı teknoloji ile ilgili bilgi edinmeye bakın. Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Hırsız Dostu Alarm appeared first on Siber Güvenlik Günlüğü.

Hayaller Pineapple Hayatlar GL-AR150

By Mert SARICA on July 2nd, 2018 - online version

Evlerimiz başta olmak üzere hemen hemen artık hayatın her alanında kullandığımız, karşılaştığımız kablosuz internet (wifi) hizmetleri bir o kadar da art niyetli kişilerin ilgisini çekmektedir. Kahvenizi yudumlayıp haber okumak için sıklıkla uğradığınız kafelerden birinin ücretsiz kablosuz internet hizmetine bağlanmaya çalıştığınızda, bu defa art niyetli kişinin cihazına (Evil Pi yazısı ilginizi çekebilir) bağlanıyor olabilirsiniz. Her sene katılmaktan, izlemekten büyük bir keyif aldığınız IstSec Siber Güvenlik Konferansı‘nda izleyicilerden birinin amacı aşağıda olduğu gibi (2017 yılındaki konferansta çekilmiştir) sizinkinden farklı olabilir. :) Ağına düşürdüğü kablosuz internet kullanıcılar üzerinden iç ağa sızmak için bilgi toplamaya çalışan sızma testi uzmanının amacı ise çok çok daha farklı olabilir.

Mevzu bahis sızma testi olduğunda eminim bir çoğumuzun aklına gelecek ilk ürün Wifi Pineapple olacaktır. Tabii aklımıza geldiği gibi elimize gelse dediğimizde de, yüksek fiyatı sebebiyle uzun yıllardır siber güvenlik araştırmacıları, meraklıları olarak hayallerimizi süslemekten öteye gidemiyordu. Günlerden bir gün Twitter takipçilerim arasında yer alan Doğukan UÇAK, Twitter üzerinden aşağıdaki mesajı gönderdikten sonra Wifi Pineapple alamayanlar için hayalleri gerçekleştirmek için işe koyulmaya karar verdim.

Mesaja konu olan web sayfasını ziyaret ettikten sonra ilk iş olarak DealeXtreme sitesinden yaklaşık 75 TL’ye GL-AR150 model mini router satın almaya karar verdim.

GL-AR150 elime ulaştıktan sonra ilgili GitHub adresinden GL-AR150 için özel olarak oluşturulmuş WiFi Pineapple Nanodonanım yazılımını (firmware) indirip kurduktan ve usb bağlantı noktasına WiFi sızma testlerinin vazgeçilmezi olan TL-WN722N adaptörünü bağladıktan sonra WiFi ağlarını denetlemek için önümde bir engel kalmamış oldu.

WiFi Pineapple Nano yüklü GL-AR150’nin doğru bir şekilde çalışıp çalışmadığını kontrol etmek için ise bu blog yazısını yazarken konuşlandığım Starbucks’ta, basit bir test yapmaya karar verdim. 38 dakikalık bir testin sonucunda, GL-AR150’nin etrafta tespit ettiği tüm WiFi erişim noktalarını (access point, SSID) başarıyla çoklayabildiğini teyit edebildim.

Testler esnasında “ucuz etin yahnisi yavan olur” sözünü hatırlatacak bir tecrübem olmamış olsa da, zaman içinde güvenlik araştırmalarında kullandıkça bunu çok daha net göreceğim. Bu yazının Wifi Pineapple Nano alacak bütçesi olmayan siber güvenlik araştırmacıları, meraklıları için faydalı olacağını inanarak, bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Hayaller Pineapple Hayatlar GL-AR150 appeared first on Siber Güvenlik Günlüğü.

Biletix Vakası

By Mert SARICA on August 1st, 2018 - online version

27 Haziran 2018 tarihinde Biletix firması, sosyal medya hesapları ve web sitesi üzerinden bir güvenlik duyurusu yaptı. Bu duyuruda, 23 Haziran 2018 Cumartesi günü Ticketmaster İngiltere firmasına dış kaynaklı hizmet sunan Inbenta Technologies tarafından sağlanan ve müşteri destek hizmetleri için kullanılan ürün üzerinde kötü amaçlı bir yazılımı tespit edildiği yer alıyordu. Inbenta’nın bu ürününün tüm Ticketmaster International web sitelerinde (Türkiye de dahil) kullanılmış olması sebebiyle de bazı müşterilerinin kişisel verilerine ve ödeme bilgilerine, tanımlanamamış üçüncü kişiler tarafından izinsiz olarak erişilmiş olabileceği belirtilmiş ve ayrıca yaptıkları incelemelere göre, olaydan sadece bilet alma girişiminde bulunan veya bilet satın almış olan İngiltere tüketicilerinin bir kısmının etkilenmiş olabileceğini tespit ettikleri belirtilmişti. Son olarak da İngiltere’deki müşterilerinden Şubat 2018 ve 23 Haziran 2018 tarihleri arasında ve diğer uluslararası müşterilerinden Eylül 2017 ila 23 Haziran 2018 tarihleri arasında bilet almış veya almayı denemiş olanların bu durumdan etkilenmiş olabilecekleri söyleniyordu.

Aktif olarak bünyelerinde izleme ve müdahale yapan analistlerden oluşan bir Siber Güvenlik Merkezi’ne sahip olan kurumlar, Biletix’te doğru gitmeyen birşeyler olduğunu Nisan ayı gibi kullandıkları güvenlik teknolojilerinin ürettiği alarmları sayesinde öğrendiler. ;) Mayıs ayı itibariyle antivirüs yazılımlarına gelen güncelleme ile Biletix üzerinden bilet almaya çalışan son kullanıcılar ise web sitesine gömülü olan http://ticketmastertr.inbenta.com/chat/assets/js/inbenta.js?1503669126 dosyası için zararlı yazılım uyarısı ile karşılaşmaya başladılar.

Merak kediyi öldürmeden olayın perde arkasını öğrenmek için zararlı kod içeren javascript dosyasına ulaşıp analiz etmek için işe koyulmaya karar verdim. inbenta.js dosyasının zararsız sürümünü http://ticketmastertr.inbenta.com/chat/assets/js/inbenta.js adresinden indirip, okunaklı (beautified) hale getirdikten sonra VirusTotal’dan indirdiğim zararlı kod içeren inbenta.js dosyası ile kıyasladığımda, 18927. satır itibariyle zararlı kod ortaya çıkıverdi. Zararlı JavaScript Analizi başlıklı yazımda olduğunun aksine bu defa gizlenmiş javascript kodunu sanal sistemimdeki internet tarayıcısı ile çözmek (deobfuscate) yerine daha hızlı ilerleyebilme adına IlluminateJs web uygulaması ile çözmeye karar verdim.

Javascript kodunu okunaklı, anlaşılır hale getirdikten sonra 2. satırda yer alan hxxps://webfotce.me/js/form.js web adresi hemen dikkatimi çekti. Bu adresi Google arama motorunda arattığımda ise ilk olarak 19 Kasım 2017 tarihinde VirusTotal’a akismet.js adı altında yüklenip 16 antivirüs yazılımı tarafından tespit edilen, okunaklı olmayan inbenta.js dosyasının okunaklı bir sürümü gibi görünüyordu.

inbenta.js dosyasında yer alan zararlı javascript kodunun nasıl çalıştığını dinamik olarak analiz edebilmek için Biletix’in web sitesine girip sanal sistemimdeki internet tarayıcısı üzerinde simülasyonunu yapmaya karar verdim. Zararlı kodun son satırını incelediğimde, bu kodun payment kelimesini içeren herhangi bir sayfada devreye girdiğini öğrendiğim için ödeme sayfasına ilerlemek ve simülasyonumu gerçekleştirmek için gözüme Shakira’nın konserini kestirdim. Konser bileti alma işleminin son sayfasına (payment) geldiğimde ise zararlı javascript kodunu, Chrome internet tarayıcısının DevTools aracı ile internet tarayıcım üzerinde çalıştırıp, sanal sistemim üzerinde dinamik olarak analiz etmeye başladım.

Zararlı javascript kodunu peyderpey analiz ettikçe, zararlı kodun ödeme sayfasındaki forma girilen tüm kredi kartı bilgilerini, sayfada yer alan diğer bilgilerle birlikte Satın Al butonuna bastıktan sonra hxxps://webfotce.me/js/form.js adresine gönderecek şekilde tasarlandığını gördüm. Bunun üzerine Fiddler aracını çalıştırıp, ödeme sayfasına geçersiz kart bilgilerimi girip Satın Al butonuna bastığımda, hxxps://webfotce.me/js/form.js adresine herhangi bir verinin gönderilmediğini farkettim! Bunun sebebini öğrenebilmek için Javascript kodunda yer alan try & catch kod bloğundaki catch kısmına, hata ayıklama amacıyla hatayı ekrana yazdıran ufak bir kod yazdığımda, btoa() fonksiyonu kullanılarak Base64 kodlama şeması ile gizlenmeye çalışan çalıntı verideki Türkçe karakterlerin hataya yol açmasına ve hxxps://webfotce.me/js/form.js adresine gönderilememesine kısaca yüzlerce belki de binlerce Biletix Türkiye müşterisinin kredi kartı bilgilerinin duyuruda belirtilen süre boyunca çalınamamasına yol açan faydalı bir hata olduğunu öğrenmiş oldum. :)

Sonuç itibariyle, Inbenta firmasını hackleyenlerin bu zararlı kodu 2017 yılından beri akismet.js gibi farklı isimler altında da kullandığını görüyoruz. Biletix vakasına baktığımızda ise şayet zararlı kod tespit edildikten sonra Biletix Türkiye tarafından zararlı adresin sayfalardan kaldırılması dışında ödeme sayfasında bu kodun çalışmamasına yönelik özel bir çalışma, yazılım değişikliği yapılmadıysa, yazıya konu olan donelerden ve simülasyondan yola çıkarak Biletix Türkiye müşterilerinin kredi kartı bilgilerinin zararlı javascript kodu tarafından bu hata sebebiyle, belirtilen tarih aralığında çalınamamış olduğunu büyük bir mutlulukla varsayabiliriz. :)
Inbenta örneğinde olduğu gibi, 3. parti firmalar üzerinden gelebilecek siber saldırılardan korunmanın kesin bir yöntemi olamasa da, web sitenize 3. parti siteler üzerinden eklediğiniz javascript dosyalarının içeriğinin değişip değişmediğini kontrol eden ve şüpheli değişikliklerde sizi anında haberdar eden NormShield, Sucuri gibi güvenlik çözümlerinden de faydalanabilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Biletix Vakası appeared first on Siber Güvenlik Günlüğü.

Black Hat USA 2018

By Mert SARICA on August 26th, 2018 - online version

Sevgili işverenim Akbank‘ın ve yöneticilerimin destekleri ile 2 yıl aradan sonra yeni bir Black Hat USA serüveni için 3 Ağustos, sabah saat 05:00’da yolculuk için hazırlanmaya başladım. Akbank sponsorluğunda (ilk fotoğrafa dikkat :)) başlayan ilk uçak yolculuğunun ardından San Francisco aktarmalı olarak Las Vegas’ta, konferansın gerçekleşeceği Mandalay Bay oteline vardığımda, Türkiye saati ile saat 23:00 olmuş ve jet lag olmamak için tam 17+ saat uyumamış olmanın verdiği yorgunlukla tam anlamıyla pestilim çıkmıştı. Seyahat öncesinde Türk Lirası’nın aşırı değer kaybetmesi ile Amerikan Doları’nın 5.11 TL’ye kadar yükselmesi nedeniyle hayatımın en pahalı soğuk suyunu (5$ / 25 TL) otele vardığımda içerek hızlıca ayıldım. :)

4 Ağustos sabahı, saat 10:00’da başlayacak olan 2 günlük The Security Automation Lab eğitiminin heyecanı ile güne erken başladım. İlk iş olarak Black Hat kayıt alanına gidip yaka kartımı ve kayıt esnasında verilen Black Hat çantasını aldıktan sonra hızlıca eğitim alacağım sınıfın yolunu tuttum. Yolda giderken de her zaman olduğu gibi sizler için bol bol fotoğraf çekmeyi ihmal etmedim. :)

Daha önce almış olduğum tekik eğitimlere göre oldukça hafif olan 2 günlük bu eğitim boyunca güvenlik otomasyon platformu olarak kullanılan Evolve platformu üzerinde, tehdit istihbaratı toplamaktan sistem üzerinde tespit edilen bir zararlı yazılıma müdahaleye kadar bir çok senaryonun uygulamasını gerçekleştirdik. Entegrasyon adına manuel gereksinimi çok olsa da özellikle IBM’in Resilient gibi bir güvenlik otomasyon platformu satın alacak bütçesi olmayan kurumların Evolve platformuna göz atmalarını, eğitimden edindiğim tecrübeye istinaden söyleyebilirim.

Önceki yıllarda olduğu gibi Black Hat USA ile ilgili olarak orada bulunduğum süre boyunca Twitter ve LinkedIn sosyal medya hesaplarımdan merak edenler için bol bol paylaşımda bulunmaya gayret ettim. Tabii bu paylaşımlara istinaden biri veya birileri de “bizi_black_hat_e_gotur” mesajı ile bloguma DoS saldırısı yaptığı da gözümden kaçmadı. Her daim okurları ve takipçileri için imkanları dahilinde hediye çekilişleri yapan birinin imkanı olsa emin olun Black Hat’e uçak kaldırırdı ama maalesef imkansızlıklar. :)

Konferans günü gelip çattığında, açılış konuşması için 2016 yılındaki ana balo salonu yerine bu defa kendimi Mandalay Bay’in 12.000 kişilik etkinlik merkezinde buldum. 12.000 kişilik etkinlik merkezi dolar mı diye biran olsun kendi kendime yanılgıya düşsem de açılış konuşmasına dakikalar kala boş koltuk sayılarını seçmekte oldukça zorlandım. Açılış konuşmasını yapmak için her zaman olduğu gibi ilk olarak sahneye Jeff Moss ardından da Google’ın Project Zero müdürü Parisa Tabriz çıktı. Parisa Tabriz konuşması esnasında geçtiğimiz ay hayata geçen ve HTTPS olmayan sitelerin Chrome internet tarayıcısı tarafından güvensiz olarak etiketlenmesinin internet güvenliği adına başarıya ulaştığından bahsetti. Benzer şekilde Project Zero’nun 90 günlük zafiyet yayınlama politikasının (90 day disclosure policy) da başta üreticiler tarafından memnuniyetsizlikle karşılandığını ancak Google’ın bu konuda geri adım atmaması sayesinde tespit ettikleri zafiyetlerin %98’inin 90 gün içinde üreticiler tarafından giderildiğini belirtti. Dileyenler muazzam açılış videosunu aşağıdan, açılış konuşmasının tamamını ise buradan izleyebilirler.

Geçtiğimiz yıllarda olduğu gibi yine paralelde ilgimi çeken çok sayıda sunum olması sebebiyle Black Hat USA‘in mobil uygulaması üzerinden hangi sunumlara katılacağıma karar vermekte güçlük çektim.

Çoğu sunumun, sunum dosyası yayınlandığı için her bir sunuma ayrı ayrı değinmeden her birinini ayrı ayrı incelemenizi tavsiye edebilirim. İlk günün en çok beğendiğim sunumlarını sıralayacak olursam;

- Zararlı yazılım analizi alanında da çalışmaları ile tanınan Amanda Rousseau‘nun geliştirip tanıttığı disassembler aracını içeren Finding Xori: Malware Analysis Triage with Automated Disassembly sunumu,

- Güvenlik Enstrümanlı Sistemi (safety instrumented system) hedef alan ilk zararlı yazılım olarak tarihe geçen Triton hakkında detaylı bilgilerin yer aldığı TRITON: How it Disrupted Safety Systems and Changed the Threat Landscape of Industrial Control Systems, Forever sunumu,

- Donanım yazılımlarına (firmware) gerçekleştirilen çeşitli saldırı yöntemlerini ve tekniklerini konu alan Remotely Attacking System Firmware sunumu,

- Microfost’un sesli asistan uygulamasının kötüye kullanımını gözler önüne seren Open Sesame: Picking Locks with Cortana sunumu,

- İsrailli güvenlik araştırmacısının air gap denilen, yerel ağlara ve internete bağlı olmayan sistemlerden (faraday kafesindeki de dahil) nasıl veri sızdırılabildiğini çok sayıda yöntemle gösterdiği The Air-Gap Jumpers sunumu

Sunumlar arası yine her Black Hat’te olduğu gibi hıncahınç kalabalığın arasında 3 farklı katta gerçekleştirilen sunumlara ulaşabilmek için epey çaba sarfettim. Sunumlardan arda kalan zamanlarda da yine güvenlik dünyasının büyük üreticilerinin yer aldığı Business Hall‘a, güvenlik araçlarının tanıtıldığı meşhur Black Hat Arsenal‘e, Black Hat ağına gerçekleştirilen siber saldırıları izleyen Black Hat NOC odasına, kitapçısına ve pek tabii ki okurlarım, takipçilerim için düzenleyeceğim hediye çekilişi için Black Hat mağazasına çam sakızı çoban armağanı hediyeler almak için uğradım. :)

İkinci gün ise yine aynı yoğunlukta ve tempoda kaldığı yerden devam etti. İkinci günün en çok beğendiğim sunumları ise;

- Son yıllarda oldukça popüler olan yanıltma (deception) teknolojilerinin nasıl tespit edilip atlatılabileceğini konu alan Real Eyes, Realize, Real Lies: Beating Deception Technologies sunumu,

- Sesli doğrulama/tanıma sistemlerinin makine öğrenmesi (machine learning) ile nasıl atlatılabildiğini gösteren Your Voice is My Passport sunumu,

- Devlet destekli siber saldırılarda kullanılan Stealth Mango ve Tangelo isimli mobil casus yazılımların analizini konu alan Stealth Mango and the Prevalence of Mobile Surveillanceware sunumu,

- Sızma testlerinde sıklıkla kullanılan meşhur mimikatz aracının geliştiricisi Benjamin Delpy‘in gerçekleştirdiği, DCShadow saldırısı ile Active Directory’i ele geçirmeye imkan tanıyan So I became a Domain Controller sunumu,

- Windows Defender’ın antivirüs öykünücüsünün (emulator) derinlemesine analinizin yer aldığı Windows Offender: Reverse Engineering Windows Defender’s Antivirus Emulator sunumu,

Emek ve zaman harcanarak gerçekleştirilen güvenlik araştırmalarını konu alan birbirinden faydalı, değerli sunumları, atmosferi ve anıları ile beni oldukça tatmin ve memnun eden bir Black Hat USA konferası daha geride kaldı. 2016 yılındaki blog yazımın sonunda, Cherokee Jeep’i hackleyerek ünlerine ün katan Charlie Miller ve Chris Valasek ile olan fotoğrafıma yer vermiştim. Bu yazının kapanışını da siber güvenlik camiasının yakından tanıdığı, F-Secure firmasının CRO’su Mikko Hyppönen ile olan fotoğrafım ile son vermek istedim.
3-8 Ağustos 2019’da Black Hat USA’de görüşmek hayaliyle (totem) herkese güvenli günler dilerim.

The post Black Hat USA 2018 appeared first on Siber Güvenlik Günlüğü.

Balküpü Tespiti

By Mert SARICA on September 3rd, 2018 - online version

Yaklaşık bir yıl önce, Tuzak Sistem ile Hacker Avı çalışmamın planlarını yaparken, düşük etkileşimli mi yoksa yüksek etkileşimli mi (high interaction) bir balküpü sistemi kullanmalıyım ikileminde kalmıştım. Aralarındaki temel farka bakıldığında, düşük etkileşimli olan gerçek bir sistemi, servisi simüle ettiği için kurulumu, yönetimi ve güvenliğini sağlamak görece daha kolay diyebiliriz. Yüksek etkileşimli olana bakıldığında ise işin içinde gerçek, canlı bir sistem olduğu için kurulumu ve yönetimi zahmetliyken, güvenliğini sağlamak ise izolasyon sebebiyle bir o kadar zorlaşıyor.
Yönetim gözüyle değerlendirdiğinizde düşük etkileşimli balküpü sistemlerinin kullanımı kulağa çok daha pratik gelebiliyor olsa da balküpü sistemlerini kullanmanın ana amacı, siber saldırganları bu sistemlere çekerek kullandıkları taktikleri, teknikleri ve prosedürleri (TTP) öğrenmek olduğu için yüksek etkileşimli sistemlerin saldırganlar tarafından tespit edilmesi pratikte çok daha zor olabiliyor. 6 ay boyunca çalışan tuzak sistemimi hackleyen onlarca siber saldırganın davranışlarını izlediğimde çoğu siber saldırgan, sistemin tuzak bir sistem olma ihtimaline karşı özel kontroller gerçekleştirmemişti dolayısıyla yüksek etkileşimli yerel balküpü sistemlerini sıkılaştırmak için çok da çaba sarfetmenize gerek kalmayabilir.
Bakıldığında düşük etkileşimli balküpü sistemlerini tespit etmek için saldırganların Nmap aracı ile bir basit bir tarama gerçekleştirilmeleri yeterli olabiliyor bu nedenle balküpü sistemini canlı sistemlerin yanına yerleştirmeden önce tanınmaz hale getirmek kullanan bireyler ve kurumlar için büyük önem taşıyor. Kimi zaman siber saldırganlardan önce USOM, zafiyet barındırdığı gerekçesi ile internet servis sağlayıcısı ile bu sistem özelinde iletişime de geçebiliyor. :)

Balküpü sistemi denilince çoğu kişinin aklına Dionaea gelecektir. Dionaea yukarıdaki ekran görüntüsünden de görüleceği üzere varsayılan (default) olarak kurulduğunda Nmap tarafından kolaylıkla tespit edilebilmektedir. Dionaea’yı tanınmaz hale getirmek için ise internette ufak bir araştırma yaptığınızda eskiden yeniye çok sayıda kaynağa (#1, #2, #3) ulaşabiliyorsunuz. Örneğin MSSQL servisini simüle eden Dionaea’yı tanınmaz hale getirmek için /dionaea/mssql/mssql.py dosyasındaki r.VersionToken.TokenType parametresinin 0x00 olan değerini 0x01 yaptığınızda Nmap artık 1433. bağlantı noktasında çalışan Dionaea’yı tespit edememektedir. Dionaea, zafiyet barındıran servisleri simüle ettiği (low interaction) için bu kaynaklarda yer alan bilgiler ışığında tanınmaz hale gelen Dionaea’yı siber saldırgan gözüyle tespit etmek pratikte aslında ne kadar kolay bunu araştırmaya karar verdim.

Dionaea’yı kurmakla zaman kaybetmemek için Deutsche Telekom tarafından geliştirilen ve üzerinde Dionaea da dahil olmak üzere çok sayıda balküpü sistemi bulunduran T-Pot balküpü sanal sistemini kurdum. Dionaea gibi ufacık tefecik bir balküpü sisteminin MSSQL servisini (TDS protokolü) tam anlamıyla simüle edemeyeceğini düşünerek işe 1433. bağlantı noktasından başlamaya karar verdim.

Bir MSSQL sunucusu ile bir istemcinin uygulama seviyesinde haberleşebilmesi için TDS (Tabular Data Stream) protokolünü kullanması gerekmektedir. TDS protokolü ile MSSQL sunucusuna giriş (login) yapabilmek için ezelden beri mümkün olan iki tür giriş yöntemi bulunmaktadır. Birincisi kullanıcı adı ve parola ile giriş, ikincisi ise windows doğrulama (NTLM) yöntemi ile giriştir. Normal şartlarda TDS protokolüne göre kullanıcı adı ve parola ile giriş yapmaya çalıştığınızda MSSQL sunucusundan gelen yanıtta, jeton olarak (token) LOGINACK_TOKEN (0xAD), windows doğrulama yöntemi ile giriş yapmaya çalıştığınızda ise jeton olarak SSPI TOKEN (0xED) olması gelmesi gerekmektedir ancak Dionaea her iki istek için de aynı sonucu dönmektedir. :)
Windows doğrulama isteğine Microsoft SQL 2008 Server Express sürümünden dönen yanıt

Windows doğrulama isteğine Dionaea’dan dönen yanıt

Durum böyle olunca Python ile pymssql kütüphanesinden de faydalanarak hızlıca bu farkı tespit edebilen dionaea_detector.py adında basit bir araç hazırladım. Bu araç sayesinde Nmap’in tespit edemediği Dionaea bal küpü sistemini basit bir kontrol ile tespit ederek, art niyetli kişilerin pratikte bunu ne kadar basit bir şekilde tespit edebileceklerini öğrenmiş oldum.

Kıssadan hisse, balküpü sistemi kullanmadan önce yüksek ve düşük etkileşimli balkü sistemlerinin artılarını ve eksilerini baştan sona değerlendirip, siber saldırganlar tarafından tespit edilmesi zor olanını tercih etmeniz veya zorlaştırma adına mevcut sistemler üzerinde değişiklikler yapmanız sizin veya kurumunuzun yararına olacaktır.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Not: Ekran görüntüleri T-Pot 16.10 sürümüne ait olsa da, dionaea_detector.py aracının T-Pot’un son sürümü olan 17.10 sürümü ile gelen Dionaea’yı da başarıyla tespit edebildiği teyit edilmiştir.
The post Balküpü Tespiti appeared first on Siber Güvenlik Günlüğü.

Sponsorlu Dolandırıcılık

By Mert SARICA on October 1st, 2018 - online version

Siber güvenlik dünyasında olan biteni Twitter’dan takip ettiği için bir gözü Twitter’da olan bir güvenlik araştırmacısı olarak, 2018 Ağustos ayı itibariyle Twitter’da karşıma banka müşterilerini hedef alan sponsorlu oltalama (phishing) reklamlarının çıkmaya başladığını farkettim. Başlarda bu tweetleri sadece Twitter’a bildirmekle yetinsem de, takipçilerimden gelen mesajların sayısının artması ve bu reklamların Ekim ayına kadar sürdüğünü görünce bu konuyla yakından ilgilenmeye karar verdim.

Oltalama tweetlerinden birinde yer alan bağlantı adresini takip ettiğimde dolandırıcıların, müşterinin internet bankacılığına giriş esnasında kullandığı kullanıcı adını, parolasını, sms ile gönderilen doğrulama kodunu ve ardından da para transferinde kullanılan sms doğrulama kodunu çaldıklarını gördüm.

Çoğunuz gibi benim de Twitter’da bu sponsorlu oltalama reklamlarını gördükçe aklıma aşağıdaki bazı sorular ve yanıtları takıldı.

- Twitter, aylardır birbirine fazlasıyla benzeyen, şikayet bildirimlerine konu olan bu oltalama reklamlarını engellemeye yönelik nasıl birşey yapamaz ?

- Oltalama tweetleri için kullanılan hesapların bazıları nasıl olur da yıllar önce oluşturulmuş olabilir ?

- Birbirine benzeyen bu oltalama tweetleri nasıl tespit edilebilir ?

Sorulara teker teker yanıt aramaya koyulduğumda, kendi kendime ilk soruya yanıt bulmam mümkün olamasa da, Twitter’ın bu oltalama reklamları karşısında bu kadar çaresiz (belki de vurdumduymaz) kalmasına oldukça şaşırdığımı söyleyebilirim. İkinci sorunun yanıtını bulmaya geldiğimde, oltalama için kullanılan hesapların eski tarihli olmasının muhtemel sebebi, Twitter’ın buradaki yardım sayfasında belirttiği üzere kullanıcı adının değiştirilmesine imkan tanımasıydı. Bu bilgiden yola çıkarak, oltalama tweetleri için kullanılan bu hesapların kuvvetle muhtemel hacklendiğini ve dolandırıcıların amaçları doğrultusunda kullanıldığını söyleyebiliriz. Sıra son soruya, oltalama tweetlerinin nasıl tespit edileceğine yanıt bulmaya geldiğinde, çoğu mesajda ortak olan kelimelerden (ŞANSLI KİŞİ, KATILIM YAPAN, YUKARIDAK) yola çıkarak Optik Karakter Tanıma (OCR) teknolojisi ile bu tweetleri tespit etme konusunda bir çalışma yapmaya karar verdim.

Çoğu banka müşterisinin karşılaştığı bu oltalama tweetlerini bankaların resmi Twitter hesapları ile paylaştığını gördükten sonra aracı hızlıca aklımda tasarlamaya başladım. Aracın temel olarak yapması gerekenler, Twitter’da banka isimlerini aramak, tweetlerde paylaşılan resimleri indirmek, OCR ile analiz etmek ve “ŞANSLI KİŞİ, KATILIM YAPAN, YUKARIDAK” kelimelerini tespit etmesi durumunda e-posta ile uyarmaktı. Uydurduğum, “Düşünmek, kodlamanın yarısıdır.” sözünden yola çıkarak Python ile bu aracı kodlamaya başladıktan kısa bir süre sonra Tweepy isimli Python kütüphanesinden faydalanarak geliştirdiğim Phishing Tweet Detector aracı ortaya çıktı.
Aracı çalıştırdıktan kısa bir süre sonra bir Twitter kullanıcısının banka ile paylaştığı oltalama tweeti bu araç tarafından tespit edilmiş ve kurumların, vatandaşların bu tür dolandırıcılarla mücadele edebilmesine yardımcı olabilme adına ortaya koyduğum bir fikrim daha başarıyla hayata geçmiş oldu. :)

Yazıma son noktayı koymadan önce dolandırıcılarla mücadele için oltalama mesajları ile karşılaşanların bunları en kısa sürede bankalarına, bulunduğu sosyal ağ platformuna bildirmelerinin (Tweet’i bildir gibi) çok ama çok önemli olduğunun altını çizmek isterim.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Sponsorlu Dolandırıcılık appeared first on Siber Güvenlik Günlüğü.

Matruşka

By Mert SARICA on November 1st, 2018 - online version

Her daim örümcek hislerinin peşinden koşan bir güvenlik araştırmacısı olarak hislerim uzun zamandan beri beni Gmail hesabımın Spam klasörüne dikkat etmem konusunda uyarıyordu. 2006 yılından bu yana aktif olarak Gmail kullanan biri olarak, 13 yıl içinde e-posta adresimin Nijerya’dan Papua Yeni Gine’ye kadar birçok coğrafyadaki istenmeyen e-posta gönderen niyeti bozuk kişilerin (spammers) e-posta listelerine girdiği konusunda şüphem bulunmuyordu.
Günlerden bir gün yine spam klasörüne göz atığımda kendimi çok yakışıklı bir film yıldızı gibi hissetmemi sağlayan çok sayıda istenmeyen e-posta olduğunu gördüm. :) Bu e-postalardan yola çıkarak zaman içinde Gmail hesabıma gelip spam klasörüne düşen, ekinde zararlı dosyalar bulunan e-postaların sayısı ve bu zararlı dosyaların türü (casus yazılım gibi) hakkında bilgi sahibi olmak için neler yapabileceğimi düşünmeye başladım. Kısa bir süre sonra Python ile spam klasörüne gelen e-postaları izleyen ve e-postaların ekindeki dosyaları bir kum havuzu (sandbox) sistemine yükleyen bir program hazırlamaya karar verdim.

Kum havuzu servisi olarak zararlı yazılım analizinde sıklıkla kullandığım ve her daim sonuçlardan memnun kaldığım, arka planda Falcon kum havuzu sistemi bulunan Hybrid Analysis‘i kullanmaya karar verdim. Tabii Hybrid-Analysis’in API’sine tespit edilen dosyaları otomatik olarak yükleyebilmek için kısıtı bulunmayan bir API anahtarı gerekiyordu. Neyse ki güvenlik araştırmacılarına bunu ücretsiz vermeleri sayesinde API anahtarına kısa bir sürede sahip olabildim.

Python ile Spam Analyzer isimli bir araç hazırlayıp, hayata geçirdikten kısa bir süre sonra bu araç, Spam klasöründe ekinde PO.docx isimli şüpheli bir dosya keşfetti.

Spam Analyzer aracı, Gmail API üzerinden Gmail hesabınıza client_secret.json dosyasında yer alan bağlantı bilgileri ile (Google API Console‘dan da client_secret.json dosyasını indirebilirsiniz) bağlanarak Spam klasöründeki tüm e-postaları okur, ekindeki dosyaları attachments klasörüne kopyalar ve ardından bu dosyaları Hybrid-Analysis sistemine yükler. Yüklediği tüm dosyaların bilgilerini hashes.txt dosyasında saklar. Bu dosyaları Hybrid-Analysis’e yükledikten 1 saat sonra ise ilgili Hybrid-Analysis raporunu ve dosyanın zararlı olup olmadığı bilgisini yine hashes.txt dosyasına yazar.

PO.docx dosyasını ilk olarak pestudio aracı ile analiz etmeye başladığımda ZoneAlarm dışında herhangi bir güvenlik yazılımının bunu şüpheli olarak tespit edemediğini gördüm. Dosyayı yaması güncel olmayan Microsoft Office 2010 ile açıp Fiddler aracı ile izlediğimde öncelikle winword.exe tarafından kısaltılmış hali http://urlz[.]fr/6uQM, uzun hali http://23[.]249[.]161[.]109/ace/ olan web adresinden svch.doc dosyasının indirilip çalıştırıldığını ardından da svch.exe tarafından http://jopittex[.]zapto[.]org/windows/ adresinden svchost32.vbs dosyasının indirilmeye çalışıldığını gördüm.

PO.docx dosyasını Notepad++ ve rtfdump.py araçları ile analiz etmeye devam ettiğimde, Microsoft Word’un frameset özelliğinin kötüye kullanılarak (sızma testlerinde de kullanılmaktadır) CVE-2017-8570 zafiyetinin istismar edildiğini gördüm.

Confuser aracı ile ile kodları gizlenmiş (obfuscation) olan svch.exe tarafından indirilip, çalıştırılan svchost32.vbs dosyası ise ASProtect ile korunan profile.exe dosyasını http://www[.]bluesw[.]net/wp-admin//user/ adresinden %Public% klasörüne svchost.exe adı altında indirip, çalıştırıyordu.

x64dbg hata ayıklama aracı ile svchost.exe (profile.exe) programını analiz ettiğimde ise ana zararlı yazılım olan Remcos RAT zararlı yazılımı Matruşka bebeği gibi nihayet ortaya çıkmış oldu.

Matruşka, Rus yapımı bir oyuncak bebek türüdür. Ahşap el yapımı olan bebekler ortasından açıldığında başka bir bebek çıkar, onu açtığınızda yine başka bir bebek çıkar. Tek anne figürünün içerisinde iç içe yerleştirilmiş beş veya yedi bebekten oluşur.

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

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

The post Matruşka appeared first on Siber Güvenlik Günlüğü.

Mini Tehdit İstihbaratı

By Mert SARICA on December 3rd, 2018 - online version

Siber Güvenlik Merkezleri tarafından kurumlara gerçekleştirilen hedefli siber saldırıları tespit etmenin ve engellemenin öneminin yüksek olduğu günümüzde, basit bir kontrol ile tespit edilebilen düşük etkileşimli bir balküpü sistemi (Bkz: Balküpü Tespiti) maalesef kurumlar için kaynakları tüketen atıl bir sistem olmaktan öteye gidemiyor. Halbuki kolay bir şekilde kurup, yönetebileceğimiz, amacına hizmet edebilen bir balküpü sistemi yeri geldiğinde SIEM ile entegre edilerek kurumumuz için oldukça değerli bir mini siber tehdit istihbarat servisi olarak da kullanılabilir.
Bu ev yapımı, mini istihbarat servisi ile ayrıca kurumların hangi basit şifreler ile hangi servisler, protokoller üzerinden hacklendiğini, hangi ülkelerin siber saldırganlara ev sahipliği yaptığını bulmak da mümkün olabilirdi. Tuzak Sistem ile Hacker Avı çalışmamda olduğu gibi evimde konumlandıracağım bu sistemin hem basit bir şekilde siber saldırganlar tarafından tespit edilememesi hem de kısıtlı zamanımı çalmaması adına kolay yönetilebilmesi gereksinimlerimin başında geliyordu.
Bu konu üzerine yeteri kadar düşündükten ve taşındıktan sonra açık kaynak kodlu çeşitli servisleri modifiye edip bu servise yapılan hatalı giriş denemelerini (failed login attempt) istediğim şekilde kayıt altına alan bir sistem oluşturmaya karar verdim. Hangi servisler olacağına karar vermek için ise güvenlik uzmanları dışında bir o kadar da art niyetli kişiler tarafından da sıklıkla kullanılan ncrack ve THC-Hydra araçlarının destekledikleri protokollere göz atmaya karar verdim ve günün sonunda ssh, ftp, http, postgresql protokollerinde karar kıldım. Daha sonra Mini-PC üzerine kurduğum XenServer sanallaştırma sistemi üzerine iki tane sanal Ubuntu işletim sistemi kurdum. Ubuntulardan birine bu denemeleri kayıt altına alan loginmon isimli aracı bir diğerine loginmon aracının kayıtlarını (log) analiz etmek amacıyla Splunk Community sürümünü kurdum.

Tabii önümdeki en büyük engellerden biri bu protokolleri kullanan sunucu bileşenlerinin (sshd, postgresql, vsftpd gibi) hatalı giriş denemelerinde kullanılan parolaların açık (clear-text) olarak kayıt altına almalarıydı bu sebeple her bir sunucu bileşeninin kaynak koduna teker teker müdahale etmeye başladım.
Öncelikle openssh-7.2p2 paketini indirip auth-passwd.c dosyasını daha sonra postgres-10.0 paketini indirip src/backend/libpq/auth.c dosyasını ve ardından da vsftpd-3.0.3 paketini indirip prelogin.c ve logging.c dosyalarını, parolaların açık halini kayıt edecek şekilde değiştirdim ve derledim.

Son olarak ise web sunucusunun ana klasöründe oluşturduğum index.php dosyasının, yapılan hatalı giriş denemelerini kayıt altına almasını sağladım.

Python ile geliştirdiğim loginmon isimli aracı da saat başı /var/log klasörü altında yer alan ve açık halde saklanan parolaları, hatalı giriş denemesi yapan kullanıcı adları, ip adresleri ve tarihler ile alıp, Splunk’a gönderecek şekilde hazırladım.

Yaklaşık 1 ay sonunda Splunk üzerinde biriken ~500.000 kayıt üzerinde gerçekleştirmiş olduğum analizde, sistemime gerçekleştirilen deneme yanılma ve sözlük saldırılarının en çok Çin‘den gerçekleştirildiğini, en fazla saldırı alan servisin SSHD olduğunu, kullanıcı adı olarak en çok root, parola için ise 1234 ile deneme yapıldığını öğrenmiş oldum.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
The post Mini Tehdit İstihbaratı appeared first on Siber Güvenlik Günlüğü.