Benim gibi bir bankada çalışıyor, tersine mühendislikten keyif alıyor ve bankacılık zararlı yazılımları da özel olarak ilgi alanınıza giriyorsa, analiz etmek için çeşitli örnekler zaman içinde elinize düşüveriyor. Kimi zaman bu bankacılık zararlı yazılımlarını temin etmek işin en zor kısmı olsa da günün sonunda başarıyla analiz edip, yazılım ekipleri ile yakın çalışarak, müşterilerinizi korumak için beyin fırtınaları, çalışmalar yapmak mesleki tatmin adına pahabiçilmez oluyor.

Bu hikaye, 2016 yılının Kasım ayında bir kullanıcının bankacılık işlemi gerçekleştirmek üzere müşterisi olduğu bankanın internet şubesine bağlanıp bilgilerini girdiğinde, daha önce hiç karşılaşmadığı şüpheli bir uyarı mesajı (Sayın kullanıcı! Sitede teknik işlemler yapılıyor. Bilgisayardan, tabletten veya akıllı telefondan yarın girebilirsiniz. Özür dileriz) ile karşılaşması ve bankaya haber vermesi ile başlar. Yapılan incelemede, kullanıcının internet tarayıcısının özellikleri bölümünde, vekil (proxy) sunucu adresi tanımlama kısmında http://valnorak.top/pPkJX8/G7E34.eod adresinin yer aldığı görülür. GF7E34.eod isimli auto-config dosyası incelendiğinde ise hedef alınan bankaların listesi ortaya çıkar. Kullanıcı bu bankalardan birinin internet şubesine gitmeye çalıştığında internet tarayıcısı, kullanıcının trafiğini 194.165.16.35 ip adresinde bulunan vekil sunucuya yönlendirerek banka ile olan iletişim artık art niyetli kişilerin yönlendirdiği vekil sunucu ile gerçekleşmeye başlar. Vekil sunucudan kullanıcıya, bankaya aitmiş süsü verilen sahte sayfalar (response) iletilerek kullanıcının bu sayfalara internet şube girişi için gerekli bilgilerini (kullanıcı adı, parola, sms doğrulama kodu vs.) girmesi sağlanarak müşterinin bilgileri çalınır. Sahte sayfaya yönlendirilen internet tarayıcısının kendinden imzalı (self-signed) SSL sertifika nedeniyle uyarı vermemesi adına da, yönlendirilme öncesinde kullanıcının sistemine TurkSign isimli bir kök sertifika yüklenir. Zararlı yazılım, iz bırakmama adına sistem üzerinde kalıcı (persistency) olmamayı tercih ettiğin için ise sistem üzerinde zararlı yazılımın yürütülebilir (exe) haline rastlanmaz.

Man in the Proxy

Aradan aylar geçtikten sonra 2017 yılının Mayıs ayında, bir başka bankadaki uzman arkadaşın paylaşımı ve bankalar arası siber tehditlerin birlikten güç doğar edasıyla paylaşıldığı bir platformda (BASTM) paylaşılan bir bilgi sayesinde zincirdeki kayıp halka olan yukarıda bahsi geçen zararlı yazılıma ulaşmayı başarabildim. Art niyetli kişiler, kullanıcılara zararlı yazılımı indirtmek için öncelikle sahte bir Flash Player güncelleme sayfası oluşturup, buraya içinde Flash-2017.zip dosyası içinde Flash-2017.js isimli bir dosya yüklemişler. Okunaklı olmayan (encoded) bu dosya çalıştırıldığında, ekrana sahte bir hata mesajı çıkarıp, sonlanıyordu. Zararlı JavaScript Analizi başlıklı yazımı okuyanlar, okunaklı (obfuscated) olmayan bu JScript kodunu hata ayıklama (debugging) yöntemi ile analiz etmeye çalıştıklarında 3 büyük internet tarayıcısında hata aldıklarını göreceklerdir. “WScript is not defined”, “ActiveXObject is not defined” ve benzer durumlarda nasıl hata ayıklama gerçekleştirebileceklerini (debugging) merak edenleri hemen Wscript Hata Ayıklaması başlıklı diğer bir blog yazıma yönlendirebilirim. ;)

Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy

JScript kodunu adım adım hata ayıklama ile analiz ettikten sonra bu kodun http://highetave.xyz/gete14.php?ff1 adresine bir istek gönderdiğini ve her defasında web sunucusundan dönen yanıtın farklı (Server-side polymorphism) olduğunu gördüm. Web sunucusundan dönen yanıt, kod üzerinde yer alan ilgili fonksiyonlar tarafından çözüldükten sonra diske 0c03.exe (md5: dcfb9cab318417d3c71bc25e717221c2) adı altında kayıt ediliyor ve ardından çalıştırılıyordu. Paketlenmiş (packed) 0c03.exe yürütülebilir dosyasını (exe), x64dbg aracı ile paketinden çıkarıp (unpack), diske kayıt ettiğimde ise zararlı yazılımın maskesi yavaş yavaş düşmeye başladı.

