Windows işletim sisteminin az bilinen bileşenleri olan Windows fiberleri, yalnızca kullanıcı modunda bulunan ve bu nedenle büyük ölçüde gözden kaçırılan, büyük ölçüde belgelenmemiş bir kod yürütme yolunu temsil eder. uç nokta algılama ve yanıt (EDR) platformları. Bu nedenle, saldırganların bilgisayarlara gizlice ulaşmak ve kötü amaçlı yükleri dağıtmak için bunları kullanması mümkündür.
Bu, fiberleri kullanan iki yeni kavram kanıtı (PoC) saldırısı ortaya koyan bağımsız güvenlik araştırmacısı Daniel Jary’ye göre. Black Hat Asia’da bir oturum Perşembe günü.
Liflerin, Windows’un işletim sistemi veya bir uygulamadan kod yürütmek için kullandığı standart “iş parçacıklarına” bir alternatif olduğunu açıklıyor.
Dark Reading’e şunları söylüyor: “İş parçacıkları, aslında bir Windows işlemi veya uygulama içindeki çalışanlar gibidir ve geleneksel olarak her zaman kod yürütmenin ve işleri halletmenin yolu olmuştur.” “Fakat bunu yapmanın daha niş bir yolu var, lifler aracılığıyla.”
Fiberler: Unutulan ve Gözden Kaçan Bir Windows İşletim Sistemi Yolu
Lifler, kullanıldıkları zaman ipliklerin içinde bulunurlar; bunlar aslında daha büyük iplik konseptinin daha küçük, daha hafif versiyonlarıdır. Lifler başlangıçta geliştirildi CPU’ların daha az çekirdeğe sahip olduğu ve yalnızca belirli sayıda iş parçacığını barındırabildiği bir zamanda. Yüksek düzeyde, küçük olan, geliştiricilerin iş yüklerini tek bir iş parçacığı içinde bölmelerine ve süreçleri daha verimli hale getirmelerine olanak tanıyarak kapasiteyi genişletmenin bir yoluydu.
Jary şöyle açıklıyor: “Ancak bilgisayarlar daha güçlü hale geldikçe ve daha fazla bellekle oynandıkça, senaryoların büyük çoğunluğunda fiberler bir şekilde gereksiz hale geldi.” “İşte bu yüzden pek çok insan onları gerçekten duymadı ve biraz belirsizler, ancak bazı eski eski uygulamalar için birkaç amaca hizmet ediyorlar ve programları diğer işletim sistemlerinden Windows’a taşımanın bir yolunu sunuyorlar. Ve , bazı Windows işlemlerinin kendisi aslında hala fiber kullanıyor.”
Bu nedenle fiberler, hem temel bir Windows işlevi hem de güvenlik ekipleri tarafından gözden kaçırılan bir işlev olmanın şüpheli onurunu yaşıyor. Ayrıca Jary, EDR platformlarındaki ve antivirüs motorlarındaki geleneksel algılama mekanizmalarının bunları görmezden gelme eğiliminde olduğunu ve bu mekanizmaların kötü amaçlı kod yürütmek için mükemmel bir gizli yol haline geldiğini belirtiyor.
Jary, “İş parçacıkları, telemetriyi yakalamak ve algılama oluşturmak için bunu bir kural motoruna göndermek için sistem çağrılarına ve çekirdek modu geri aramalarına bakan EDR aracıları tarafından yoğun bir şekilde izleniyor” diye açıklıyor. “Ancak fiberler tamamen kullanıcı modunda mevcut ve çekirdek koleksiyonunda görünmüyor; dolayısıyla telemetrileri aslında EDR’ler tarafından kaydedilmiyor.”
Fiberlerin radar altında olmamasından yararlanmak için bazı açık kaynak teknikleri halihazırda mevcuttur. Örneğin 2022 tarihli bir PoC, aşağıdakiler için bir yöntemin ayrıntılarını veriyor: Kötü amaçlı kabuk kodunu bir fiberin içine saklamakböylece AV motorlarının çoğundan kaçar.
Diğerleri bunun için yöntemler yarattı çağrı yığını maskelemeBu, saldırganların bir iş parçacığı (bu durumda bir fiber) içindeki kötü niyetli bir yürütme yolunu, yine tespit edilmekten kaçan, farklı, hareketsiz bir fiberin arkasına gizlemesine olanak tanır. Bu teknik, eğer fiberler kullanılıyorsa, her zaman aktif bir fiberin olması ve ardından onu kapatan atıl bir fiberin olması gerçeğinden yararlanır. Bu maskeleme yeteneği, 2022’de Cobalt Strike’ın Artefact Kitine eklendi.
Kötü Amaçlı Fiber Uygulamasında Yeni Sınırlar
Jary, mevcut kötü amaçlı fiber tekniklerini iyileştirmenin mümkün olup olmadığını araştırmaya başladı ve Phantom Thread ve Poison Fiber olarak adlandırılan iki yeni PoC ortaya çıkardı.
Mevcut çekişmeli fiber yöntemlerinin saldırganlar açısından bazı dezavantajları vardır: Bazı göstergeler EDR tespiti için hâlâ kullanılabilir; ve kötü niyetlilik, satır içi olaya dayalı çağrı yığını koleksiyonundan gizlenmez. Ve çeşitli tekniklerin mevcut olduğu hareketsiz fiberlerin herhangi bir koleksiyonu, çağrı yığını maskelemesini ortadan kaldıracaktır.
Phantom Thread, bu fiberlerin iplik gibi görünmesini sağlayarak, bellek taramalarının fiberleri hedefleme yeteneğini ortadan kaldıran yeni nesil bir çağrı yığını maskeleme yaklaşımıdır. Bu, bir fiber oluşturmayı ve ardından onu bir iplik olarak tanımlayacak şekilde yamalamayı içerir. Daha sonra, herhangi bir fiber çağrı yığını göstergesini kaldırmak ve esas olarak fiberleri herhangi bir taramadan tamamen gizlemek mümkün hale gelir.
İkinci PoC olan Poison Fiber, çalışan tüm Windows işlemlerini sıralıyor, kullanımdaki iş parçacıklarına ve ardından bu iş parçacıklarından herhangi birinin fiber kullanıp kullanmadığına bakıyor. Jary, daha sonra “size yükünüzü veya kabuk kodunuzu hareketsiz bir fibere enjekte etme fırsatı sunuyor” diye açıklıyor.
“Herhangi bir zamanda iplik başına yalnızca bir fiber çalıştırabilirsiniz, bu da her zaman yığının başka bir yerinde park edilmiş başka bir atıl fiberin olduğu anlamına gelir” diyor. “Kodumuzu Zehirli Fiber kullanarak çalıştırdığımızda, bu, kodumuzu hareketsiz bir fibere enjekte eder, böylece kabuk kodunu enjekte etmek için iş parçacığını askıya almamız gerekmez; bu, kötü niyetli aktivite için büyük bir göstergedir. Ve, çünkü biz’ Yükü hareketsiz bir fibere enjekte ettik, ardından uygulama bizim için yürütmeyi tetikledi ve biz yürütmeyi kendimiz başlatmadık.” Tekniğin uzaktan kod yürütmeye (RCE) izin verme gibi ek bir faydası da vardır.
Fiberin Rakip Potansiyeline Uyanın
Geliştirilmiş PoC’lerini veya yöntemlere ilişkin ayrıntılı ayrıntıları henüz kamuya açıklamamış olan Jary, her ne kadar belirsiz kalsalar da fiberlerin güvenlik ekiplerinin saldırı vektörleri listesinde yer alması gerektiği konusunda uyarıyor. Başkalarının mevcut açık kaynaklı fiber yürütme yöntemlerindeki dezavantajların üstesinden gelmenin yollarını bulmasının an meselesi olduğunu düşünüyor.
“Fiber’ın alternatif yürütme yöntemi saldırganlar için değerlidir çünkü iş parçacıklarıyla elde ettiğimiz geleneksel telemetri kaynaklarından, özellikle de çekirdek geri çağırmalarından kaçınmamıza yardımcı olur” diyor. “Fiberler bir ayrıcalık yükseltme taktiği değildir ve bir kullanıcı erişim kontrolü (UAC) atlaması değildir. Ancak güvenlik topluluğunun çok daha az ilgi ve dikkatini çeken bir yük dağıtımına olanak tanır. Fiberlerin uygulanması gerçekten basittir. , ancak tespit edilmeleri daha zordur, bu da onları herhangi bir senaryo çocuğunun işletmelere saldırmak için kullanması için mükemmel kılar.”
Jary uygulamayı tavsiye ediyor olgun EDR ürünleri bunlar gibi yeni ortaya çıkan tekniklere karşı sürekli olarak test edilebilir.
“Kırmızı takım üyelerinizle vahşi doğada kullanılan açık kaynaklı fiber yöntemleri hakkında konuşun” diyor. “Saldırganların nelerden hoşlandığını, doğada nelerin popüler olduğunu görmek için biraz araştırma yapın ve ardından bunu araştırma ekibinize ve EDR ürün geliştiricilerinize geri bildirin. Bu, daha iyi savunmalar oluşturmanıza yardımcı olacak ve muhtemelen tehdit avcılarınızın hayatlarını daha da zorlaştıracaktır. hem de biraz daha kolay.”