Geçtiğimiz hafta siber güvenlik camiasının yakından takip ettiği bir olay oldu. Firefox tarayıcısını etkileyen ancak özellikle Tor kullanıcılarının kullandığı Firefox tabanlı Tor Browser’ı etkileyen bir zero-day exploit yayınlandı.
Trapmine ekibi olarak 0day exploit yayınlanmasını merakla bekleyen bir güvenlik şirketiyiz, yayınlanan 0day exploitleri analiz etmek ve aynı zamanda geliştirdiğimiz teknolojinin imza ve güncelleme gereksinimi duymadan başarıyla engellediğini görmek bizi mutlu ediyor.
Yayınlanan TOR exploitini incelediğimizde zafiyetin SVG elementlerinden kaynaklanan bir Use After Free olduğunu anladık. FireFox tarayıcısı , Internet Explorer’a geçtiğimiz yıllarda eklenen Isolated Heap benzeri bazı güvenlik mekanizmalarına sahip ancak DOM ve SVG elementleri buna dahil değil. Bu yüzden zafiyet bilinen heap spraying ve rop yöntemleri ile exploit edilmiş, sofistike teknikler bulundurmuyor.
Aşağıdaki resimde, VirtualAlloc ve CreateThread çağrımı için kullanılan ROP gadgetları görülebilir;
VirtualAlloc, kabukkoduna (shellcode) çalıştırılabilir bir hafıza alanı yaratmak için , CretaeThread bu alanı çalıştırmak için kullanılıyor.
Kabukkodunu analiz ettiğimizde, sistem üzerinde kalıcılık sağlayan ve zararlı sayılabilecek işlemler yapmadığını gördük. Kabukkodun yaptığı tek işlem, çalıştığı bilgisayarın hostname ve mac adres gibi bilgilerini, hardcoded olarak belirlenmiş bir IP adresine GET request ile göndermesiydi. Bu durum, exploitin, kolluk kuvvetleri tarafından, hedeflenen TOR kullanıcılarını deşifre etmek ve yakalamak için yapılan bir siber operasyonda kullanıldığı izlenimini doğuruyor.
Shellcode içindeki IP adresi (5.39.27.226) ve ws2_32!Connect fonksiyonuna yapılan dolaylı çağrı
GET requesti ve kullanılan custom cookie değeri. Muhtemel botlara veya farklı amaçla gelebilecek ziyaretçilere karşı server tarafında cookie kontrolü yapılıyor.
TRAPMINE kullanıcıları, herhangi bir imza ve güncelleme gerekmeksizin bu yazıda bahsedilen exploite karşı koruma altındadır. Aşağıdaki ekran görüntüsünde, TRAPMINE ‘ ın bu exploiti , Stack Pivot koruması ile tespit ettiği görülmektedir. Detaylarına baktığımızda bir ROP exploitin tekniği olan, Stack Pivoting ile VirtualAlloc fonksiyonu çağrılmaya çalışılmıştır.