Hack 4 Career - 2015

Microsoft Office Makro Analizi

Source: https://www.mertsarica.com/microsoft-office-makro-analizi/
By M.S on December 1st, 2015

Hemen hemen benle aynı yaşta veya daha yaşlı olanlarınız, 1999 yılında Microsoft Office Word makrosu ile yayılan ve dünya genelindeki milyonlarca sistemi etkileyen Melissa zararlı yazılımını (virüs) hatırlayacaklardır. Melissa zararlı yazılımı, Microsoft Office ile gelen makro desteği sayesinde, çalıştırıldığı sistem üzerinde Microsoft Outlook üzerinde kayıtlı olan ilk 50 kişiye kendisini göndererek yayılıyordu.

Nedir bu makro diye soracak olursanız, Microsoft firması size aşağıdaki gibi bir yanıt verecektir;

Makrolar, tuş ve fare eylemlerinde zaman kazanmak için sık kullanılan görevleri otomatikleştirir. Pek çok makro, Visual Basic for Applications (VBA) kullanılarak oluşturulmuştur ve yazılım geliştiricileri tarafından yazılırlar. Ancak bazı makrolar olası bir güvenlik riski yaratır. Korsan olarak da bilinen kötü niyetli kullanıcılar, bir dosyaya, bilgisayarınıza veya kuruluş ağınıza virüs bulaştırabilecek zararlı bir makro yerleştirebilir.

Yıllar içinde makroların kötüye kullanımı nedeniyle Microsoft firması da boş durmayarak Office yazılımı üzerinde çeşitli güvenlik iyileştirmeleri yaptı. Bunlardan bir tanesi de Office 2007 sürümü ile sunulan yeni dosya uzantıları oldu. Örneğin Office 2007 ile oluşturulmuş bir office dosyasının uzantısında m harfi geçiyor ise bu, office dosyasının makro içerdiğini belirtir. Durum böyle olunca da uzantısında m harfi geçen office dosyalarına daha teminkinli yaklaşabilir, uzantıya göre bu dosyaları bloklayabilir olduk.
Melissa zararlı yazılımından bu yana neredeyse 20 sene geçmiş, Microsoft da üzerine düşenleri yapmış, bize bunları neden anlatıyorsun diyenleriniz olabilir. Makro içeren office dosyaları ile son zamanlarda, internet bankacılığı zararlı yazılımları ve RAT türü zararlı yazılımların yayılmaya çalıştığını görüyoruz. M harfi içeren dosya uzantılarının dikkat çektiğini bilen art niyetli kişiler de makro içeren dosyaları Office 2003 sürümü ile hazırladıkları için bilinçli kullanıcıların ve uzantı kontrolü yapan sistemlerin dikkatinden, kontrolünden geçebiliyor.

Peki makro içerdiğini düşündüğümüz bir office dosyasını nasıl analiz edebiliriz ? Office dosyasını sanal bir makine içinde Microsoft office yazılımı ile açtıktan sonra Macro (view -> macros -> view macros) menüsünden içeriğini görüntüleyebiliriz ancak bunu bilen art niyetli kişiler çoğunlukla makroya şifre koruması koymaktadırlar. Bu şifreyi çözmek için Reset VBA Password aracından faydalanabilirsiniz.

Makro içerdiğini düşündüğümüz bir ofis dosyasını Microsoft Office yüklü olmadan analiz etmenin bir yolu yok mu derseniz, OfficeMalScanner aracı sayesinde onun da mümkün olduğunu söyleyebilirim. OfficeMalScanner aracı, şüpheli (kabukkodu, PE tespiti gibi) ofis dosyalarını analiz etmemize yardımcı olan ve ofis dosyası içinde tespit ettiği makro kodunu analiz için çıkarmamıza yardımcı olan oldukça faydalı bir araçtır.
Örneğin elimizde Microsoft Office 2003 ile oluşturulduğunu düşündüğümüz yukarıdaki gibi şüpheli bir ofis dosyası var ise bu araca parametre olarak info komutunu vererek aracın bizim için dosyayı analiz etmesini ve makro kodunu çıkartmasını sağlayabiliyoruz. Eğer elimizdeki ofis dosyası Microsoft Office 2007 ve sonrası ile oluşturulmuş ise bu defa inflate komutunu kullanarak (aslında ofis dosyasının uzantısını .zip olarak değiştirip winzip/winrar ile açmaktan pek farkı yok) ofis dosyasını açmasını ve içinde yer alan makro kodunu tekrar info komutu ile çıkartmasını sağlayabiliyoruz.

Ortaya çıkan makro kodunu analiz ettiğimiz zaman, kullanılan APIler'den de yola çıkarak bunun RAT türü zararlı yazılım indiren bir indirici (downloader) olduğunu rahatlıkla görebiliyoruz.

Bu yazının şüphelendiğiniz ofis dosyalarını analiz etmenizde siz yol göstermesi ümidiyle, bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Vardı, Verdim, Gitti #4 :)

Source: https://www.mertsarica.com/pi-hediyem-vardi-4/
By M.S on November 30th, 2015

18 Kasım 2015 tarihinde dördüncüsü düzenlenen Pi Hediyem Var oyununun çözüm yolu ve Raspberry Pi kazanan talihli karşınızda!

ÇÖZÜM YOLU:
Yapacağınız ilk iş, her zararlı yazılım analizinde olduğu gibi ctf4.exe isimli bu zararlı yazılımı VirusTotal web sitesine yüklemek ve zararlı yazılım ile ilgili olarak olabildiğince bilgi toplamaya çalışmaktı. VirusTotal'a dosyayı yüklediğinizde karşınıza çıkan Antivirüs çıktılarından bunun Murofet isimli bir zararlı yazılım olduğunu anlayabilirdiniz.

Ardından ctf4.exe zararlı yazılımını Windows XP işletim sistemi üzerinde çalıştırsaydınız, zararlı yazılımın göçtüğünü ancak yazılımı kapatmadığınız taktirde arka planda çalışmaya devam ettiğini görebilirdiniz. Zararlı yazılımı Immunity Debugger aracı ile analiz ettiğinizde, programın akışının çalıştıktan kısa bir süre sonra işlem parçacığı (thread) üzerinden ilerlediğini görebilirdiniz. İşlem parçacığı üzerinden analizi devam ettirmek için ise Immunity Debugger aracının hata ayıklama ayarlarında, "break on new thread" ayarının aktif olması yeterliydi.

Size 1 Aralık 2015 tarihinde zararlı yazılım tarafından oluşturulacak 10 tane alan adının neler olduğunu sorduğum için de, sistem tarihini 1 Aralık 2015 yapmanız gerekiyordu.

Adım adım ilgili komutların üzerinden ilerlediğinizde, zararlı yazılımın GetSystemTime API'sini çağırdığını görebilirdiniz. Hata ayıklamaya devam ettiğinizde, 00401B80 fonksiyonu (subroutine) çağrıldıktan sonra alan adınının oluşturulduğunu görebilirdiniz.

Bu fonksiyonun tamamını kopyalamanız ve ardından Fiddler, Charles Proxy, Burp Suite gibi bir proxy aracı ile oluşturulan web trafiğinden tespit ettiğiniz 10 tane alan adı ile birlikte bana göndermeniz, oyunu başarıyla tamamlamanız için yeterli olacaktı.
OYUNU BAŞARIYLA TAMAMLAYANLAR: Ramazan UYSAL, Semih GÜZELEL, Kerem KAT
ÇEKİLİŞ ve KAZANAN TALİHLİ: Ramazan UYSAL

Başta kazanan talihli Ramazan UYSAL olmak üzere oyunu başarıyla çözen, katılan, destekleyen, sponsor olan herkese teşekkür eder, yeni oyunlarda görüşmek dileğiyle herkese güvenli günler dilerim.
Not: Murofet'in DGA'sı hakkında detaylı bilgi almak için bu sayfayı ziyaret edebilirsiniz.

Pi Hediyem Var! #4

Source: https://www.mertsarica.com/pi-hediyem-var-4/
By M.S on November 18th, 2015

Üçüncüsünü bundan 6 ay önce gerçekleştirdiğim Pi Hediyem Var oyununun yenisi ile uzun bir aradan sonra tekrar karşınızdayım!

Takım liderim Ahmet TAŞKESER 'in sponsorluğunda gerçekleşen dördüncü oyunumda, yine önceki oyunlarda olduğu gibi oyunu başarıyla tamamlayanlar arasında yapılacak bir çekiliş ile 1 adet Raspberry Pi Model B'yi bir kişiye hediye edeceğim. (Bu oyunda kullanılan zararlı yazılımın temin edilmesinde emeği geçen Salim SARIMURAT 'a ayrıca teşekkür ederim.)

Oyunu başarıyla tamamlamak için izlenmesi gereken adımlar;

1. https://www.mertsarica.com/ctf/ctf4.zip adresinden zararlı yazılımı indirin. (zip şifresi: infected)
2. Bu zararlı yazılım tarafından kullanılan alan adı üretme algoritmasını tespit edin. (Örnek: Hesperbot DGA Analizi)
3. 1 Aralık 2015 tarihinde üretilecek olan 10 tane alan adını tespit edip, DGA fonksiyonunun assembly çıktısı ile bana iletin.

Daha önce hediye kazanmamış olup çekilişe katılmak isteyenlerin, detaylı çözüm yolunu iletişim formu üzerinden, adı, soyadı, kendini tanıtan bir yazı ve Raspberry Pi ile güvenlik üzerine yapmayı düşündüğü çalışmaları anlatan bir yazı ile birlikte 30 Kasım 2015 saat 09:00'a kadar bana iletmeleri gerekmektedir.
Oyunun çözüm yolu ve kazanan talihli, ilerleyen günlerde yine bu sayfa ve Twitter hesabım üzerinden duyurulacaktır.
Twitter hesabım üzerinden zorlananlar için zaman zaman ipuçları yayınlanacaktır.
Şimdiden güle güle ve güvenli günlerde kullanmanız dileğiyle :)
1. İpucu: Basit düşünün :)

Android Bankacılık Casus Yazılımı

Source: https://www.mertsarica.com/android-bankacilik-casus-yazilimi/
By M.S on November 5th, 2015

Nisan ayı başı gibi bazı banka müşterilerine SMS ile banka_adi.şüpheli_adres.com adında mesajlar gönderilmeye başlandı. Siteye Android akıllı cihazı ile bağlanan kullanıcıları, bankaya aitmiş gibi görünen güzel bir görsel karşılıyor ve kullanıcının bankanın mobil bankacılık hizmetinden yararlanabilmesi için ilgili uygulamayı kurması isteniyordu.

Siteyi masa üstü internet tarayıcısı ile ziyaret edenler ise bankanın ana sayfasına yönlendiriliyordu. Zararlı yazılımın zaman içinde birden fazla sürümüne erişme imkanım olduğu için ilk sürümü ile 2 ve 3. sürümlerini kıyaslama imkanım olmuştu.
İlk sürümde kod gizlemesi (obfuscation) gerçekleştirilmediği için zararlı yazılım, kaynak koda çevridiğinde bunun rehber, arama kaydı ve sms bilgilerini çalan, anahtar kelime ile sms yönlendirmesi yapabilen ve Türkiye'de 185.50.69.100 ip adresi ile 4444 numaralı bağlantı noktasından haberleşen bir casus yazılım olduğu rahatlıkla anlaşılıyordu.

Yazılımı geliştiren kişinin kaynak kodun bir yerinde servis adı olarak isim.soyad bilgisine yer vermesi, kodun ya çalıntı ya da dikkatsizce başka bir koddan kopyalandığına işaret ediyordu.

İlerleyen sürümlerde ise bu zararlı yazılım haberleştiği ip adresi, kod gizleme yöntemi ile gizlendiği görülebiliyordu.

Yeri gelmişken bu tür zararlı yazılımlar ile karşılaşıldığı zaman, son kullanıcı da olsanız, güvenlik uzmanı da olsanız, Ulusal Siber Olaylara Müdahale Merkezi'ni (USOM) ihbar formu üzerinden bilgilendirmenin, ulusal ve kurumsal güvenlik adına oldukça önemli olduğunun altını çizmek isterim.

USOM'un hızla güncellediği zararlı bağlantılar listesi ve koordinasyon ile sektörel ve kurumsal SOME'lerin, güvenlik üreticilerinin kısa süre içinde bu zararlı adreslerden haberdar olarak, kullanıcıların mağdur olmasını kısa bir süre içinde engellediklerini unutmayın.

Devlet kurumudur, oldukça yavaş işler, hiç zahmet etmeyeyim gibi ön yargıları bir kenara koyabilirsiniz çünkü USOM'a yapmış olduğum bir bildirimin 2 saat gibi kısa bir süre içinde zararlı bağlantılar listesine eklendiğini geçtiğimiz günlerde tecrübe ettiğimi söyleyebilirim.

Daha önceki yazılarımdan da bildiğiniz üzere Android platformu için geliştirilen uygulamalar kolaylıkla bayt koduna ve kaynak koduna çevrilebilmektedir. Kaynak kodunun bu örnekte olduğu gibi okunaklı olmadığı durumlarda bayt kodunu analiz etmek tercih edeceğiniz en akıllıca yöntemlerden biri olacaktır.

Zararlı yazılımı apk-tool aracı ile bayt koduna (smali) çevirdikten sonra smali\com\googleandroid\listener\items\receivers\ klasörü içinde yer alan ProgramStartReceiver.smali dosyası dikkatimi çekti. Dosyayı incelediğimde şifrelenen komuta kontrol merkezi adresinin bu dosya içinde çözüldüğünü (decryption) gördüm.
Bu gibi (okunaklı olmayan kaynak kodu) durumlarda bayt kod üzerinde değişiklik yaparak programın akışını değiştirebilme imkanına sahip olduğunuz için ben de şifresi çözülmüş olan değişkeni aşağıdaki ekran görüntüsünde yer aldığı şekliyle LogCat'e yönlendirmeye karar verdim. Değişikliği yaptıktan sonra tekrar apk-tool aracı ile paketi derleyip, imzaladıktan sonra Android Emulator'e yükledim ve ardından gizlenmiş olan komuta kontrol merkezinin ip adresini görebildim.

Bu zararlı yazılımda olduğu gibi siz de kod gizleme yönteminden (obfuscation) faydalanan zararlı yazılımları analiz etmek istediğinizde benzer şekilde bayt kodu üzerinden ilerlemeyi alternatif bir yol olarak değerlendirebilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Donanım Yazılımı Analizinin Önemi

Source: https://www.mertsarica.com/donanim-yazilimi-analizinin-onemi/
By M.S on October 1st, 2015

Her siber güvenlik konferansında gerçekleştirdiğim sunumumdan sonra olduğu gibi yine geleneği bozmayarak, 2014 yılında IstSec ve geçtiğimiz Eylül ayında Hacktrick siber güvenlik konferanslarında gerçekleştirdiğim donanım yazılımı (bellenim / firmware) analizi sunumumdan sonra sunuma katılamayanlar için sunumu özetleyen bir blog yazısı yazmaya karar verdim.

