Merhaba arkadaşlar, zaman buldukça bir şeyler karalamaya devam ediyorum. Incident Response ile karşıma çok çıkmaya başlayan bir yöntemi sizlerle paylaşmak istiyorum. Bu yöntem aslında Windows üzerinde default olarak kurulu gelen ActiveX teknolojisini manipüle ediyor.
Başlamadan önce aslında ActiveX teknolojisi nedir ona ufak bir değinelim. ActiveX, Microsoft tarafından 1996 yılında Windows kullanıcıları için geliştirilmiş bir teknolojidir. Bu teknoloji internet tabanlı uygulamaların, oyunların vb. çalıştırılmasını sağlar. Ek olarak kendi bünyesinde bazı pluginler mevcuttur. Eskiye dönüp baktığımızda aktif olarak saldırıların bu teknoloji üzerinden yapıldığını görebiliriz.
Windows’ta bir dosyanın biçimi dosya uzantısı ile belirlenir. Dosya uzantılarının ilişkilendirmelerini kontrol etmek için Windows 10 üzerinden “Ayarlar – Uygulamalar – Varsayılan Uygulamalar” yolu izlenebilir.
Yukarıda gördüğümüz gibi Powershell yani ps1 uzantılı dosyalar varsayılan olarak Not Defteri ile açılmaktadır. Bir saldırgan sosyal mühendislik yolu ile hedefe powershell scripti gönderdiğini düşünelim. Hedef Powershell script’ine iki kere tıklasa bile çalıştıramayacak ve karşısına not defteri açılacaktır. Bu nedenle hedefi çift tıklamaya ikna edebilseydik bile oluşturduğumuz scripti çalıştırtamayacaktık.
Fakat yukarıda gördüğünüz gibi JS dosya uzantılarının varsayılan olarak “Microsoft Windows Based Script Host” olarak geldiğini görüyoruz. Yani bu hedefi bir JS dosyasına çift tıklatırsak çalıştırabileceği anlamına geliyor.
Eee Peki Bundan Sonra Ne Olacak?
Bundan sonra ise ActiveX teknolojisi devreye girecek. Bu teknolojiyi kullanarak CMD ile etkileşim kurmayı deneyeceğiz. Aşağıda belirtilen kod parçacığı ile bu teknolojiyi kullanarak ActiveXObject objesi ile CMD’yi tetiklemeye çalışacağız.
var shell = new ActiveXObject("WScript.Shell")
var res = shell.Run("cmd.exe");
Gördüğünüz gibi CMD ekranına erişim sağlayabildik. Ek olarak JS dosyası çalıştığı gibi işlemini sonlandırır ve bu şekilde arka planda çalışan süreçlerde JS dosyasını göremiyor oluruz. Peki şimdi olayı biraz daha ileriye nasıl taşıyabiliriz?
Düşünün ki bir JS uzantılı script yazıyorsunuz ve bunu bir yöntem ile hedefe iletiyorsunuz. Hedef script’e çift tıklaması ile istediğiniz zararlı yazılım sisteme bulaşıyor. Evet aşağıda gördüğünüz JS scripti aslında tam olarak bunu yapıyor. Saldırganın belirlemiş olduğu uzak sunucuya bağlantı yapıyor ve zararlı yazılımı sistem üzerine indiriyor. Sonrasında ise otomatik olarak bu zararlının çalıştırılmasını sağlıyor.
YUkarıdaki ekran görüntülerinde de gördüğünüz gibi hedef aslında istek dışı bir sunucuya istek yapıyor ve oradan bir EXE indiriyor. Sonrasında da saldırgan tarafından meterpreter shell elde ediliyor.
Toparlayacak olursak aslında bu yazımda sizlere varsayılan olarak sistemlerde yüklü bulunan ActiveX ile saldırganların neler yapacağını ufak göstermek istedim. Bu saldırılar saldırganın düşüncesine göre şekillenebilir. Biliyoruz ki çoğu kişi Group Policy üzerinden CMD ve Powershell gibi komut satırı uygulamalarını devre dışı bırakıyor. (Bu şekilde de olması gerekli tabi ki) Fakat saldırgan veya kötü bir çalışan bu yöntem ile CMD veya Powershell erişimlerini bypass edebilir. Bu yüzden cihazlarda yüklü olan ActiveX’i iyi kontrol ediyor olmakta burada çok önemlidir.
Bir sonraki yazımda görüşmek üzere, güvenli günler
Merhaba, diğer bir sızma yöntemi olarak powershell’i yönetici olarak bir kısa yol oluşturduktan sonra “Administrator:Powershell” tarafından firewall, anti-virus sistemleri devre dışı bırakılarakda sızılabilir.
Bunu digispark bad usb gibi mini aygıtlar tarafından kolayca yapılabileceğini düşünüyorum.
Ancak powershell yukarıda ki gibi administrator olarak başlatılabiliyor mu iletişime geçebilir misiniz?