Man in the Proxy
Man in the Proxy
Man in the Proxy

Flash-2017.js
MD5: 41B90BEC4B0793FA8485D547C527D8D2
SHA-256: A780E527AF6CEEF907D5CBA7FA45DEC9804B265672DB938C82B62D5637FD6DBB

0c03.exe
MD5: DCFB9CAB318417D3C71BC25E717221C2
SHA-256: 5A2B14AB6F8620C812C6C51A0F4F0E0DB9104682392CB4346AFF688AB346EB0A

Zararlı yazılımın paketten çıkmış halini x64dbg aracı ile analiz etmeye başladığımda ilgimi çeken bazı tespitlerim oldu. Bunlardan bazılarına değinecek olursam;

Zararlı yazılım Türk ve Kore bankalarını hedef almaktadır.
Çalıştırıldığı sistemin dili Türkçe veya Korece değilse kendini sonlandırmaktadır.

Man in the Proxy
Man in the Proxy

Çalıştırıldığı sistem üzerinde bdagent.exe (BitDefender), spideragent.exe (Doctor Web) işlemleri (process) çalışıyor ise, uyuma süresi dinamik olarak hesaplanan sleep() fonksiyonunu pas geçip, anti-kum havuzu (sandbox) adına sistem üzerinde python.exe işlemi çalışıyor mu kontrolü yapıp, sonucu evet ise kendisini sonlandırmaktadır. Sistem üzerinde avp.exe, avpui.exe (Kaspersky) işlemleri çalışıyor ise Base64 ile gizlenmiş (encode) farklı bir adresi vekil sunucu olarak kullanmaktadır. (http://ritakindek.xyz/comitr/conmatr.eew). Eğer sistem üzerinde Kaspersky yüklü değil ise o zaman farklı bir adresi kullanmaktadır. (http://redterma.pw/I2WO6r/5i9XDN9.eet)

Man in the Proxy

Çalıştırıldığı sistem üzerindeki internet tarayıcılarının ön belleğinde (cache) 7 bankamızın internet şubelerinin web adreslerine dair en az iki kayıt bulur ise sonraki adıma geçiyor aksi halde kendini sonlandırıyor. Önceki adımlardan başarıyla geçer ise çalıştırıldığı sisteme TurkSign adında sahte bir kök sertifika yüklemektedir. Ayrıca çalıştırıldığı Windows’un Product ID’sini ve önbellekte tespit ettiği internet şube adreslerini de bails parametresi ile komuta kontrol merkezine göndermektedir.

Man in the Proxy
Man in the Proxy

Sistem üzerindeki internet tarayıcısının vekil sunucu (proxy) adresini yukarıda belirtmiş olduğum ve auto-config dosyasının yer aldığı adreslerden biri ile değiştirerek, internet tarayıcısı tarafından internet şubeye yapılan tüm HTTPS trafiğini art niyetli kişilerin komuta kontrol merkezine (194.165.16.175) yönlendirmesini sağlamaktadır. Bu sayede bankasının internet şubesine gittiğini düşünen banka müşterisi, art niyetli kişilerin hazırlamış olduğu sahte banka sayfasına giriş yapmaya çalışmakta ve tüm bilgilerini art niyetli kişilere göndermektedir. Internet tarayıcısının sertifika hatası vermemesi adına da sisteme yüklenen TurkSign isimli kök sertifikadan faydalanılmaktadır. Müşterinin internet şube giriş bilgileri çalındıktan sonra müşteriye “Sayın kullanıcı! Sitede teknik işlemler yapılıyor. Bilgisayardan, tabletten veya akıllı telefondan yarın girebilirsiniz. Özür dileriz.“ mesajı gösterilmekte ve arka planda art niyetli kişiler kötü emellerini gerçekleştirmektedirler.

Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy
Man in the Proxy

Bu bilgiler ışığında internet şube kullanan son kullanıcılar olarak bu internet bankacılığı zararlı yazılımından korunmak için birincisi bilinmeyen sitelerden dosyalar indirilmemeli ve çalıştırılmamalıdır. İkincisi ise bu zararlı yazılım internet tarayıcısının ön belleğinde internet şube web adreslerini aradığı için Chrome internet tarayıcısı kullananların internet şubeye girerken gizli modu (incognito) kullanmaları, internet explorer, firefox vb. internet tarayıcılarının kullananların ise “çıkışta geçmişi temizleme” özelliğini kullanmalarını tavsiye edebilirim.

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