Nesnelerin İnterneti (IoT) dediğimiz kavram hayatımıza girdi gireli, evimizde internete bağlanan birçok cihaz olduğunu görebiliyoruz. Bunlar arasında uydu alıcıları, ip kameraları, cep telefonlarını, raspberry pi gibi mini bilgisayarları en çok rastlanan nesneler arasında sayabiliriz. Hacktrick sunumunda, evinde 7/24 çalışan Raspberry Pi, Beagle Bone gibi mini bilgisayarı olanlar el kaldırsın dediğimde, havaya kalkan ellerin sayısının beklediğimden fazla olduğunu söyleyebilirim. Durum böyle olunca da IoTler, akıllı cihazlar ve benzerleri, hayatımıza getirdikleri kolaylıkların yanında güvenlik risklerini de beraberinde getiriyorlar dersek pek yanılmayız.
Aslında evlerimize soktuğumuz cihazlar akıllandıkça, casus olma potansiyeline de sahip olmaya başladılar. Hareketle kontrol edilen kameralı, akıllı televizyonunuz hacklendiğinde, başınıza gelebilecekleri bir düşünün, sevimsiz öyle değil mi ? :) Aslında haberlere baktığımızda bu söylediklerimin çok da uzak bir ihtimal olmadığını görüyoruz. Ağustos ayında Samsung'un akıllı buzdolabının hacklenerek Gmail kullanıcı adı ve şifre bilgilerinin çalınabildiği ortaya çıktı.
Bu tür cihazların hacklenebilmesi, modern işletim sistemlerine (Windows, Linux vs.) kıyasla daha kolay oluyor çünkü bu cihazlar çoğunlukla düşük donanımlarla çalışıyorlar. Düşük donanım dediğimizde de, ram, işlemci ve işletim sistemi açısından zayıf/kısıtlı olan bu cihazlar üzerinde örneğin Address Space Layout Randomization (ASLR), data execution prevention (DEP) gibi istismarı engelleyici kontroller bulunamayabiliyor. Donanım yazılımı geliştiricileri, modern işletim sistemi geliştiricileri gibi güvenliğe ön planda tutmadıkları için de çoğunlukla cihazlar üzerinde yer alan konfigürasyonlar örneğin modemlerde olduğu gibi zayıf ve istismara açık olabiliyor.
Bu cihazların güvenliği istenilen seviyelerde olmadığı sürece, güvenlik uzmanları ve son kullanıcılar olarak, ev ağımızda yer alan bu cihazların donanım yazılımlarını analiz ederek güvenlik zafiyetlerini tespit etmek, hem merakımızı gidermek için hem de bu cihazları güvenli bir şekilde kullanmak isteyen bizler için bir gereksinim haline gelebiliyor.
Örneğin elimizde internet servis sağlayıcısı tarafından bize kampanya dahilinde hediye edilmiş bir modem var ve bu modeme yönetici arayüzünden bağlanıp, modem üzerinde tanımlı kullanıcılar görüntülemek istiyoruz. Neden bunu istiyoruz çünkü modemler üzerinde kimi zaman varsayılan yönetici yetkisine sahip hesaplar olabiliyor veya internet servis sağlayıcısı uzaktan destek amacıyla kolay tahmin edilebilir parolaya sahip kullanıcı hesaplarını modemlere tanımlayabiliyorlar. Varsayılan hesaplar dışında modemin yönetici arayüzüne giriş yaptığımızda göremediğimiz ancak ilgili sayfayı direk çağırdığımızda ulaşabileceğimiz ve modem üzerindeki özel ayarları (TR-069 yönetim protokolü ayarları gibi) değiştirmemizi sağlayan gizli sayfalar olup olmadığını da kontrol etmek istiyoruz. Bu sorulara yanıt bulmak için modem ve modemin donanım yazılımı üzerinde çeşitli kontroller gerçekleştirebiliriz.
Gizli yönetici hesaplarını bulmak için yapacağımız ilk iş, modemin telnet servisine bağlandıktan sonra cat /etc/passwd komutu yazarak mevcut hesapları kontrol etmek olabilir ancak işler her zaman düşündüğümüz kadar kolay olmayabilir. Birincisi, yönetim paneline erişmek için kullandığımız kullanıcı adı ve şifrenin telnet servisine erişmek için yetkisi olmayabilir veya telnet servisi (telnetd) modem üzerinde açık/yüklü olmayabilir.

Böyle bir durumda yapmamız gereken bir tornavida seti alarak modemi açmak ve üzerinde UARTseri bağlantı noktası aramak olabilir. Şanslıysak 4 PIN'den oluşan bu bağlantı noktasını çok geçmeden tespit edebiliriz.

Tabii bu seri bağlantı noktası üzerinden modem ile iletişim kurabilmek için USB - TTL UART CP2104 çevirici gibi bir aygıta ihtiyaç duyacağız. Aygıtı bağlamak için öncelikle o dört pinden hangisi veri almak (RX), hangisi veri göndermek (TX) ve hangisi topraklama (GND) için kullanılıyor onu bilmemiz gerekiyor. Süreklilik testi sayesinde Dijital Avometre / Multimetre'de siyah ucu toprağa (işaretli bir kutup), kırmızı ucu ise pinlere sırasıyla dokundurduğumuzda bir ses duyuyorsak o zaman bu pinin toprak (GND) pini olduğunu anlayabiliriz. Ardından RX, TX pinlerini ve baud oranını deneme yanılma yolu ile SecureCRT veya Putty ile tespit ederek komut satırına erişim sağlayabiliriz.

Bir diğer örnekte ise modemin yönetici arayüzündeki gizli sayfaları tespit etmek istiyoruz. Bunun için ilk iş, donanım yazılımını (bellenim) üreticinin veya internet servis sağlayıcısının web sitesinden indirmek olacaktır. Ardından strings aracını bu donanım yazılımı üzerinde çalıştırabiliriz. Eğer aracın çıktısı aşağıdaki örnekte olduğu gibi sayıca az html sayfa adı veriyorsa ancak biz arayüzde çok daha fazla sayıda html sayfa olduğunu biliyorsak, binwalk gibi farklı bir araç ile analizi bir adım ileriye taşıyabiliriz.

Donanım yazılımı analizi için biçilmiş kaftan olan binwalk aracı ile donanım yazılımını açtıktan (extract) sonra, çıkan dosyalar üzerinde strings komutunu çalıştırdığımızda çok daha fazla sayıda html dosya olduğunu görebiliriz.

rpCWMP.html dosyasının adından da anlaşılacağı üzere TR-069 yönetim protokolü ile ilgili ayarların yapıldığı sayfa olduğunu hemen anlayabiliriz. Sayfayı çağırdığımız zaman gelen internet servis sağlayıcısının Auto Configuration Servers (ACS) adresini, Charles Proxy aracının sistem üzerinde dinlediği adresi ve bağlantı noktası (port) ile değiştirip, Charles'a gelen istekleri de internet servis sağlayıcısının ACS adresine yönlendirdiğimizde, bu gizli sayfa sayesinde başarıyla ACS ile modem arasında gerçekleşen trafiği izleyebiliriz.

Peki donanım yazılımını analiz ettikten sonra Charlie Miller ile Chris Valasek'in Cherokee Jeep'i hacklerken yaptıkları gibi donanım yazılımını manipüle edip (patching) cihaza yüklemek istersek, donanım yazılımını tekrar paketlemek için faydalabileceğimiz Firmware Modification Kit (FMK) aracından da kısaca bahsetmek gerekir. İlgili donanım yazılımının dosya sisteminde yer alan dosyalarını, FMK'da yer alan extract-firmware.sh betiği ile diske açtıktan ve değişiklikler yaptıktan sonra yine aynı araçta yer alan build-firmware.sh betiği ile paketlememiz mümkün. Bu sayede hedef cihazın imza kontrolü yapmadan donanım yazılımını güncellemeye izin verip vermediğini de kolaylıkla kontrol edebiliriz.

Statik olarak değil de dinamik olarak donanım yazılımında yer alan programları teker teker analiz etmek istiyoruz dersek de o zaman, QEMU öykünücüsü (emulator) ve IDA Pro aracı sayesinde aşağıdaki ekran görüntüsülerinde yer aldığı şekilde programları (örnek: login) detaylı bir şekilde analiz edebiliriz.

Çok daha fazlasını öğrenmek ve uygulamak istiyorum diyenleriniz için ise Abusing the Internet of Things: Blackouts, Freakouts, and Stakeouts kitabına bir göz atmalarını tavsiye edebilirim.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Cryptokiller Aracı

Source: https://www.mertsarica.com/cryptokiller-araci/
By M.S on September 8th, 2015

Geçtiğimiz haftalarda, kullanıcıların ve kurumların oldukça başını ağrıtan Cryptolocker zararlı yazılımı üzerinde çalışırken, işletim sistemine Cryptolocker zararlı yazılımının bulaştığını tespit edip, işlemi (process) durduran Cryptokiller adında bir araç hazırladım.

Windows 7 Enterprise SP1 (x86)'de test ettiğim bu aracı 5 farklı Cryptolocker zararlı yazılımı üzerinde test ettikten sonra yeni bir salgın başlamadan önce herkesin kullanımına sunma kararı aldım.
İlerleyen zamanlarda bu aracı kaynak kodu ile birlikte burada yayınlayacağım. Bu sayede aracı ihtiyaçlarınıza göre iyileştirme/geliştirme imkanınız olacaktır.
Aracın Kısıtları:

- Cryptokiller aracı, Cryptolocker zararlı yazılımı sisteme bulaşmadan önce sistem üzerinde çalışıyor olması gerekmektedir.

- Cryptolocker'ı tespit etmek için sistem üzerinde en az bir dosyanın Cryptolocker tarafından şifrelenmesi gerekmektedir.

- Aracın yönetici yetkisi ile çalıştırılması gerekmektedir.

- 32 bit Windows işletim sistemi üzerinde çalışmaktadır.

- Sistem üzerinde Python 2.7 ve Winappdbg modülünün yüklü olması gerekmektedir.

Aracı "hidden" parametresi ile çalıştırdığınız taktirde (cryptokiller.exe hidden) GUI olmadan çalışabilmekte ve gerçekleştirdiği işlemlerlerle ilgili bilgileri C:\Cryptokiller klasörü altına kayıt etmektedir.
Araç ile ilgili gelişmelerden haberdar olmak için https://www.mertsarica.com/cryptokiller adresini ziyaret edebilirsiniz.
Uyarı: Crytokiller, POC olarak geliştirdiğim bir araçtır bu nedenle hataları/eksikleri olabilir. Aracı prototip olarak düşünmeli ve bunu göz önünde bulundurarak kullanmanızı öneririm.
İndir (Windows 7 Enterprise SP1 x86'da test edilmiştir.)
Güncelleme (19.11.2015): Cryptokiller aracının kaynak kodu yayınlanmıştır.

ENGLISH

-----------------------------------------------------------------------------------------------------------------------------------------------------

While I was working on a Cryptolocker malware that targeted Turkish users, I decided to create a POC tool called Cryptokiller (tested on Windows 7 Enterprise SP1 x86) which is able to detect and stop the infection and also kills the infected process. I tested it on 5 different Cryptolocker malwares.
I will share the source code of Cryptokiller soon so you will be able to modify it for your needs.
Limitations:

- Cryptokiller must be running on the operating system before the infection.

- Cryptokiller is able to detect & kill the Cryptolocker process after at least one file is encrypted by Cryptolocker.

- It must be run must under an account with administrator privileges.

- Supports only 32 bit Windows 7 at the moment.

- Python 2.7 and Winappdbg module must be installed on the system.

You can run Cryptokiller without GUI by running it with "hidden" parameter. (cryptokiller.exe hidden). You will find the log file inside C:\Cryptokiller folder.
Warning: Cryptokiller is POC tool. It may have bugs/issues so keep in mind.
Download (Tested on Windows 7 Enterprise SP1 x86)
Update (19.11.2015):Source code of Cryptokiller tool released.

POC Video: Cryptokiller vs 5 Cryptolocker Malwares

-------------------------------------------------------------------------------------------------------------------------------------------------------

Android Stagefright Zafiyeti

Source: https://www.mertsarica.com/android-stagefright-zafiyeti/
By M.S on September 1st, 2015

Linkedin, Twitter gibi sosyal ağları ve medyayı yakından takip eden biri olarak son zamanlarda Linked'in üzerinden iş odaklı Whatsapp grubu kurma modası oldukça dikkatimi çekiyor. Bu modada, bir kişi Whatsapp üzerinde bir grup açıyor ve bunu Linkedin üzerinde duyuruyor ardından ilgilenen kişiler bu duyurunun altına cep telefonu numaralarını yazarak bu gruba dahil olmak istediklerini söylüyorlar. Grubun kurucusu olan kişi de ardından bu cep telefonu numaralarını teker teker gruba eklemeye başlıyor.

Sorun bunun neresinde diye soracak olursanız birincisi Linkedin iş odaklı kullanılan bir sosyal ağ ve burada çalıştığınız kurumdan, pozisyonunuza kadar işiniz ve işyeriniz ile ilgili çeşitli bilgiler paylaşıyorsunuz. Kurumları hacklemek isteyen art niyetli kişilerin, istihbarat servislerinin, kurum çalışanlarını hedef aldığını biliyoruz. En yakın örnek olarak Edward Snowden tarafından sızdırılan belgelerde, ABD istihbarat servisi NSA ile İngiliz siber istihbarat servisi GCHQ'nun, 2010 yılında sim kart şifreleme anahtarlarını çalmak için sim kart üreticisi Gemalto firmasının çalışanlarının e-posta ve Facebook hesaplarına sızdıkları anlaşılmıştı. 2015 yılında neler yaptıklarını hayal bile edememekle birlikte, istihbarat servisleri dışında art niyetli kişilerin de akıllı telefonları hatta ve hatta akıllı saatleri bile hedef aldığını görüyoruz.
Eskiden olsaydı, telefon numaranızı internette ve/veya herhangi bir ortamda paylaştığınızda başınıza gelebilecek en kötü şey olsa olsa gecenin köründe sizi rahatsız eden bir telefon sapığı olurdu. Ancak bu çağda başınıza gelebilecek en kötü şey, telefonunuzu hackleyen (Evil Pi başlıklı yazımda zafiyet barındıran Android telefonların nasıl istismar edilebileceğini simüle etmiştim.) ve tüm kişisel verilerinizi çalan bir art niyetli kişi olabilir.
5 Ağustos 2015 tarihinde gerçekleştirilen Black Hat bilgi güvenliği konferansında, Joshua Drake (@jduck) tarafından 950 milyon Android cihazı etkileyen bir zafiyetin detaylarına yer verildi. Bu zafiyeti istismar etmek (cep telefonunu/tableti hacklemek) için hedef kişinin cep telefonunu bilmek ve istismar kodu içeren bir multimedya mesaj veya mp4 formatına sahip bir video dosyasının bağlantı adresini göndermek yeterli oluyor.
Android işletim sistemi için yamalar bildiğiniz üzere Google tarafından hemen yayınlansa da, telefonunuza indirilebilmeniz için cihaz üreticisi (misal Samsung) tarafından güncelleme yazılımının hazırlanması gerekiyor. Durum böyle olunca da Google ilgili zafiyeti ortadan kaldıran yamayı zafiyetin tespitinden bir gün sonra yayınlasa bile üreticinin de elini çabuk tutması gerekiyor.
Her ne kadar Google ilgili yamayı yayınlasa da bu defa da yamanın aslında zafiyeti ortadan kaldırılmadığı Exodus firmasının yaptığı bir araştırma ile ortaya çıktı. En iyi ihtimalle Eylül ayından önce bu yamayı Android cihazımıza yükleyemeyeceğiz gibi görünüyor.
Peki elimizi kolumuzu bağlayıp bekleyecek miyiz ? Hayır. İlk olarak Android cihazımızın bu zafiyetten etkilenip etkilenmediğini StageFright Detector aracı ile öğrenebiliriz.

İkinci olarak her ne kadar MMS, atak vektörlerinden sadece biri de olsa, en kolay istismar edilebileceği için buradan gelecek bir saldırıyı engellemek için size gönderilen MMS'in Android cihazınız tarafından otomatik olarak almasını engellemek isteyebilirsiniz. (Bunu devre dışı bıraksanız bile, manuel olarak gelen MMS'i alıp görüntülediğiniz taktirde cihazınızın hacklenebileceğini unutmayın!)
MMS'in otomatik alması ve gösterilmesini devre dışı bırakmak için aşağıdaki adımları izleyebilirsiniz.
Android için; Ayarlar -> Mesaj -> Multimedya mesajları -> Otomatik al
Google Hangout için; Hangout -> Ayarlar -> SMS -> MMS'leri otomatik al
Samsung kullanıcısı iseniz MMS'i devre dışı bırakmak için Samsung tarafından yayınlanan MMS control uygulamasını da yükleyebilirsiniz.
Yukarıdaki adımlar bir yama gibi bu zafiyeti tamamiyle ortadan kaldırmayacağı için ve Google firması Android 4.0 "Ice Cream Sandwich" ile gelen ASLR (address space layout randomization) güvenlik önlemi sayesinde bu zafiyetin çok sayıda cihazda istismar edilmesinin zor olduğunu söylese de, yama çıkana kadar dikkatli olmakta fayda var.
Sonuç itibariyle, akıllı cihazlarda ortaya çıkan zafiyetleri istismar etmek için kimi zaman sadece cep telefonu numarasının yeterli olması, kurumlara sızmak isteyen art niyetli kişilerin kurum çalışanlarını hedef alması ile sonuçlanabiliyor bu nedenle cep telefonu numaranızı paylaşırken bile temkinli olmakta fayda olduğunu asla unutmayın.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Güncelleme: 09.09.2015 tarihi ile cve-2015-1538 zafiyeti için istismar kodu yayınlanmıştır.
ENGLISH (Translated by Hüseyin Fatih Akar | Twitter: @thehakar | E-Mail: hakar1@binghamton.edu)
-------------------------------------------------------------------------------------------------------------------------------------------------
As a person who is really interested in social networks, the trend of creating business-oriented Whatsapp groups on LinkedIn takes my attention. In this trend, someone is creates a Whatsapp group and announces it on LinkedIn. Then other people drop a comment below with their phone number, state that they want to join that group. Afterwards the creator of the group adds them to the group one by one.

In case you ask “What is the problem with that?” First of all; LinkedIn is a business-oriented social network and on there, you share various of information about your company and your position in that company, about your job and your workplace. We know that people with bad intentions about hacking a firm and intelligence agencies, target employees. Recent example to this would be; the documents leaked by Edward Snowden, we learned that U.S.A intelligence agency NSA and British intelligence service GCHQ hacked the emails and Facebook accounts of Gemalto’s employees in 2010, which is a global sim card manufacturer firm, to steal the sim card encryption keys. With this data, we can’t even imagine what they are doing in this century. Apart from intelligence agencies, we see that people with bad intensions target smart phones and also they target even smart watches.
In the past, the worst thing that can happen to you when you share your number on internet and/or any other platform would be some psycho disturbing you by calling you in the middle of the night and maybe waking you up. But in this era, the worst thing that can happen is very different (On my Evil Pi article I simulated how to abuse the Android phones that contains vulnerability). That psycho can turn into a hacker and those people, now, are able to steal all off your personal information.
On Black Hat information security conference that took place on August 5th of 2015, details of a vulnerability that affects more than 950 million android devices has been shown by Joshua Drake (@jduck). To exploit this vulnerability, (to hack phones/tablets) knowing target’s phone number and sending a MMS with the exploit code or sending a link of a video in mp4 format is enough.
Even though Google instantly publishes the patches for Android OS, to download it to your phone it is required to wait for manufacturer firm (like Samsung) to make that patch downloadable to its phones. So although Google make patches after one dat the vulnerability is found, it is also mandatory for manufacturers to act really fast.
With the research of a firm named Exodus, it has been seen that Google couldn’t actually remove the vulnerability with that patch. It seems that even on best case scenario we are not going to be able to install this patch before September.
Does that mean ‘we are going to sit there and do nothing?’ No. First of all; we can determine whether we are affected by this vulnerability or not with StageFright Detector tool.

Secondly; MMS is not the only attacking vector but it is the easiest one to exploit. So, to prevent the attacks coming from this vector, you can disable automatically retrieve an MMS option on your Android OS (Even if you disable it, when you manually receive those MMS’s, don’t forget that your device can still get hacked).
You can follow the steps below to prevent your device retrieving the MMS automatically.
For Android; Settings -> Messages -> Multimedia Messages (MMS) -> Auto Retrieve
For Google Hangouts; Hangouts -> Settings -> SMS -> Auto Retrieve MMS
If you are a Samsung user, you can also install the MMS Control application that is being launched by Samsung itself.
These steps shown above is not going to cover the vulnerability like a patch and Google says that it is not likely that this vulnerability can be abused to hack many phones because of the ASLR (address space layout randomization) security measure that came with in Android 4.0 "Ice Cream Sandwich". However it is always good to be careful until the patch comes out.
Finally, the fact that the cell phone numbers is enough to exploit the vulnerabilities of smartphones, can lead hackers to target the employees to be able hack the firm. For this reason, it is a good thing to be cautious even while sharing the phone numbers.
Hope to see you on the next article. I wish secure days to everyone.
Update: On 09.09.2015, exploit code for CVE-2015-1538 vulnerability has been published.

Black Hat Macerası

Source: https://www.mertsarica.com/black-hat-macerasi/
By M.S on August 9th, 2015

1997 yılından bu yana, dünyadan bilgi ve bilişim güvenliği uzmanlarının, hackerların, istihbarat elemanlarının akın ettiği dünyaca ünlü Black Hat konferansına Ağustos ayında katılma ve eğitim alma şansını yakaladım. Şansını yakaladım diyorum çünkü bu konferansa katılmak ve eğitim almak için ya çok paranızın olması gerekiyor (uçak bileti, otel konaklama ve Black Hat bileti ~10.000 TL) ya da sizi bu konuda destekleyen sponsorlarınızın, bu konferansa katılmanız ve eğitim almanız gerektiğine inanan IBTech ve Finansbank gibi vizyoner işverenlerinizin olması gerekiyor. Ben de herşeyden önce bu konferansa katılmama ve eğitim almama destek olan, yardımlarını esirgemeyen herkese teşekkür etmek istiyorum.

Black Hat günlüğümün sayfalarını aralamadan önce 15 yıl aradan sonra bu defa farklı bir eyaletini ziyaret ettiğim Amerika'nın Nevada eyaletinin Las Vegas kenti hakkında kısaca gözlemlerime yer vermek istiyorum.
Birincisi insanların gerçekten mutlu, yardımsever, cana yakın ve kibar olduğunu söyleyebilirim. Özgürlükler ülkesi olan Amerika'da insanların kendi halinde olduklarını görebiliyorsunuz. Elinde bira kutusuyla gezen de var, ponpon kız kıyafetiyle sokağa çıkıp turistlerle fotoğraf çektirip bu işten para kazanan da var, üst geçitlerin sağında solunda dilenmeyen ancak elinde döviz ile yardım isteyen evsizler de var. Hatta bir evsizin dövizinde, "evsizim çünkü eski eşimin daha iyi bir avukatı vardı" gibi esprili yazılara rastlayabiliyorsunuz. İşin en güzel yanı herkes kendi dünyasında yaşıyor. Kimsenin kimseyle bir derdi, sorunu bulunmuyor. Yolda, toplu taşımada giderken kimse kimseyi rahatsız etmiyor, mahalle baskısına veya tacize maruz kalmıyorlar. Kurallara uyuyorlar, düzenliler, çevreye saygılılar ve siz de bunlara aç bir ülkeden geldiğiniz için hemen bu kurallara ve düzene memnuniyetle uyum sağlıyorsunuz.
İnsanlar sıraya girmesi gerektiğini biliyorlar. Sırada işleri uzun sürerse arkasında sıra bekleyenlere dönüp özür diliyorlar. Karşıdan karşıya geçecekseniz adımızını yola attığınız anda yoldan geçen araç duruyor ve sizin karşıya geçmenizi bekliyor. Beş şeritli yollarda oldukça lüks, spor araçlar göze çarpıyor ve hiç biri ne slalom yapıyor ne de birbirleriyle yarışıp, insanların canını tehlikeye atıyor. Yolda yürürken, bir restorana veya bir dükkana girdiğinizde, merhaba, nasılsınız ?, keyifler yerinde mi ? Vegas'ı beğendiniz mi ? neredensiniz ? gibi sorular soran ve sizle sohbet eden cana yakın insanlarla karşılaşıyorsunuz. Türkiye'denim dediğinizde müslüman olduğunuz için size farklı davranmıyorlar. Yabancılar müslümanları ve Türkler'i sevmezler sözünün ön yargıdan ibaret olduğunu, Vegas için geçerli olmadığını hemen anlayabiliyorsunuz. Kendi fotoğrafınızı çekmeye çalıştığınızda yanınızdan geçen biri fotoğrafınızı isterseniz çekebilirim diye yardım eli uzatabiliyor.
Yaşlı istihdamına da gerçekten önem veriyorlar. Black Hat'e kayıt olurken biletinizi ve çantanızı size verenlerin yaş ortalamasının 50-60 arası olduğunu görebiliyorsunuz. Çok sayıda kadın otobüs şoförü var ve onların da yaş ortalamaları kimi zaman 50 ile 60 yaş arasında olabiliyor.
Kıssadan hisse, Avrupa ülkelerinde de olduğu gibi özgürlükler ülkesindeki bu yaşama ve medeniyet seviyesine, kıraathane sayısının kütüphane sayısının 285 katı olduğu bir ülkede erişilmesinin epey zaman alacağı anlaşılıyor.
Black Hat konferasına gelecek olursam, eğitimlere ve sunumlara katılımın oldukça yüksek olduğunu söyleyebilirim. Zaten etkinlik yeri için neden Mandalay Bay otelinin dev kongre merkezinin seçildiğini etkinlik tarihi gelince anlayabiliyorsunuz. Black Hat konferansı toplamda 6 gün sürüyor. İlk 4 gün boyunca eğitimler düzenleniyor, geri kalan iki günde ise neredeyse bir sene boyunca yapılan araştırmaların sunulduğu can alıcı sunumlara (Black Hat Briefings) ve güvenlik araçlarının tanıtıldığı (Black Hat Arsenal) tanıtım sunumlarına yer veriliyor.
Black Hat'te bu sene toplamda 63 tane eğitim verildi ve ben de 1-2 Ağustos tarihlerinde, Saumil Shah tarafından verilen Exploit Laboratory: Black Belt adındaki eğitimi aldım. Eğitimin temeli, internet tarayıcısı istismarına dayanıyordu. Eğitim esnasında use after free zafiyetlerinin ROP (return oriented programming) ve heap spray yöntemleri ile, Windows'un güvenlik kontrollerinin (DEP gibi) nasıl aşılarak istismar edilebileceğini gösterildi. Sınıfın mevcudu 30 kişiydi ve daha önce bu eğitmenden eğitim alanların bu eğitimi tercih ediyor olmaları da zaten eğitmenin başarılı olduğunu kanıtlar nitelikteydi.

Konferans ve eğitim esnasında güvenlik uzmanı dediğin biraz paranoyaktır örneklerine de rastlamadım değil :) Misal eğitim esnasında tuvalete giden birinin bilgisayarını kapatıp, çantasına koyup, yanına aldığını da gördüm, yaka kartında soyadını gizleyen kişileri de gördüm. (Mert S. gibi)
Black Hat'in açılış konuşmasının yapıldığı ilk günde, 1000 kişilik olduğunu düşündüğüm salonda Black Hat ve Defcon konferanslarının organizatörü Jeff Moss sözü aldı ve bu sene, katılımcı sayısının en yüksek olduğu Black Hat konferansını düzenlediklerini belirtti.

Verilen Black Hat tanıtım ve sunum kitapçığında kendime hangi sunumlara gireceğimle ilgili bir plan çıkarttım. Paralelde ilgimi çeken 3-4 sunumun olması ve aralarından sadece bir tanesini seçmek zorunda olmam beni oldukça zorladı.

Katıldıklarım arasında en çok beğendiğim sunumlar; Charlie Miller ve Chris Valasek'in sunduğu Remote Exploitation of an Unaltered Passenger Vehicle, Michael Ossman'ın The NSA Playset sunumu, Sean Metcalf'in Red vs Blue: Modern Active Directory Attacks Detection and Protection sunumu ile Eric Evenchick ve Mark Baseggio'nın sunduğu Breaking Access Controls with BLEKey sunumları oldu.
Charlie Miller ile Chris Valasek'in yaptığı sunum oldukça keyifliydi. Sunum esnasında, imzalanmamış bir donanım yazılımı (firmware) sayesinde uzaktan bir arabayı nasıl hackleyebileceklerini oldukça renkli bir şekilde sundular. 1-2 sene arası süren bu zahmetli güvenlik araştırmalarının karşılığını, 1000 kişi olduğunu düşündüğüm hınca hınç dolu olan salonda müthiş bir alkış kopunca aldıklarını düşünüyorum. Sunum başlamadan önce yanında boş yer olanlar ellerini kaldırsınlar diye anons yapılması da sunuma olan ilginin bir göstergesiydi. Sunum sonunda Charlie Miller attığı bir tweet ile kendi sunumları esnasında oldukça değerli başka sunumların da paralelde gerçekleştiğini söyleyerek, sunumlarına katılanlara da teşekkür etmeyi ihmal etmediler. Yabancıların bu mütevaziliğini her zaman takdir etmişimdir.

Hackrf One, (ben de sonunda bir tane alabildim :)) Ubertooth One ve bunun gibi birçok değerli donanıma imza atan Michael Ossman'ın sunumu da benim için oldukça değerliydi. NSA Playset adını verdiği sunumda, Edward Snowden tarafından sızdırılan NSA'in gizli belgelerinden esinlenerek güvenlik araştırmacıları tarafından hazırlanan donanımların tanıtımına kısaca yer verdi.

Eric Evenchick ve Mark Baseggio'nun RFID kapı kartları üzerine yapmış oldukları çalışma esnasında, kart kopyalamak için 10$'a mal ettikleri BLEKey cihazını da ilk 200 kişiye ücretsiz olarak dağıtmaları beni oldukça mutlu etti. (ben de bir tane kaptım :))

Her ne kadar katılamamış olsam da, bu sunumlar dışında geçen sene Gökhan ALKAN ve Bahtiyar BİRCAN 'ın, bu sene ise sadece Bahtiyar BİRCAN'ın Black Hat Arsenal'de bizleri Heybe sunumu ile gururlandırdıklarını da unutmamak gerekiyor.
Bu arada sunumlar demişken, Black Hat'te bir sunumdan diğer bir sunuma yetişmek için adeta depar atmanız gerekebiliyor çünkü çoğunlukla koridorlar, metrobüslere benzer bir hal alabiliyor :)

Sunumlar dışında güvenlik dünyasının dev markalarının yer aldığı standları da (Business Hall) gezme imkanım oldu ve bunlar arasında dikkatimi en çok çeken FBI'ın standı oldu. FBI'ın standına gidip tweet atmak için broşürlerine bir göz atmak istediğimde, bir hanım ablamızın (artık ajan mıdır bilinmez :)), Amerikan vatandaşı mısın ? diye sormadan önce FBI'a katılmak ister misin ?, yetenekli misin diye laf atması da beni şaşırtmadı değil. Bu standı görünce insan, "eee adamlar nereden eleman almaları gerektiğini gayet iyi biliyorlar, sonuçta koskoca FBI" demeden geçemiyor.

Sonuç olarak Black Hat konferansı benim için gerçeğe dönüşen bir hayal oldu. Sunumlarıyla ve eğitimiyle oldukça verim aldığımı söyleyebilirim. Gönül ister her firma, her sene güvenlik uzmanlarını Black Hat, Defcon gibi konferanslara göndersin, orada eğitim aldırsın, hem ülkeye hem de güvenlik sektörüne katkısı olsun ancak sığ vizyon, bol bol mesai yapsın kendini geliştirecek zamanı olmasın, ne iş olsa yapsın ama bir alanda uzmanlaşmasın, ekonomi de zaten kötü, maaş verdiğimize dua etsin eğitim falan istemesin zihniyeti ile önümüzdeki 5 yıl içinde bu sayının ne kadar artacağını hep birlikte göreceğiz.
Şartların, imkanların ve bilgiye ulaşmanın sınırlı olduğu ülkemizde, Charlie Miller ile Chris Valasek'in çalışması gibi güvenlik araştırmalarına yer verilmesi pek kolay olmuyor dolayısıyla Black Hat ve Defcon gibi konferanslarda bu tür can alıcı sunumlar yapan Türkler'e pek rastlamıyoruz. Umuyorum ki ülkemizde siber güvenliğe verilen önem ile bu tür araştırmalara verilen destek ve teşvik de artacak ve yakın gelecekte Black Hat ve Defcon gibi dünyaca ünlü konferanslarda bizleri gururlandıran sunumları görüyor olacağız.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Not: Black Hat sunum dosyalarına erişmek için bu sayfayı ziyaret edebilirsiniz.

Kim Arıyor ?

Source: https://www.mertsarica.com/kim-ariyor/
By M.S on August 1st, 2015

Kasım 2013 tarihinde bir arkadaşım, CIA (Kim Arıyor?) mobil uygulaması hakkında bilgim olup olmadığını sordu. Bilgim olmadığını söylediğimde, bana arayan kişinin ekranda adını ve soyadını gösterdiğini ve bunu nasıl yaptığını merak ettiğini söyledi. Olsa olsa bu uygulamanın mobil cihaza yüklendiği anda telefon rehberinin bir kopyasını kendi sistemlerine gönderdiğini ve bunun üzerine çağrı geldiğinde rehber havuzda arayan numarayı sorgulayarak gösterebileceğini tahmin ettiğimi söyledim.

Uygulamayı kurup, inceledikten sonra telefon rehberinin aslında bu uygulamayı yükleyen kişinin insiyatifinde paylaşıldığını gördüm ve hemen kendi cep telefonu numaramı bu uygulamada üzerinden arattım. Beklediğim gibi telefon numarama sahip olan kişi veya kişiler, telefon rehberlerini paylaştıkları için benim adım ve soyadım da cep telefonum ile eşleştirilmişti. Yakın çevremdekilerin cep telefonu numaralarını da arattığımda bir arkadaşımın rehbere adı ve soyadı yerine ev adresi ile kaydedildiğini gördüm. Muhtemelen bu arkadaşımın sürekli sipariş verdiği ya bakkal ya çakkal telefon rehberine arkadaşımı bu şekilde kaydetmiş ve telefon rehberini de paylaşmıştı.
Mahremiyete ve güvenliğe önem verenler için, kendi rızası olmadan karşı tarafın (kişiler veya firmalar) insiyatifinde verilerinin 3. partilerle paylaşılması, satılması bilindiği üzere günümüzün en büyük sorunlarından bir tanesidir. Parayı verip, veriyi satın alan partilerin bu veriyi reklam dışında hangi amaçlarla kullandığını bilemediğimiz için verilerimize sahip çıkmaya çalışarak ileride başımıza gelebilecek potansiyel dolandırıcılık girişimlerinden kendimizi korumaya çalışmaktayız. Onlarca uyarıya rağmen kendini polis, jandarma, savcı olarak tanıtan dolandırıcılara karşı vatandaşlarımızın hala mağdur oluyor olması da, verilerimize neden sahip çıkmamız gerektiğinin önemini anlatıyor.

Bu arada 1 Mayıs 2015 tarihinde yürürlüğe giren Elektronik Ticaret yasası ile telefon, kısa mesaj ve e-posta ile izinsiz reklam yapanların 50.000 TL 'ye varan para cezaları ödeyeceklerini de büyük bir memnuniyetle hatırlatmak isterim. Şikayet için T.C Gümrük ve Ticaret Bakanlığı'nın İleti Şikayet Sistemi'ni ziyaret edebilirsiniz.

İyi, güzel de Mert, telefon rehberi paylaşımı ile telefon dolandırıcılığının ne tür bir bağlantısı var diye soruyor olabilirsiniz. En basitinden sosyal mühendislik testinde olduğu gibi test öncesinde karşı taraf hakkında ne kadar çok bilgiye sahip olursanız, test esnasında karşı tarafı ikna etmeniz ve değerli bilgilere ulaşmanız o kadar kolay olur. Bundan yola çıkacak olursanız, size telefon açan bir dolandırıcı, size adınız ve soyadınız ile hitap ettiği zaman, sizi ikna etme ihtimali çok daha yüksek olacaktır. Bundan yola çıkarak art niyetli kişilerin, dolandırıcıların kısa bir sürede kim arıyor ve benzeri mobil uygulamaların, telefon rehberi havuzundan kısa sürede nasıl isim ve soyad bilgilerini temin edebileceğini öğrenmeye ve buna karşı sizleri ve yakınlarınızı bu konuda uyarmaya karar verdim.
Bunun için ilk işim, GenyMotion Android öykünücüsüne uygulamayı yüklemek oldu. Uygulamayı yükledikten sonra aklıma gelen rastgele bir cepe telefonu numarasını arattım ve karşıma o kişinin adı ve soyadı çıktı. Bir dolandırıcı olsa ve elinde yüzlerce belki de binlerce cep telefonu numarası olsa, bu uygulama üzerinden bu cep telefonlarına ait isim ve soyad bilgilerini toplu halde nasıl alabilirdi diye düşünürken, öykünücüye dışarıdan çağrı gönderilebildiği geldi.

Çağrı gönderdikten sonra rehber havuzu üzerinde yapılan sorgulamanın, uygulama tarafından dosya sistemi üzerinde herhangi bir yere kaydedilip kaydedilmediğini adb shell komutu ile öykünücüye bağlanıp araştırmaya başladım. Çok geçmeden uygulama tarafından yapılan sorguların ve yanıtlarının uygulamaya ait databases klasörü altında history.db isimli sqlite veritabanı dosyasında tutulduğunu tespit ettim.

Ardından Python ile iki araç hazırladım. Bir tanesi mobil operatörlerin alan koduna göre numara üreterek öykünücüye çağrı gönderirken diğeri ise history.db veritabanı dosyasını okuyarak yeni oluşturulan kayıtları gösteriyordu. Araçları kısa bir süre çalıştırdıktan sonra çalışmamı tamamladım.

Bu çalışma sonucunda art niyetli kişilerin ellerinde bulunan veya bulunmayan (anlık olarak üretilen) cep telefonu numaraları ile isim ve soyad bilgilerini kısa bir sürede eşleştirebileceklerini öğrenmiş oldum. Siz de benim gibi, rızanız olmadan yakınlarınızın veya sizin cep telefonu numaranızı paylaşan arkadaşlarınız olduğundan şüphe ediyor ve Kim Arıyor? uygulamasının rehber havuzundan numaranızı silmek istiyorsanız, buradaki adresi ziyaret ederek numaranızı bu listeden sildirebilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Java Bayt Kod Hata Ayıklaması

Source: https://www.mertsarica.com/java-bayt-kod-hata-ayiklamasi/
By M.S on July 1st, 2015

Tarık Y. sağolsun 10 Ekim 2013 tarihinden bu yana kendisine gelen ve ekinde zararlı yazılım bulunan çoğu sahte e-postayı incelemem için benimle paylaşıyor. Kendisine gönderilen e-postalara bakıldığında, 2013 yılından bu yana aktif olarak java ile zararlı yazılım geliştiren (indirici/dropper) ve sahte e-postalar gönderen bir grubun bu e-postaların arkasında olduğunu anlamak çok zor değil. Antivirüs yazılımlarını atlatmak için çeşitli gizleme (obfuscator) araçlarından da faydalanan bu grup, her salgında ikna adına aşağıdaki gibi yeni senaryolar kullanmaktan çekinmiyor.

Zararlı yazılım geliştiricileri çoğunlukla indiricileri geliştirirken Java programalama dilinden faydalanıyor olmalarının en büyük sebebi, Java'nın yorumlanan (interpreted) bir programlama dili olmasıdır. Bu sayede CLASS dosyasına derlenen .JAVA uzantılı bir kod, Java Virtual Machine (JVM) tarafından çalışma esnasında yorumlanarak makine diline dönüştürülmektedir. Bu durum da JAVA programlama dili ile yazılan zararlı yazılımların Antivirüs yazılımları tarafından kimi durumlarda yorumlanamamasına sebebiyet vermektedir. Ayrıca JVM tarafından çalıştırılan JAR uzantılı yürütülebilir dosyalar veya CLASS uzantılı dosyalar, Ollydbg veya Immunity Debugger gibi hata ayıklayıcılar tarafından çalıştırılamaz dolayısıyla dinamik kod analizi ile analiz edilmesi, PE dosyalara kıyasla daha zordur.
Ancak yorumlanabilir diller, diğer dillerin aksine kaynak koduna geri çevrilebilmektedir (decompile). Zararlı yazılım analistleri için ilk bakışta bu büyük bir nimet gibi görünse de, bunu bilen zararlı yazılım geliştiricileri, Allatori gibi gizleme araçlarından (obfuscator) faydalanmaktadırlar. Böyle bir durumla karşılaştığınız zaman statik bayt kod analizi ile ilerlemek iyi bir tercih gibi görünse de, dinamik bayt kod analizinin yerini zaman ve pratiklik açısından tutmayacaktır.
Allatori gibi araçların özelliklerine baktığınız zaman analizi güçleştiren çeşitli özellikler ile donatıldığını görebilirsiniz dolayısıyla kaynak koduna çevirme ve dinamik bayt kod analizi konusunda sıkıntı yaşayacağınız bir gerçektir!
Örneğin aşağıdaki sahte e-posta ile gönderilen JAR dosyasını Java Decompiler aracı ile kaynak koduna çevirmeye çalıştığımızda kaynak kodunu görüntülemiyor olmamız bizi pek şaşırtmıyor.

Aynı şekilde Eclipse eklentisi olarak kullanılan ve bir bayt kod hata ayıklayıcısı olan Dr. Garbage Bytecode Visualizer aracı ile de JAR dosyasını çalıştırdığımızda bir hata ile karşılaşmamız da bizi şaşırtmıyor.

Aşağıdaki adımlardan sırasıyla geçerek hızlıca Dr. Garbage araçlarını yükleyebilir ve zararlı JAR dosyasını analiz edebilirsiniz.

Bu tür analizi zorlaştırmaya yönelik yöntemlerden faydalanan Java zararlı yazılımlarına karşı reJ isimli, Java bayt kodunu manipüle etmeye imkan tanıyan araçlardan faydalanabilirsiniz. Örneğin reJ aracı ile Ref Axess 5150228026.jar dosyasını incelediğimizde Main fonksiyonunda tanımlanan çok sayıda istisnanın (exceptions) şüpheli olduğu dikkatimizi çekiyor. İstisna listesini kısaltıp kayıt ettikten sonra bu Java dosyasını başarıyla Dr. Garbage'nin bayt kod hata ayıklama aracı ile analiz edebildiğimizi görüyoruz. Bundan sonrasi ise artık ilgili yerlere kesme noktası (breakpoint) koymaya ve analiz etmeye kalıyor.

Java ile geliştirilen zararlı yazılımları analiz etme konusunda elinizin, kolunuzun bağlı olmadığını bilmeniz adına yazdığım bu yazı, umarım sizler için faydalı olmuştur. Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Bilinen Tehditlere Karşı Antivirüslerin Durumu

Source: https://www.mertsarica.com/bilinen-tehditlere-karsi-antiviruslerin-durumu/
By M.S on June 1st, 2015

Son kullanıcı, sistem güvenlik yöneticisi, bilişim güvenliği uzmanı da olsanız, zaman zaman şu soruyu kendinize sorduğunuz oluyordur; Hangi antivirüs yazılımını kullanmalıyım ? Bilindiği üzere antivirüs yazılımlarının temelinde imza tabanlı bir teknoloji yatmaktadır bu nedenle yeni çıkan tehditlere karşı antivirüs yazılımı üreticisinin kısa bir süre içinde imza oluşturması ve bunu dünya genelindeki kullanıcılarına yaygınlaştırması, kullanıcıları açısından bilinen tehditlere karşı sistemlerini koruyabilme adına büyük bir öneme sahiptir. Dolayısıyla bir antivirüs yazılımını değerlendirirken, onlarca önemli kriterden bir tanesi de, bu antivirüs yazılımının veritabanının, bilinen tehditlerin ne kadarını tespit edebildiği, ne kadar güncel olduğudur.

Evvel zaman içinde, sistem ve bellek üzerinden ileri seviye bilinmeyen zararlı yazılımları imzasız, davranışsal analiz yaparak tespit edebilen bir güvenlik ürününü değerlendirmek için çeşitli testler (POC - proof of concept) yaparken, antivirüs yazılımınlarının yetersiz olduğu noktalarda bu ürünün katma değerini ortaya çıkarmaya çalışıyordum. Bunun için de antivirüs yazılımlarının tespit edemediği fakat bu ürün tarafından davranışsal analiz ile tespit edilen ileri seviye zararlı yazılımlara ihtiyaç duymuştum.
Bu çalışmanın akabininde, antivirüs yazılımlarının bu zamana kadar tespit edilmiş olan APT zararlı yazılımlarını tespit etmede ne kadar başarılı olup olmadıklarını da öğrenmeye karar verdim. Mevzu bahis ileri seviye zararlı yazılımlar olunca aklıma hemen Mandiant'ın 2013 yılının Şubat ayında yayınlamış olduğu ve 2006 yılından raporun yayınlanmasına kadar geçen sürede Çinliler tarafından gerçekleştirilen ve ileri seviye saldırıları konu alan APT-1 raporu gelmişti. Mandiant sağolsun bu raporun yanında tespit ettikleri zararlı yazılımların md5 hash bilgilerini (1007 tane) de ek rapor olarak paylaşmıştı. 1007 tane zararlı yazılıma, testlerde kullanmak için ulaşmak pek mümkün olmasa da VirusShare sitesi sayesinde 293 tanesine ulaşmak mümkün olmuştu.

Tabii 293 tane zararlı yazılımı teker teker VirusTotal sitesine yüklemek ve her birinin sonucuna bakmak pratikte mümkün olamayacağı için hem merakımı gidermek hem de benzer nedenlerden ötürü bu tür bir çalışmaya ihtiyaç duyanları da düşünerek Python ile iki tane araç hazırlamaya karar verdim.
Hazırladığım ilk araç olan Virustotal Mass Uploader (vt_mass_uploader.py) aracı ile elinizde bulunan birden fazla zararlı yazılımı VirusTotal sitesine yükleyebiliyorsunuz. Bunun için aracın bulunduğu klasörde malwares adında bir klasör oluşturmanız ve yüklenmesini istediğiniz zararlı yazılımları bu klasöre kopyalamanız yeterli oluyor.

Hazırladığım ikinci araç olan VirusTotal Reporter (vt_reporter.py) aracı ise VirusTotal Mass Uploader aracının çıktısı olan vt_report.txt dosyasını okuyarak VirusTotal'a yüklenen zararlı yazılımların raporlarını zararlı yazılımın adı.txt olarak diske yazmaktadır. Bu dosyalardan hangi antivirüs yazılımının ilgili zararlı yazılımı tespit edip edemediği görülebilmektedir.

Mandiant'ın 2013 yılında yayınlanan APT raporunda yer alan 293 zararlı yazılımı yukarıdaki araçlar ile VirusTotal'a yükleyip, popüler antivirüs yazılımlarının hangilerini tespit edip edemediğine baktığımda ortaya çıkan tablo beni biraz şaşırttı.

2 sene önce yayınlanan bir rapora rağmen antivirüs yazılımlarından bazılarının 25.05.2015 tarihi itibariyle hala bu zararlı yazılımları tespit edemediği açıkça görülüyor. Örneğin Clamav antivirüs yazılımı 293 tane zararlı yazılımdan 20 tanesini, Panda ise 18 tanesini, Bitdefender ve F-Secure ise 14 tanesini tespit edemiyor. Tabii bu zararlı yazılımlardan bir tanesinin ip ve port taramak için kullanılan Angry IP Scanner olduğunu söylemem lazım dolayısıyla 293/293 tespit eden bir antivirüs yazılımı olsaydı bu defa da çok doğru bir sonuç olmayacaktı. Bu örneklem sonucunda ortaya çıkan tabloya göre Symantec, ESET-NOD32 ve Sophos'un diğer antivirüs yazılımlarına göre imza ile bilinen tehditleri tespit etmede daha başarılı olduğunu söylersek yanlış olmayacaktır.
Yaptığım bu çalışmanın antivirüs yazılımlarını değerlendirmek isteyenlere, hangi antivirüs yazılımını kullanmalıyım sorusuna yanıt arayanlara yol göstereceğini ümit ederek, bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Hash Uzunluk Genişletme Saldırısı

Source: https://www.mertsarica.com/hash-uzunluk-genisletme-saldirisi/
By M.S on May 11th, 2015

Sızma testi uzmanları ve kripto analistler tarafından Merkle–Damgård hash fonksiyonlarının (MD5, SHA-1, SHA-256, SHA-512 vb.) uzunluk genişletme (length extension) saldırısından doğası gereği etkilendiği bilinmektedir. Bu hash fonksiyonlarının MAC (mesaj doğrulama kodu) olarak kullanıldığı durumlarda ortaya çıkan zafiyet kötüye kullanılarak gizli anahtar (secret key) bilinmeden geçerli bir MAC oluşturulabilmektedir.

Bir örnek ile kısaca açıklamak gerekirse, diyelim ki yazılımcının biri aşağıdaki gibi bir web uygulaması hazırlamış olsun. (Pi Hediyem Var #2 Hacking Oyunu)

" . $username; // print "
" . $secret; if(hash("md5",$secret.$username) == $hash){ $pos = strpos($username, "admin"); if ($pos !== false) { print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)"; print "

Pi Hediyem Var çekilişine katılmak için bu ekran görüntüsünü ve çözüm yolunu Mert SARICA ile paylaşabilirsin"; } else { print "Merhaba $username , hala sefil kullanıcı yetkisine sahipsin :("; print "

Raspberry Pi 2 çekilişine katılabilmek için admin yetkisi ile giriş yapabilmen lazım!"; print "
Referans: https://www.mertsarica.com/pi-hediyem-var-2/"; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } ?>
Bu uygulama, doğrulama adımından geçen (geçtiyse örnek kullanıcımız mert olsun) ve geçmeyen her bir kullanıcıya (geçmediyse örnek kullanıcımız misafir olsun), o kullanıcıya özel olarak oluşturulan bir $hash değeri atıyor. Bu $hash değerini de, MD5(kullanıcı adı ($username) + sunucu tarafında oluşturulan bir anahtar ($secret)) ile yani hash("md5",$secret.$username) şeklinde oluşturuyor. Kullanıcı, doğrulama adımından geçtikten veya geçmedikten sonra uygulama üzerinde gerçekleştirdiği her işlem için sunucuya artık MAC olarak bu $hash değerini gönderiyor. Bu sayede web uygulaması, gelen her $hash değerini, anlık olarak oluşturduğu hash("md5",$secret.$username) değeri ile kıyaslayarak (hash("md5",$secret.$username) == $hash) kullanıcının yetkili (mert) veya yetkisiz bir kişi (misafir) olup olmadığını anlıyor. Eğer kullanıcı adında (username=) admin kelimesi geçiyor ve anlık oluşturulan MAC ile kullanıcıdan gelen $hash birbiri ile tutuyorsa kullanıcıyı yönetici (admin) sayfasına yönlendiriyor. Alfanümerik, 11 hane uzunluğunda olan $secret değeri de uygulama sunucusunun kaynak kodunda tanımlı olduğu için ($secret = 'H4ck4C4r33r';), art niyetli bir kişinin deneme yanılma saldırısı (brute-force) ile admin kullanıcısının $hash değerini bulması ve admin sayfasına erişmesi pratikte yıllar sürecektir diye düşünüyoruz, ancak yanılıyoruz!

Neden yanılıyoruz çünkü yukarıdaki resimden de anlaşılacağı üzere örnek olarak bir verinin MD5 hashi üretilirken, veri 512 bitlik bloklar halinde işlendikten sonra hash değeri üretilmektedir. Bir blok en fazla 64 bayt uzunluğunda olabilir ve eğer son blok, 56 bayttan küçük ise doldurma (padding) işlemi yapılır. Son bloğun son 8 baytı, blokların boyutunu tanımlamak için kullanılır. İlk blok, IV (initialization vector) ile işleme alınır. Diğer bloklar ise bir önceki bloğun çıktısı ile işleme devam eder. Hash işleminin devam etmesi için bir önceki bloğun çıktısını işleme almak yeterlidir. (length extension)
Kabaca elimizde iki ayrı veri var diyelim, biri ABC diğeri ise AB. Her bir harfin bir blok olduğunu düşünelim. ABC için gerçekleştirilen hashleme işleminde önce A işlenir, çıktısı B'ye girdi olarak iletilir sonra B işlenir, çıktısı C'ye girdi olarak iletilir ve C son blok olduğu için eğer 56 bayttan küçük ise doldurma işlemi (padding) gerçekleştirilir. Ardından A,B ve C bloğunun büyüklüğü toplanarak bit olarak son 8 bayta little-endian olarak yazılır ve işlenerek ortaya bir hash değeri çıkar. AB verisinin hash çıktısına C verisi eklenerek ABC verisinin hash değeri üretilebilir. Bu durum da hash genişletme (length extension) zafiyetine yol açmakta ve kötüye kullanılabilmektedir.

Bu zafiyetin nasıl kötüye kullanılabileceğine kısaca göz atalım;
Web uygulamasının kaynak kodunda aşağıdaki gibi hatalı bir şekilde hash fonksiyonu ile MAC üretildiği ve ardından strpos fonksiyonu ile kullanıcı adında admin karakter dizisi geçiyor ise bu kullanıcıya yönetici yetkisi verildiği görülmektedir.

...
if(hash("md5",$secret.$username) == $hash){
$pos = strpos($username, "admin");
if ($pos !== false) {
print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)";
...

Bu web uygulaması sayfayı ziyaret eden herhangi bir kullanıcıyı, sayfayı ziyaret ettiği zaman otomatik olarak misafir yetkisine (kullanici=misafir) atamakta ve bu kullanıcıya ait $hash değerini kullanıcıya göndermektedir. (hash=44f83d9752e575bfc5bbc28caa5d9ce5)
$username değeri bizim kontrolümüzde olduğuna göre hash kontrolünü atlatmak için $secret değerini bilmeden yukarıda anlatmış olduklarıma göre şunu yapabiliriz. $secret değeri ile $username değeri birbirine eklendiğine (concatenate) göre bunun toplamını 64 bayta tamamlayarak üzerine admin karakter dizisini ekleriz ve ardından bizden beklenen $hash değerini de web uygulamasına göndererek bu kontrolü başarıyla atlatabiliriz.
username olarak kullanılacak olan misafir + padding + boyut + admin değerinin yeni $hash değerini öğrenmek için misafir kullanıcısının $hash değeri olan 44f83d9752e575bfc5bbc28caa5d9ce5 değerinden faydalanabiliriz. Yukarıda da belirttiğim üzere ilk blokta kullanılmak üzere bu hash değerini başlangıç değeri olarak (internal state) kullanarak bu değerin üzerine padding + (misafir + admin)'in uzunluğunu ekleyerek birinci bloğun işlemini tamamlayabiliriz. Ardından ikinci bloğun başlangıç değeri olarak admin karakter dizisini kullanarak yeni $hash değerini (373fb330afbc0b1a5688ff4a3ef1b2a6) öğrenebiliriz. Normalde $secret değerini biliyor olsaydık bunu aşağıdaki gibi Python ile kolaylıkla öğrenebilirdik.

Aslında $secret değerini bilmemize gerek yok çünkü bildiğimiz bir verinin hash değerine, yeni bir veri ekleyerek, yeni oluşan $hash değerini (373fb330afbc0b1a5688ff4a3ef1b2a6) rahatlıkla öğrenebiliriz.

Görüldüğü üzere misafir + admin için yeni $hash değerini $secret değerini bilmeden öğrenebildik. Şimdi sıra $username parametresinde 373fb330afbc0b1a5688ff4a3ef1b2a6 hash değerini üretecek parametreleri oluşmaya geldiğinde şunu yapacağız. $secret değerini bilmiyoruz ancak ilgili $hash değerini üretmek için bilmemize gerek olmadığını artık biliyoruz. Burada sadece iki değerin toplam boyutunu tahmin etmemiz gerekiyor. Bunun için de hash_extender aracından faydalanabiliriz. Bu araca sunucunun bize ilk atadağı/gönderdiği $hash değerini -s parametresi ile, (44f83d9752e575bfc5bbc28caa5d9ce5), hash değerine ait veriyi (yani misafir) ise -d parametresi ile, eklenecek veriyi ise (yani admin) -a ile ve toplum boyutu deneme yanılma ile tespit edebilme adına min ve max parametrelerini vererek kullanabiliyoruz. Program çıktısındaki her bir değeri (bu arada yeni üretilen hash değerinin (373fb330afbc0b1a5688ff4a3ef1b2a6) de bizimki ile aynı olduğunu görebiliyoruz) teker teker uygulama üzerinde denediğimiz zaman $secret değerinin 11 hane uzunluğunda olduğunu ve MAC olarak kullanılan $hash değerini başarıyla tespit edip, kontrolü atlatabildiğimizi görüyoruz.

Yazılım geliştiricisiyseniz, hash uzunluk genişletme (hash length extension attack) zafiyetine karşı kendi MAC kontrolünüzü (custom) oluşturmak yerine HMAC kullanabilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Vardı, Verdim, Gitti #3 :)

Source: https://www.mertsarica.com/pi-hediyem-vardi-verdim-gitti-3/
By M.S on May 5th, 2015

1 Mayıs 2015 tarihinde üçüncüsü düzenlenen Pi Hediyem Var oyununun çözüm yolu ve Raspberry Pi 2 kazanan talihli karşınızda!

ÇÖZÜM YOLU:
Dahi ile deli arasında ince bir çizgi olduğu söylenir.
Aşağıdaki resimde gördüğünüz bir dahi ise, yine bu resimde olan ama göremediğiniz deli kimdir ? sorusu bize aslında bu resim içinde başka bir resmin gizli olabileceğine yani steganografi kullanıldığına dair ipucu veriyordu. Bu ipucundan yola çıkarak Einstein'in resmini (pihaber6.png) Google görseller üzerinde aratarak resmin orjinalina kısa bir sürede ulaşabilirdik.

Steganografi kullanıldığından şüphe ederek resim üzerinde Digital Invisible Ink Toolkit aracı ile RS LSB steganalizi yaptığımızda Red, Green ve Blue renk grubunun değerlerinin orjinaline kıyasla yüksek çıktığını görebilirdik. Bu durum da bize LSB yöntemi ile resim üzerinde bir verinin gizlendiği bilgisini verirdi.
Stegsolve aracı ile

Stegsolve aracı ile Red, Green ve Blue Bitplane değerleri için sıfırı seçtiğimizde karşımıza sayısal görüntü kodlama biçimi olan JPEG başlık bilgisi çıkıyordu. JPEG dosyasının başlangıç (0XFFD8) ve bitiş değeri (0xFFD9) arasındaki veriyi kopyalayıp çalıştırdığımızda ise Einstein'in resmine gizlenmiş bir deli resmi ortaya çıkıyor ve oyunu başarıyla tamamlamış oluyorduk :)

OYUNU BAŞARIYLA TAMAMLAYANLAR: Harun GÜLEÇ, Melih Burak Sarı, Ahmet Cihan
ÇEKİLİŞ ve KAZANAN TALİHLİ: Melih Burak Sarı

Başta kazanan talihli Melih Burak Sarı olmak üzere oyunu başarıyla çözen, katılan, destekleyen, sponsor olan herkese teşekkür eder, yeni oyunlarda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Var! #3

Source: https://www.mertsarica.com/pi-hediyem-var-3/
By M.S on May 1st, 2015

İkincisini geçtiğimiz ay düzenlediğim Pi Hediyem Var hacking oyununun üçüncüsü ile karşınızda olmaktan dolayı oldukça mutluyum!

BGA firmasının sponsorluğunda gerçekleşen üçüncü oyunumda, yine önceki oyunlarda olduğu gibi oyunu başarıyla tamamlayanlar arasında yapılacak bir çekiliş ile 1 adet Raspberry Pi 2'yi bir üniversite öğrencisine hediye edeceğim.

Sabırsızlananlar için lafı uzatmadan, oyuna konu olan ve yanıtını bulduğunuz zaman soruyu da çözmüş olacağınız sorunuz geliyor;
Dahi ile deli arasında ince bir çizgi olduğu söylenir.
Aşağıdaki resimde gördüğünüz bir dahi ise, yine bu resimde olan ama göremediğiniz deli kimdir ?

Daha önce hediye kazanmamış olup çekilişe katılmak isteyenlerin, detaylı çözüm yolunu iletişim formu üzerinden, adı, soyadı, kendini tanıtan bir yazı, okuduğu üniversite ve bölüm, varsa bilişim güvenliği üzerine yapmış olduğu çalışmaları ve Raspberry Pi ile güvenlik üzerine yapmayı düşündüğü çalışmaları anlatan bir yazı ile birlikte,
4 Mayıs 2015 saat 09:00'a kadar bana iletmeleri gerekmektedir.
Oyunun çözüm yolu ve kazanan talihli, ilerleyen günlerde yine bu sayfa ve Twitter hesabım üzerinden duyurulacaktır.
24 saatte bir, Twitter hesabım üzerinden zorlananlar için ipucu yayınlanacaktır.
Şimdiden güle güle ve güvenli günlerde kullanmanız dileğiyle :)

Pi Hediyem Vardı, Verdim, Gitti #2 :)

Source: https://www.mertsarica.com/pi-hediyem-vardi-verdim-gitti-2/
By M.S on April 15th, 2015

Ve 3 Nisan 2015 tarihinde ikincisi düzenlenen Pi Hediyem Var hacking oyununun çözüm yolu ile Raspberry Pi 2'yi kazanan talihli karşınızda!

KAYNAK KODU:

" . $username; // print "
" . $secret; if(hash("md5",$secret.$username) == $hash){ $pos = strpos($username, "admin"); if ($pos !== false) { print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)"; print "

Pi Hediyem Var çekilişine katılmak için bu ekran görüntüsünü ve çözüm yolunu Mert SARICA ile paylaşabilirsin"; } else { print "Merhaba $username , hala sefil kullanıcı yetkisine sahipsin :("; print "

Raspberry Pi 2 çekilişine katılabilmek için admin yetkisi ile giriş yapabilmen lazım!"; print "
Referans: https://www.mertsarica.com/pi-hediyem-var-2/"; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } ?>
ÇÖZÜM:
https://www.mertsarica.com/ctf/ctf2.php sayfasının kaynak koduna bakılarak Et tu, Brute?
(Sen de mi Brütüs) cümlesinden bunun Sezar'a ait bir söz olduğundan yola çıkarak gizlenmiş mesajın Sezar'ın Şifrelemesi ile oluşturulduğunu (ROT-3 kullanılmıştır) tahmin edebilirdiniz. Çözmek için ise Google'dan faydalanabilirdiniz.

Ortaya çıkan aşağıdaki PHP kodundan, Merkle–Damgård hash fonksiyonunun MAC (mesaj doğrulama kodu) olarak kullanıldığının ve bunun da hash uzunluk genişletme zafiyetine yol açtığını anlayabilirdiniz.

...
if(hash("md5",$secret.$username) == $hash){
$pos = strpos($username, "admin");
if ($pos !== false) {
print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)";
...

strpos fonksiyonu ile username parametresinde admin karakter dizisi (string) kullanıldığında, kullanıcıya yönetici yetkisi (admin) verildiği için, hash uzunluk genişletme saldırısından faydalanarak username parametresine admin karakter dizisini manuel olarak veya hash_extender aracı ile (deneme yanılma yöntemi ile secret değişkeninin 11 hane olduğunu bulacaktınız) ekleyebilir, yeni üretilen hash değerini de hash parametresi ile birlikte sunucuya göndererek başarıyla admin yetkisine sahip olabilirdiniz.

https://www.mertsarica.com/ctf/ctf2.php?username=misafir%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%90%00%00%00%00%00%00%00admin&hash=373fb330afbc0b1a5688ff4a3ef1b2a6

OYUNU BAŞARIYLA TAMAMLAYANLAR: Halit Alptekin, Deniz Parlak, Mert Arısoy, Alper DÖM, Melih Burak SARI, Mert TAŞÇI, Harun GÜLEÇ, Ali AĞDENİZ, Selim YILDIZ, Ceylan BOZOĞULLARINDAN, Ertugrul BAŞARANOĞLU, Cihad ÖGE, Kürşat Oğuzhan AKINCI (geç bildirim), Sipke Mellema
ÇEKİLİŞ ve KAZANAN TALİHLİ:

Başta kazanan talihli Ceylan BOZOĞULLARINDAN olmak üzere oyunu başarıyla çözen, katılan, destekleyen, sponsor olan herkese teşekkür eder, yeni oyunlarda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Var! #2

Source: https://www.mertsarica.com/pi-hediyem-var-2/
By M.S on April 3rd, 2015

13 Şubat 2015 tarihinde düzenlemiş olduğum Raspberry Pi hediyeli "Pi Hediyem Var" hacking oyununun olumlu geri bildirimler aldığını gördükten sonra Kadir ALTAN'ın da önerisi ile bu oyunu sponsorların desteği ile devam ettirme kararı aldım. Bu kararı aldıktan kısa bir süre sonra, takım liderim Ahmet TAŞKESER ve BGA firması, hazırlayacağım yeni oyunlar için Raspberry Pi hediye ederek beni oldukça mutlu ettiler.

Ben de zaman kaybetmeden yeni bir oyun hazırlayarak, bu oyunu başarıyla tamamlayanlar arasında yapılacak bir çekiliş ile 1 adet Raspberry Pi 2'yi bir üniversite öğrencisine hediye etmek için hemen kolları sıvadım.
BGA sponsorluğunda gerçekleşen bu oyunumun konusu kısaca şu şekildedir;
https://www.mertsarica.com/ctf/ctf2.php adresinde yer alan web uygulaması, sayfaya giren herkese misafir kullanıcısı adı altında (username=misafir) misafir yetkisi (guest) vermektedir. Misafir yetkisi ile birlikte ayrıca kullanıcıya hash fonksiyonu ile oluşturulan bir MAC (mesaj doğrulama kodu) değeri (hash) de atamakta ve bu sayede kullanıcının bu sayfaya erişim yetkisi olup olmadığını da arka planda kontrol etmektedir. Bu oyunda amacınız, admin yetkisi ile yönetici sayfasına ulaşarak oyunu başarıyla tamamlamaktır.

Daha önce hediye kazanmamış olup, çekilişe katılmak isteyenler, çözüm yolunu iletişim formu üzerinden, adı, soyadı, kendini tanıtan bir yazı, okuduğu üniversite ve bölüm, varsa bilişim güvenliği üzerine yapmış olduğu çalışmaları ve Raspberry Pi ile güvenlik üzerine yapmayı düşündüğü çalışmaları anlatan bir yazı ile birlikte,
6 Nisan 2015 saat 09:00'a kadar bana iletmeleri yeterli olacaktır.
Oyunun çözüm yolu ve kazanan talihli, ilerleyen günlerde yine bu sayfa ve Twitter hesabım üzerinden duyurulacaktır. Ayrıca 24 saatte bir, Twitter hesabım üzerinden zorlananlar için ipucu yayınlanacaktır.
Şimdiden güle güle ve güvenli günlerde kullanmanız dileğiyle :)

RAM Casusluğu

Source: https://www.mertsarica.com/ram-casuslugu/
By M.S on April 1st, 2015

Yaşı yetenler, 2006 yılında yaşanan ve binlerce kredi kartı kopyalanması ile son bulan GİMA vakasını (#1, #2, #3, #4) hatırlayacaklardır. O zamanlarda alışveriş yaptığınız zaman, kredi kartınızı uzattığınız kasiyer, kredi kartınızı alarak POS da dahil olmak üzere mağazanın CRM sistemlerine bilgilerinizi (TRACK / isim, kart no, son kullanma tarihi, cvv2) kayıt etmek için önündeki kart okuyuculara kredi kartınızı okutur ve ardından size teslim ederdi. Gün gelip birileri kart okuyucunun bağlı bulunduğu sisteme zararlı bir kod yerleştirip bu bilgileri kötüye kullanmak için kayıt altına almaya ve kullanmaya başlayınca, GİMA vakası patlak verdi. Bu vaka aslında Türkiye'de kartlı ödeme sistemleri için bir milat oldu çünkü bu vaka sonrasında çipli kartların kullanımı zorunlu hale gelerek TRACK bilgisinin POS cihazları dışında başka cihazlara okutulmasının önüne geçildi. Hatta günümüzde bazı banka POS cihazlarının yan tarafında bulunan kart okuyucusuna kredi kartınızı okutmaya (swipe) çalıştığınız zaman POS cihazının "bu işlem desteklenmemektedir" şeklinde bir hata mesajı ile sizi güvenli ödeme kanalına (çip okuma) yönlendirdiğini görebilirsiniz. Özetle günümüzde alışveriş yaparken çipli kredi kartınızı POS cihazına bağlı olan kart okuyucuya okutursunuz, ardından PIN bilgisini girerseniz ve ardından bu bilgiler POS cihazına gönderilip, işlendikten sonra ilgili bankaya şifreli olarak gönderilmektedir. (Bu işlem esnasında kullanılan POS cihazını, donanımsal saldırılara karşı korunaklı, kapalı bir kutu gibi düşünebilirsiniz.)

Track bilgisinin dolandırıcılar tarafından papağan dediğimiz manyetik kart okuyucular ile rahatlıkla okunabileceğini ve kopyalanabileceğini asla unutmayın bu nedenle mağazalarda veya restaurantlarda kredi kartınızı POS cihazına kendiniz takmaya önem gösterin.

Bankacılık ve ödeme sistemleri olarak gerimizde olan ABD ve bazı ülkelerde durum ise biraz daha farklıdır. Bu ülkelerde çipli kartlar yaygın olarak kullanılmadığı gibi kredi kartının okutulduğu kart okuyucu ve bunun bağlı bulunduğu POS sistemi (bizdeki kapalı kutu POS cihazı, onlarda Windows üzerinde çalışan POS uygulaması) ilgili mağazanın kullandığı sistemler (windows yüklü bir PC) üzerinde çalışmaktadır. Durum böyle olunca da art niyetli kişiler tarafından ele geçirilen bu sistemlere yüklenen zararlı yazılımlar ile müşterinin kart okuyucusuna okuttuğu TRACK bilgisi, sistemin belleği (RAM) üzerinden çalınabilmektedir. (ram scraping yöntemi)

Bu yöntemden kısaca bahsetmek gerekirse, zararlı yazılımın yaptığı işlem, RAM üzerinde POS uygulaması tarafından kullanılan alanı bulmak ardından REGEX yardımı ile bu alanda kredi kartı numarasını aramaktır. Tabii bu REGEX'e göre 16 haneli numara aramak, hatalı sonuçlar da (false positive) üretebileceği için zararlı yazılım geliştiricileri burada kredi kartı numarasını doğrulamak için LUHN algoritmasından faydalanmaktadırlar.

Luhn algoritması, 1954 yılında, IBM firmasında çalışan Hans Peter Luhn tarafından kredi kartı numarası, IMEI, Kanada sosyal güvenlik numarası gibi numaraları doğrulamak amacıyla geliştirilmiş olan bir formüldür. Bu formül sayesinde kredi kartı bilgisi girilmesi istenen formlarda girilen kartın doğruluğu (TCKN kontrolü gibi düşünebilirsiniz) teyit edilmektedir.

Pratikte art niyetli kişilerin bu yöntemi kullanan bir araç yazmalarının ne kadar zor olabileceğini anlama adına Python ile RAM'i, REGEX ve Luhn algoritmasına göre tarayan ve kredi kartı numarası arayan bir araç hazırlamaya karar verdim. WinAppDbg Python modülü sayesinde yarım saat içinde CC Scanner adında basit bir araç geliştirebildim. (Kaynak kodunu kötüye kullanılmaması adına paylaşmıyorum.) Aracı test etmek için PasteBin sitesinden bulduğum örnek bir kart numarasını Google'da arattım ardından CC Scanner aracının bu kart numarasını RAM üzerinden tespit edip edemeyeceğini kontrol ettiğimde başarıyla tespit edebildiğini gördüm ve görev başarıyla tamamlanmış oldu.

Umarım bu yazı ile bana sıkça sorulan "RAM'den kart bilgisi çalan zararlı yazılımları ülkemizde etkili mi?" , "Biz neden/nasıl oluyor da etkilenmiyoruz ?", "art niyetli kişilerin kullandıkları yöntem nedir ?" , "bu yöntemi kullanmak zor mu yoksa kolay mı?" sorularına yanıt verebilmişimdir.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Sızma Testi Uzmanlığı ve Kariyer

Source: https://www.mertsarica.com/sizma-testi-uzmanligi-ve-kariyer/
By M.S on March 9th, 2015

Yıllardan beri, sıradışı bir meslek olan sızma testi uzmanlığı (ethical hacker / penetration tester) ile ilgili çok sayıda e-posta alıyorum. E-postaların çoğunda da, sızma testi uzmanı olmak istiyorum, nereden ve nasıl başlamalıyım sorusunun sorulduğunu görüyorum. Her birine itinayla cevap yazarken çoğu mesajımda, 2011 yılında yazdığım "Nasıl Ahlaklı Korsan Olunur?" başlıklı yazımı da okumalarını tavsiye ediyorum. Bir sızma testi uzmanı olarak bu yazı ile son yıllarda oldukça popüler ve çekici olan bu meslekte kariyer yapmanın biraz da zorluklarına değinmek istiyorum.

Bu alanda kariyer yapmanın aslında ülkemizde diğer meslek dallarına göre biraz daha zor olduğunu söyleyebilirim. Örneğin tıp fakültesinden mezun olsaydınız, uzmanlık eğitimi için Tıpta Uzmanlık Sınavı'na (kısaca TUS) girdikten sonra belli bir branş üzerine kariyer yapabilir ve bu branşa özel iş ilanlarına başvurabilirdiniz. Ancak mevzu sızma testi uzmanlığı olunca işler bu kadar kolay olmuyor.
Kolay olmuyor çünkü ülkemizdeki iş ilanlarına bakacak olursanız hala sızma testi uzmanlığının, on görevi olan bir güvenlik uzmanının on birinci görevi olabileceğine inanan firmalar olduğunu görebilirsiniz. Halbuki diğer ülkere bakarsanız, sızma testi uzmanlığının kendi içinde bile ayrı uzmanlık dallarına (örnek: web application penetration tester, network penetration tester) ayrıldığını ve bu spesifik alanlarda uzmanların arandığını (#1, #2, #3) görebilirsiniz.
Tabii aynı anda hem güvenlik cihazı yöneten (yoğun bir şekilde operasyon yapanlar), hem PCI denetimi yapan hem de güvenlik politika ve prosedürü hazırlayan bir kişinin sızma testi uzmanı olabileceğine inanan, yıllarca çalışanlarına yatırım yapmak yerine güvenlik cihazlarına, ürünlere yatırım yapan kurumlar, günün sonunda ciddi bir sorun yaşadıkları zaman doğru yolu (uzmanlaşma) ağır bedeller ödeyerek buluyorlar. Halbuki onlardan 5-10 yıl önde olan diğer ülkelere ve kurumlara bakacak olsalar, yıllar sonra başlarına neler gelebileceğini, ne tür uzmanlıklara ihtiyaç duyacaklarını, nelere ve nerelere yatırım yapmaları gerekeceğini az çok görebilirler. (Vizyon)
Özellikle tek kişilik dev güvenlik uzmanı kadrosu arayan kurumların iş ilanlarını gördüğümde çoğu zaman üzülerek tebessüm ediyorum. Bu ilanları, bir hastanenin on farklı alanda, on farklı uzman doktor (ortopedist, kardiyolog vb.) aramak yerine tek bir pratisyen hekim aramasına ve çalıştırmasına benzetiyorum. Olur mu, olur ama günün sonunda sağlık sorunu yaşayanların, daha doğru teşhis ve tedavi adına pratisyen hekimler yerine uzman doktorlara kontrole gittiklerini biliyoruz. (Specialist vs Generalist)
Tabii bu durumun biraz da, sızma testinin sadece araçlarla yapıldığının, bilgi ve birikimin çok da önemli olmadığının düşünülmesinden kaynaklandığını düşünüyorum. Halbuki bu alanda uzmanlaşmak pek o kadar kolay olmuyor. Sadece araçlarla bu işi yapan da kendine sızma testi uzmanı diyor, yıllardır bu alanda araştırma yapan, okuyan ve kendini geliştiren bir kişi de diyor. Eğer iyi araç kullanan o işin uzmanı olabilseydi bugün direksiyon başına geçip iyi araba kullanan herkesin Michael Schumacher olması gerekirdi. Veya sadece bir işi icra etmek, kişiyi o işin uzmanı yapabilseydi, şarkı söyleyen Ajdar ile Sezen Aksu arasında fark olmazdı.
Sızma testi uzmanı olmak için bol bol okumak (2000'li yılların başından bu yana kadar 60 tane teknik kitap okumuşum), bol bol pratik yapmak ve her daim bilgileri güncel tutmak gerekiyor. Misal bir önceki yılın web uygulama zafiyetleri ile bir sonraki yılın zafiyetleri aynı olmayabiliyor dolayısıyla zafiyetlere yol açan kök sorunları anlamak, tespit ve çözüm konusunda önemli bir rol oynuyor. Ayrıca değişen teknolojileri yakından takip etmek ve hızlıca adapte olmak gerekiyor. 4-5 yıl öncesine kadar mobil uygulama sızma testlerine ihtiyaç duyulmazken, bugün en az web uygulama sızma testleri kadar ihtiyaç duyuluyor. Bu gelişim sürecinde, işverenin size özellikle eğitimler konusunda yatırım yapmasının oldukça önemli olduğunu söyleyebilirim. Örneğin bugün SANS firmasından online (on demand) bir eğitim almak istediğinizde eğitim ücretlerinin 4000$ - 5000$ arasında olduğunu görebilirsiniz.
Evet, artık çoğu kurum sızma testi uzmanı arıyor ama kolay kolay bulamıyor. Neden çünkü sızma testi uzmanları ne yazık ki dalda yetişmiyorlar ve kendilerini yetiştirmeleri hiç de kolay olmuyor. Vizyoner kurumlarda çalışan sızma testi uzmanlarının ise değerleri bilindiği ve kendilerine gerekli yatırımlar yapıldığı için kolay kolay iş değiştirmiyorlar. Uzman yetiştirmeyen, çalışanına yatırım yapmayan, maaş konusunda da sıradan bir çalışan ile aynı maaşa sızma testi uzmanı arayan firmaların iş ilanlarının, 6 ay ila 1 sene boyunca açık kaldığını görebiliyoruz. Kimi zaman 6 ay içinde, ne aradığını bilmeyen 4-5 farklı insan kaynakları danışmanlığı firmasından aynı pozisyon için birkaç defa arandığınız bile olabiliyor.
Düşüncelerimin sizleri karamsarlığa sürüklemesini istemem. Siber güvenlik ve sızma testi uzmanlığına artık ülkemizde çok daha fazla önem veriliyor. Eskiden kurumunda sızma testi uzmanı bulundurmayanlar, bugün 5 kişilik sızma testi ekipleri oluşturuyorlar. Talebin arttığı bu yıllarda, bu alanda iyi bir kariyer yapmak isteyen adaylara, tek kişilik dev kadro (nicelik) olmak yerine uzmanlaşmaya (nitelik) önem veren, vizyoner kurumları tercih etmelerini tavsiye edebilirim. Ne de olsa yıllar içinde gideceğimiz nokta Amerika ve Avrupa'dan (uzmanlığa önem veren ülkeler) farklı olmayacak ve uzmanlık daha da kıymetli olacaktır.
Unutmayın, sızma testi uzmanlığı aşçılık gibidir. Günün sonunda elinizde onlarca malzeme (araçlar, istismar kodları, zafiyetler vs.) olur ve bunlardan ortaya gerçekten lezzetli bir yemek çıkarmanız beklenir. Lezzetli yemekler ortaya çıkarmak için ise hem tarifleri (bilgi) iyi bilmeniz hem de kıvamı (beceri) iyi tutturmanız gerekir ve bu da yıllarınızı alır.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Vardı, Verdim, Gitti :)

Source: https://www.mertsarica.com/pi-hediyem-vardi/
By M.S on March 3rd, 2015

Takip edenleriniz, 13 Şubat 2015 tarihinde parola bulma oyunu ile üniversite öğrencisi olan iki takipçime, Raspberry Pi (B Model) hediye etme kararı aldığımı hatırlayacaklardır. Bu yazıda hem talihli iki takipçimi hem de oyunun çözümünü açıklayacağım.

KAYNAK KODU:

ÇÖZÜM:
Crackme.zip ZIP dosyasının şifresi, herhangi basit bir şifre çözme programı ile kolaylıkla bulunabilirdi. (ZIP şifresi: 4141)

ZIP dosyası içinden çıkan Hack4Career.exe programını PEiD aracı ile incelediğinizde bunun UPX aracı ile sıkıştırıldığını görebilir ve yine UPX aracı ile açabilirdiniz.

Yine PEiD ile bu programını incelediğinizde programın Visual C++ ile derlendiğini görebilirdiniz.

Hack4Career.exe programını Immunity Debugger aracı (debugger) ile incelediğinizde 004113A0 fonksiyonunda iki değerin (0x3030 ve 0x7171) XOR işleminden geçirildiğini (XOR işleminin sonucu 0x4141), kullanıcıdan alınan girdi (input) ile ondalık değere çevrilerek (0x4141 değerinin ondalık karşılığı 16705'dir.) karşılaştırıldığını görebilir ve 16705 değerini bana ileterek oyunu başarıyla tamamlayabilirdiniz :)

OYUNU BAŞARIYLA TAMAMLAYANLAR: Kamil Onur Özkaleli, Ali AĞDENİZ, Semih DEMİRCİ, Mustafa ALİ CAN, Musa ANTİKE, Tuğser OKUR, Kenan GÜMÜŞ, Onur ALANBEL, Osman ERÇELİK
ÇEKİLİŞ ve KAZANAN TALİHLİLER:

Başta kazanan iki talihli (Mustafa ALİ CAN ve Ali AĞDENİZ) olmak üzere parola bulma oyununa katılan ve başarıyla tamamlayan herkesi tebrik eder, yeni oyunlarda görüşmek dileğiyle herkese güvenli günler dilerim :)

Evil Pi

Source: https://www.mertsarica.com/evil-pi/
By M.S on March 2nd, 2015

Her yıl olduğu gibi bu yıl da güvenlik firmaları tarafından hazırlanan güvenlik tahminleri raporlarını (örnek) inceleyecek olursanız yine mobil güvenliğin bu raporlarda öne çıktığını görebilirsiniz. Özellikle Android gibi güncellenmesi telefon üreticisinin insiyatifine kalmış olan işletim sistemlerini kullanan kullanıcılar, belki de yıllarca zafiyet barındıran bu sistemler ile yaşamak zorunda kalıyorlar.

Bu durumun kötüye kullanılma senaryolarından bir tanesi, mobil işletim sisteminizde yer alan ve zafiyet barındıran mobil internet tarayıcısı ile ziyaret ettiğiniz zararlı web sitesinde yer alan zararlı kodun, cep telefonunuzda çalışması sonucunda art niyetli kişilerin kontrolüne geçmesi olabilir. Cep telefonunuzu kontrol eden art niyetli kişi veya kişiler, kameranız ile sizden habersiz fotoğraf çekebildiği gibi tüm rehberinizi izinsiz olarak kopyalayabilirler.
Bu tür bir durumla karşılaşmama adına çoğu zaman bilmediğimiz, şüpheli web sitelerini ziyaret etmekten kaçınırız. Fakat aynı dikkati, oturduğumuz bir cafede veya gezdiğimiz bir AVM (alışveriş merkezi)'de yayın yapan kablosuz erişim noktasına bağlanırken göstermeyiz ve bunun da benzer bir sonuca yol açacağı çoğunlukla aklımızın ucundan bile geçmez.
Ben de bu yazı ile güvenilir olmayan kablosuz erişim noktasına bağlanmanın kullanıcılar için ne denli kötü bir sonuca yol açabileceğine, ürettiğim bir senaryo ile dikkat çekmek istedim ve hemen işe koyuldum.
Öncelikle Android 4.2.2 öncesinde tüm Android sürümlerini etkileyen bir zafiyetin (CVE-2012-6636), istismar edilerek nasıl kötüye kullanılabileceğini göstermek istedim. Bunun için Android SDK ile gelen Android Virtual Device (AVD) Manager üzerinde Android 4.1.2 yüklü bir sanal makine oluşturup, öykünücü (emulator) ile çalıştırdım. Ardından Metasploit üzerinde bulunan ve bağlantı kuran internet tarayıcısını ve eklentilerini otomatik olarak algılayıp (user-agent), 21 tane istismar kodu arasından buna uygun istismar kodu göndererek hedef sistem üzerinde uzaktan kod çalıştırmaya imkan tanıyan Auto Pwn modülünü çalıştırdım. Son olarak öykünücüde çalışan Android'in internet tarayıcısı ile Metasploit'in Browser Autopwn modülünün yüklü olduğu adrese bağlandığımda Metasploit üzerinde Meterpreter oturumu başarıyla kurulmuş oldu. Burada ürkütücü olan kısım, meterpreter oturumu üzerinden ses ve görüntü kaydının rahatlıkla yapılabilecek olmasıydı.

İstismar kısmından sonra yazımın asıl konusu olan, güvenilir olmayan bir kablosuz erişim noktasının nasıl ve ne kadar kolaylıkla art niyetli kişiler tarafından kötüye kullanılabileceği sorusuna yanıt bulmaya çalıştım.
Yanıt aramaya başladıktan kısa bir süre sonra aklıma şöyle bir kötüye kullanım senaryosu geldi;

- Art niyetli kişi Ucretsiz_WIFI adında kablosuz ve şifresiz erişim noktası oluşturur.
- Bunun üzerinde bir tane web sunucusu çalışır.
- Erişim noktasına bağlanan kullanıcı, herhangi bir web sitesine bağlanmaya çalıştığında kullanıcı otomatik olarak Browser Autopwn modülü çalışan Metasploit'e yönlendirilir.
- Bağlantı kuran sistem üzerinde bir zafiyet var ise otomatik olarak sistemi hacklenir.

Senaryoyu oluşturduktan sonra bunu pratiğe dökmek için nelere ihtiyacım olacağını düşünmeye başladım ve elimdeki donanımlarla bunu öğrenmek için tekrar işe koyuldum.
İlk olarak hali hazırda elimde bulunan ve üzerinde Kali yüklü olan Raspberry Pi Model B'yi kablosuz erişim noktası olarak çalıştırmak için çalışmalara başladım. Kali'yi kablosuz erişim noktası olarak kullanabilmek için üzerine hostapd ve dnsmasq araçlarını yükledim (apt-get install hostapd dnsmasq).
İkinci olarak kablosuz ağ sızma testleri için biçilmiş kaftan olan Alfa marka AWUS036H model USB adaptörü Raspberry Pi'ye bağlayıp, AccessPoint Infrastructure / Master kipinde (access point olarak çalışabilme özelliği) çalıştırmaya çalıştım. Her zamanki gibi işler yolunda gitmedi. Birincisi Raspberry Pi Model B'nin gücü AWUS036H'yi çalıştırmaya yetmedi. Bu sorun beni yıldıramaz diyerek gittim ve Raspberry Pi Model B+ aldım. Bu defa da AWUS036H Master kipinde çalışmadı meğerse bu adaptör master kipinde çalışmayı desteklemiyormuş. Bu sefer de gidip TP-Link marka WN722N model WIFI USB adaptör aldım ve nihayet donanımsal sorunları aşmış oldum.
Üçüncü olarak dnsmasq ve Apache 404 yönlendirmesi ile bağlanan kullanıcıyı otomatik olarak web sunucusuna yönlendirmek için düzenlemeler yaptım.
Kullanıcının gitmek istediği sayfaya bulunamazsa (404 hata kodu), otomatik olarak yerel web sunucusunun ana sayfasına yönlendirilir. (Örnek: http://www.google.com.tr -> http://www.mertsarica.com/uyari.php (10.0.0.1))

Kullanıcı hangi sayfaya gitmek isterse istesin otomatik olarak yerel web sunucusuna yönlendirilir.

Sıra web sunucusunun içeriğini hazırlamaya geldiğinde, etik olarak erişim noktasına bağlananları web sunucusu üzerinden Metasploit'e yönlendirmek doğru olmayacağı için, kullanıcıların farkındalığını arttırma adına hazırlamış olduğum bir uyarı sayfasına yönlendirmeye karar verdim. Bu sayede hem kullanıcıları bu tür siber saldırılara karşı uyarmış hem de bu tür zararlı erişim noktalarına bağlanan potansiyel kullanıcı sayısını öğrenebilecektim.

Üzerinde WIFI adaptörü takılı olan Raspberry Pi B+ cihazını, Energizer taşınabilir harici şarj cihazına bağlayıp netbook çantama koyduktan sonra o AVM, bu AVM gezmeye başladım.

İki AVM gezdikten sonra Raspberry Pi'ye bağlanan kullanıcı sayısını incelediğimde 79 tane tekil MAC adresi olduğunu ve bunlardan 20 tanesinin de Android 4.4.2'den eski olduğunu gördüm. Bu da bana art niyetli bir kişinin sadece iki AVM gezerek yaklaşık 20 kullanıcının sistemini kısa bir sürede hackleyebileceğini göstermiş oldu.

Bu çalışma ile güvenilir olmayan erişim noktalarının kullanıcılar için ne kadar tehlikeli olabileceğini tek bir senaryo üzerinden ortaya koymaya çalıştım. Umarım farkındalık adına faydalı bir çalışma olmuştur.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Pi Hediyem Var!

Source: https://www.mertsarica.com/pi-hediyem-var/
By M.S on February 13th, 2015

Yazılarımı ve Twitter hesabımı takip edenleriniz, Raspberry Pi ile çeşitli güvenlik araştırmaları ve çalışmaları yaptığımı az çok bilirler. (Bu arada Mart ayının yazısında, Raspberry Pi'yi yine başrolde göreceksiniz :)) Bu araştırmalar ve çalışmalar nedeniyle zaman içinde satın aldığımı Raspberry Pi'nin sayısı dördü bulunca, elimde bulunan 2 adet B model Raspberry Pi'yi, bilişim güvenliği ile ilgilenen ve halihazırda üniversite öğrencisi olan iki takipçime hediye etme kararı aldım.

Noter huzurunda gerçekleşmeyecek olan Raspberry Pi çekilişine katılmak isteyenlerin öncelikle onlar için hazırladığım ufak bir parola bulma oyunu başarıyla tamamlamaları gerekmektedir :). Oyuna katılmak isteyenler, burada yer alan şifreli ZIP dosyasını indirmeli ardından doğru ZIP şifresi ile paketi açmalı ve bu paketin içinde yer alan programı çalıştırdıktan sonra sorulan doğru parolayı tespit etmelidir.
Çekilişe katılmak isteyenler ise bu parolayı ve çözüm yolunu, iletişim formu üzerinden, adı, soyadı, kendini tanıtan bir yazı, okuduğu üniversite ve bölüm, varsa bilişim güvenliği üzerine yapmış olduğu çalışmaları ve Raspberry Pi ile güvenlik üzerine yapmayı düşündüğü çalışmaları anlatan bir yazı ile birlikte, 28 Şubat 2015 tarihine kadar bana iletmeleri yeterli olacaktır.
3 Mart 2015 tarihinde Raspberry Pi'yi kazanan talihliler, bu sayfa ve Twitter hesabım üzerinden duyurulacaktır.
Şimdiden güle güle ve güvenli günlerde kullanmanız dileğiyle :)

Tyupkin’in Anatomisi

Source: https://www.mertsarica.com/tyupkinin-anatomisi/
By M.S on February 2nd, 2015

2 Ekim 2014 tarihinde Malezya'da, 18 tane NCR marka ATM'den bir zararlı yazılım yardımı ile yaklaşık 1 milyon dolar çalındığı haberlere yansıdı. İşin ilginç yanı ise bankalar bu konuda 4 ay önce uyarılmış olmalarına rağmen gerekli önlemleri almamıştı. Ardından 7 Ekim 2014 tarihinde Kaspersky firması, Tyupkin adını verdikleri bu zararlı yazılım ile art niyetli kişilerin ATMlerden yüklü miktarda para çaldığını teknik detayları ile birlikte duyurdu. Bu duyuruda zararlı yazılımın Batı Avrupa'da yaklaşık 50 tane ATM'de tespit edildiği bilgisi de yer alıyordu. VirusTotal'a bu zararlı yazılımın hangi ülkelerden yüklendiği bilgisine bakıldığında ise Rusya başta olmak üzere, ABD, Hindistan, Çin, İsrail, Fransa ve Malezya'da da bu zararlı yazılımın tespit edildiği görülüyordu.

Merak edenleriniz için Tyupkin ATM zararlı yazılımının ATMlere nasıl yüklendiğine ve paranın nasıl çalındığını kısaca açıklamak gerekirse;

- Art niyetli kişi, ATM'ye fiziksel olarak eriştikten sonra önyüklenebilir (bootable) cd veya usb'yi ATM'ye takıyor, ATM'yi yeniden başlatıyor ve oradan uzaklaşıyor.
- İşletim sistemi yeniden başladıktan sonra Tyupkin zararlı yazılımı işletim sisteminde çalışmaya ve komut beklemeye başlıyor.
- Sadece Pazar ve Pazartesi günleri komut kabul eden bu zararlı yazılıma erişmek için gelen kurye, tuş takımına (pin pad) zararlı yazılımın beklediği rakamları (misal 22222) giriyor.
- Tuşlanan bu rakamlar sonrasında ekranda bir oturum kodu (session code) beliriyor. Bu kodu cep telefonu ile operatöre ileten kurye, doğru oturum anahtarını (session key) tuşladıktan sonra zararlı yazılımın özel menüsüne erişiyor.
- Bu menüde ATM'nin hangi bölmesinde ne kadar para olduğunu öğrenen kurye, parayı çektikten sonra kayıplara karışıyor. (Video)

Ocak 2015 itibariyle Tyupkin zararlı yazılımına Türkiye'de de rastlandığı söylentileri kulaktan kulağa yayılmaya başladı. Kimi vakada, art niyetli kişilerin Tyupkin zararlı yazılımını ATM'nin kasasını anahtarla açarak, ki vakada ise kart okuyucunun altını matkapla delerek bulaştırdıkları söyleniyordu. Bu söylentilerin tamamında ise önyüklenebilir CD yerine önyüklenebilir USB kullanıldığı söyleniyordu. Söylentilerde gerçeklik payı olup olmadığını araştırmaya başladıktan kısa bir süre sonra, Türkiye'de tespit edilen Tyupkin zararlı yazılımına (Aralık 2014 tarihinde derlenmiş sürüm) VirusTotal üzerinden ulaşmayı başardım.

Hali hazırda Kaspersky tarafından detaylı bir şekilde analiz edilmiş bu zararlı yazılımı tekrar analiz etmek yerine, sisteme bulaştığının nasıl anlaşılabileceğine dair kilit noktalara hızlıca göz atmaya karar verdim. (Analizi ATM üzerinde gerçekleştirmediğim için analiz esnasında Pin Pad ile bağlantı kurulamamış ve bu nedenle Tyupkin'in tüm izleri sildiği, işlemleri geri aldığı senaryo üzerinden ilerlenmiştir.)
İlk olarak Tyupkin'in dinamik analizi atlatma adına çalıştıktan sonra 10 dakika uykuya geçmesine müdahale ederek (patch) bunu kısalttım.

Analize başladıktan kısa bir süre sonra Tyupkin'in çalışmak ya da çalışmamak işte bütün mesela bu dediği ana kontrol adımına geldim. Burada ATM'nin Pin Pad'i ile bağlantı kurmaya çalışan Tyupkin, bağlantı kuramadığı taktirde hem önyüklenebilir aygıt (cd, usb) üzerinden hem de kendi üzerinden yaptığı değişiklikleri geri almaya başlıyordu. Bu adımlar sayesinde zararlı yazılımın hangi güvenlik yazılımlarını devre dışı bıraktığı da anlaşılabiliyordu. (Kaspersky'nin raporuna göre Tyupkin, McAfee'nin Application Control (SolidCore) yazılımını devre dışı bırakıyordu.)

Zararlı yazılımın çalıştıktan ancak Pin Pad'e bağlanamadıktan sonra hangi adımlardan geçtiğini kısaca açıklamam gerekirse;
Sistem başladıktan sonra çalışabilmesi adına kayıt defterindeki (registry) Software\Microsoft\Windows\CurrentVersion\Run\AptraDebug anahtarına C:\Windows\system32\ulssm.exe değerini yazıyor. (sub_41D940)
Önyüklenebilir aygıt üzerinden oluşturulduğunu tahmin ettiğim C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\AptraDebug.lnk dosyasını (muhtemelen bu da system32\ulssm.exe dosyasını işaret ediyor.) siliyor. (sub_41D750)
Tyupkin, Pin Pad ile bağlantı kuramaz ise daha önce oluşturduğu Software\Microsoft\Windows\CurrentVersion\Run\AptraDebug anahtarını siliyor. Ardından yine önyüklenebilir aygıt üzerinden devre dışı bıraktığı McAfee Application Control'un (SolidCore) servislerinin, sistem yeniden başladığında tekrar çalışabilmesi adına aşağıdaki değişiklikleri gerçekleştiriyor. (sub_41C490)
HKLM\System\CurrentControlSet\services\scsrvc\Start değerini 2 olarak değiştiriyor.
HKLM\System\CurrentControlSet002\services\scsrvc\Start değerini 2 olarak değiştiriyor.
HKLM\System\CurrentControlSet003\services\scsrvc\Start değerini 2 olarak değiştiriyor.

Yine önyüklenebilir aygıt (bootable usb, cd) üzerinden gerçekleştirildiğini tahmin ettiğim bu işlemde, McAfee Application Control (SolidCore), Mcafee Host IPS ve Mcafee Antivirüs yazılımlarına ait olan aşağıdaki dosyaları C:\windows\system32\config klasöründen alıp, C:\windows\system32\drivers klasörüne kopyalıyor. (En başta config klasörüne kopyalamasının sebebi, u dosyaları bulamayan güvenlik yazılımlarının sistem başlangıcında çalışmasını engellemektir.) (sub_41BBF0)
HipShieldK.sys (Mcafee Host IPS sürücüsü),
mfeapfk.sys (Mcafee Antivirüs sürücüsü),
mfeavfk.sys (Mcafee Antivirüs sürücüsü),
mfebopk.sys (Mcafee Antivirüs sürücüsü),
mfehidk.sys (Mcafee Antivirüs sürücüsü),
mfeclnk.sys (Mcafee Antivirüs sürücüsü),
mferkdet.sys (Mcafee Antivirüs sürücüsü),
mfewfpk.sys (Mcafee Antivirüs sürücüsü),
mfenlfk.sys (Mcafee Host IPS sürücüsü),
mfefirek.sys (Mcafee Host IPS sürücüsü)

NCR firmasının Aptra uygulaması ile birlikte dağıttı özelleştirilmiş Solidcore yazılımına ait kayıtları (solidcore.log ve s3diag.log) C:\program files\ncr aptra\Solidcore for APTRA\Logs klasöründen siliyor. (sub_41B450)

Yine önyüklenebilir aygıt üzerinden kopyalandığını tahmin ettiğim Windows\System32\kbd110.dll dosyasını siliyor. (sub_41C490)
Son olarak ise "C:\Windows\System32\cmd.exe" /C ping 127.0.0.1 -n 8 & del /F /S /Q C:\Windows\system32\ulssm.exe komutunu çalıştırarak ulssm.exe dosyasını siliyor. (sub_41C490)
Analizi tamamlamadan önce bu iz silme ve yapılan işlemleri geri alma fonksiyonunun (sub_41C490) başka hangi fonksiyonlardan çağrıldığına (xfref) baktığımda, karşıma çıkan iki fonksiyondan biri dikkatimi çekti. Bu fonksiyonda öncelikle yerel ağ bağlantısı durduruluyor ardından para çekme için izin veriliyor ve ardından 48 dakika sonra izleri silme, işlemleri geri alma (sub_41C490) fonksiyonu çağrılıyor.

Gerçekleştirdiğim bu kısa analiz sonucunda, Türkiye'de görülen Tyupkin ile Kaspersky'nin raporunda yer alan sürüm arasında bazı farklar olduğu görülüyor.
Birincisi, Türkiye sürümünde sadece Mcafee Application Control (Solidcore) değil bunun dışında sürücü dosyalarına bakılacak olursa Mcafee Antivirüs ve Mcafee Host IPS de devre dışı bırakılıyor gibi görünüyor.
İkincisi ise yine Kaspersky'ın raporunda para çekme işlemi gerçekleştirildikten sonra Tyupkin'in kendini sildiğine yer verilmemiş ancak mevcut sürümde böyle bir işlev bulunuyor. (Bu işlev nedeniyle, kurye tarafından ATM'den para çalınmadan önce Tyupkin bulaşmış bir ATM'yi tespit etmek isteyenlerin yapması gereken işlerden ikisi, sistem üzerinde ulssm.exe adlı bir yazılımın çalışıp çalışmadığını kontrol etmek ve bu dosyanın Windows\system32 klasörü altında olup olmadığını kontrol etmek yerinde olacaktır.)
Bu zararlı yazılıma karşı çözüm olarak ATM üzerinde disk şifreleme, fiziksel erişimde ve bağlantı noktalarında iş akışını dahi etkileyebilecek düzeyde radikal kısıtlamalar düşünülebilir.
Kısıtlı zaman ve teknik imkanlar dahilinde (eksikler veya hatalar olabilir) gerçekleştirdiğim bu analizin, Tyupkin'e karşı verilen mücadeleye katkısı olması dileğiyle bir sonraki yazıda görüşmek üzere herkese güvenli günler dilerim.

Su Kaynağı Saldırısı

Source: https://www.mertsarica.com/su-kaynagi-saldirisi/
By M.S on January 2nd, 2015

Watering Hole, Türkçe meali ile su kaynağı saldırısına kurak Afrika'da sıklıkla rastlanmaktadır. Susuzluğunu gidermek için su kaynağına giden hayvanların bir kısmı, bu su kaynağına ev sahipliği yapan timsahlar tarafından karşılanmaktadırlar. Pek misafirperver olan bu timsahların karınlarını doyurmak için tembel tembel suyun altında beklemek dışında başka bir şey yapmalarına gerek yoktur çünkü er ya da geç, susuzluğa yenik düşen hayvanlar, tıpış tıpış su kaynağına gidecek ve suyun altında gizlenen uyuşuk ama akıllı timsahların saldırıları sonucunda öğle yemeği olmaktan kurtulamayacaklardır.

İnternette gerçekleşen su kaynağı saldırılarının da Afrika'da gerçekleşenlerden pek bir farkı yoktur. Susayan hayvanların er ya da geç su kaynağına gitmesi gibi canı sıkılan, gündemi takip etmek isteyen çok sayıda kullanıcının da gün içinde haber, alışveriş, eğlence, magazin sitelerini ziyaret ettiğini bilen art niyetli kişiler, bu siteleri veya bu sitelerin içerik aldığı diğer siteleri/sistemleri (misal reklam siteleri, cdn vs.) hackleyerek, uyuşuk ama akıllı timsahlar gibi kurbanlarının, ayaklarına gelmelerini beklemektedirler. Hackledikleri sitelere zararlı kodlar yükleyen art niyetli kişiler, bu siteleri ziyaret eden kullanıcıların internet tarayıcılarında ve/veya eklentilerinde bulunan olası zafiyetleri (yaması geçilmemiş internet tarayıcısı, flash player, java vb.) istismar ederek bu kullanıcılarının sistemlerine zararlı yazılım yüklemektedirler.

Reklam olarak nitelendirilebilecek yazılar yazmamaya özen gösteren biri olarak, yazının devamında Fireeye NX cihazından bahsetmemin sebebinin, cihazın teknik olarak bu yazıya olan olumlu katkısı olduğunu belirtmek isterim.

Elinin altında Fireeye NX gibi kum havuzu analizinden faydalanarak ağ üzerinden zararlı yazılım tespiti yapabilen cihazı olanlar, 27 Kasım tarihinde Sözcü Gazetesi kaynaklı bir alarmla karşılaşmışlardır. Fireeye NX cihazı tarafından üretilen PCAP trafik dosyası ve analiz raporu incelendiğinde, Sözcü Gazetesi'nin web sitesinde yer alan reklam içeriğinin çekildiği bir sitenin (static.adhood.com/passbacks/sozcu_east/sozcu_east_passback_728x90.html) hacklendiği anlaşılabiliyordu. Analiz raporunda yer alan Macromed\Flash\Flash32_12_0_0_77.ocx bilgisi sayesinde, istismar kodunun Flash Player yazılımı ile ilgili olduğu ve zafiyet barındıran Flash Player yazılımı istismar edildiğinde de, kullanıcıyı http://82.146.32.54/noadboa2/load.php adresine yönlendirildiği anlaşılıyordu.

Bunun üzerine analiz raporunda yer alan SWF uzantılı Flash Player dosyasını incelemeye ve bunun hangi zafiyeti istismar ettiğini öğrenmeye karar verdim. İlk iş olarak Fireeye tarafından bu trafiğe özel olarak ürületilen PCAP dosyasını Wireshark ile açtım. Ardından bu dosyadan çıkardığım (File -> Export Objects -> HTTP) SWF dosyasını 440998.swf adı altında diske kaydettim.

İşi gereği güvenlik testleri veya zararlı yazılım analizi ile ilgilenenler veya hobi olarak merak duyanlar, SWF dosyasının Flash Player sanal makinesi tarafından, çalışma esnasında derlenen bir baytkoddan (interpreted) oluştuğunu, bu nedenle SWF dosyasının Sothink SWF Decompiler, Flash Decompiler Trillix gibi ücretli ve JPEXS Flash Decompiler gibi ücretsiz araçlar ile kaynak koduna çevrilebildiğini biliyorlardır.

Her ne kadar kaynak koduna çevirme işlemi, statik kod analizi için yapılıyor olsa da, Sothink SWF Decompiler gibi araçlar, bayt kodunu kaynak koduna çevirdikten hemen sonra bu SWF dosyalarını da çalıştırdıkları için sanal makinede yapılmayan bu kaynak koduna çevirme işlemi, sisteminizde istismar kodunun çalışmasına sebep olabilir bu nedenle çok ama çok dikkatli olmanız gerekmektedir!

Flash Decompiler Trillix ile kaynak koduna çevirme işlemi başarısızlıkla sonuçlandıktan sonra Sothink SWF Decompiler aracı ile SWF dosyasını kaynak koduna çevirip, kodu incelediğimde herhangi bir zararlı koda rastlayamadım.

Ücretli kaynak koda çevirici yazılımların çuvalladığı noktada JPEXS Flash Decompiler aracına bir şans vermek istedim. SWF dosyasını bu araçla açtığımda, BinaryData kısmında başka bir SWF dosyası daha olduğunu gördüm. Bunu da açıp içine baktığımda ise bunun DOSWF isimli bir araç ile şifrelendiği ve gizlendiğini gördüm.

440998.swf isimli dosyayı VirusTotal sitesine yüklediğimde, 55 tane Antivirüs yazılımından sadece 2 tanesinin bunu zararlı yazılım olarak tespit edebiliyordu. VirusTotal analiz raporunun File detail bölümünde, bu SWF dosyasının DOSWF programı ile gizlendiği, şifrelendiği ve DOSWF programının Username:zlaszloflash@yandex.ru.fr adına lisanslı olduğunu gördüm. "zlaszloflash@yandex.ru.fr" e-posta adresini Google'da arattığımda bu defa başka bir VirusTotal analiz raporu ile daha karşılaştım ve bu analizin yorumlar (comments) kısmında burada kullanılan istismar kodunun CVE-2014-0569 zafiyetini istismar ettiği bilgisine yer verilmişti.

ZDI'ın web sitesinde, CVE-2014-0569 zafiyetinin casi32 fonksiyonu ile ilgili olduğu bilgisine yer verilmişti. JPEXS aracı ile SWF dosyasının baytkodunu incelediğimde, bu istismar kodunun casi32 fonksiyonunda bulunan tamsayı taşması (integer overflow) zafiyetini istismar ettiğini gördüm.

İstismar kodunun kalbine yani kabukkoduna ulaşmak için öncelikle sanal makineye Flash Player v12.0.0.77 (flashplayer12_0r0_77_winax.exe) sürümünü kurdum. Daha sonra Internet Explorer internet tarayıcısı ile 440998.swf dosyasını çalıştırıp, Immunity Debugger hata ayıklayıcısı ile incelemeye başladım. Immunity Debugger üzerinde yeni DLL yükleyince durakla özelliğini aktif hale getirdikten kısa bir süre sonra bellekte 9090909090 baytlarını aratarak kabukkoduna kolayca ulaşabildim.

Ortaya çıkan kabukkodunu incelediğimde, bunun dinamik analizden de anlaşıldığı üzere bir HTTP indirici (downloader) kabukkodu (shellcode) olduğu rahatlıkla anlaşılıyordu. Kabukkodu ile indirilen zararlı yazılımı, VirusTotal sitesinde analiz ettirdiğimde, bunun şifre çalan bir zararlı yazılım olduğu ve çok sayıda antivirüs yazılımı tarafından hali hazırda tespit edilebildiği ortaya çıktı.

Kıssadan hisse, bu vakada da olduğu gibi su kaynağı saldırıları, günümüzde art niyetli kişiler tarafından sıklıklıkla kullanılan yöntemlerden sadece bir tanesidir. Özellikle bu yönteme karşı çalışanlarını korumak isteyen, olası bir sızma girişiminden haberdar olmak isteyen kurumlar, sıkı güvenlik politikalarının yanı sıra kum havuzu analizinden faydalanan sistemleri de mevcut güvenlik sistemlerine ek olarak değerlendirebilirler.

Tabi bu tür sistemlerin kur ve unut türü sistemler olmadığını dolayısıyla bu sistemleri yönetecek veya SOME gibi faydalanacak ekiplerin, zararlı yazılım analizi bilgi ve becerisine sahip olmaları gerekeceğinin de altını çizmekte fayda var.

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