PowerPool zararlısı ALPC LPE sıfır-gün açığını istismar ediyor

Sonraki hikaye
Matthieu Faou

27 Ağustos 2018 tarihinde GitHub'da Microsoft Windows'u etkileyen bir sözüm ona sıfır-gün açığı yayınlandı ve enteresan bir şekilde Twitter'da paylaşıldı. 

Bunun koordine edilmiş bir güvenlik açığı ifşası olmadığı ortadaydı ve tweet atıldığı zaman (silindi) bu açığı düzeltecek bir yama da yayınlanmamıştı.

Windows 7'den Windows 10'a kadar olan Microsoft Windows işletim sistemleri bundan etkileniyor ve özellikle Advanced Local Procedure Call (ALPC) özelliğini etkilemesinin yanı sıra, Local Privilege Escalation (LPE) işlemine de izin veriliyor.  LPE, yürütülebilir bir dosya ya da bir işlem vasıtasıyla kullanıcı ayrıcalıklarının yükseltilmesini sağlıyor.  Bu özel durumda, kısıtlanmış bir kullanıcının yönetim hakları kazanabilmesi için yürütülebilir dosyaya izin veriliyor.

Tweet, istismara yönelik kavram ispatı kodunu içeren bir GitHub deposuyla bağlantılıydı. Yalnızca derlenmiş bir sürüm değil; kaynak kodu da yayınlanmıştı.  Sonuç olarak herhangi biri bu açığı değiştirerek "geliştirebilir", tespit edilmesini önleyebilir ve hatta bunu başka kodlarla birleştirerek yeniden düzenleyebilir.

Tahmin edilebileceği gibi, bu açığın PowerPool olarak adlandırdığımız bir grup tarafından kötü amaçlı bir kampanyada kullanıldığını tespit etmemizin üzerinden yalnızca iki gün geçti.  Bu grubun az sayıda kurbanı bulunuyor ve hem uzaktan ölçüm verilerimiz hem de VirusTotal yüklemelerimize göre (yalnızca web arayüzünden elle gerçekleştirilen yüklemeler baz alınarak) hedeflenen ülkeler Şili, Almanya, Hindistan, Filipinler, Polonya, Rusya, Birleşik Krallık, ABD ve Ukrayna'dan oluşuyor.

PowerPool cephaneliği

Bu yeni yalıtılmış grubun elinde halihazırda birçok çeşitli araç bulunuyor.  Bazılarının kısa analizini burada yapacağız.

ALPC Local Privilege Escalation istismarı

PowerPool geliştiricileri, açığı ifşa eden kişi tarafından sağlanan ikili kodu tekrardan kullanmıyorlar.  Kaynak kodunu az oranda değiştirerek yeniden düzenlemişler.

Bu istismar, orijinal yazarı tarafından belgelendi ve güvenlik araştırmacıları ile CERT'ler tarafından ele alındı.

Şekil 1 - Yazarı tarafından istismarın açıklaması 

 Hata, kullanıcının izinlerini doğru şekilde kontrol etmeyen SchRpcSetSecurity API işlevinde yer alıyor. Böylece bir kullanıcı, gerçek izinlerinden bağımsız olarak, C:\Windows\Task içindeki dosyada yazma iznine sahip olabilir.  Bu, yalnızca okuma izinlerine sahip bir kullanıcının, yazma korumasına sahip bir içeriği değiştirebilmesini sağlar.

 

Herhangi bir kullanıcı C:\Windows\Task içerisine yazabileceğinden, bu klasör içerisinde herhangi bir hedef dosyayla sabit bağlantılı olacak şekilde yeni bir dosya oluşturmak mümkündür.  Ardından, bozuk SchRpcSetSecurity işlevini kullanarak bu hedef dosyaya yeniden yazma izni elde edilebilir.  Local Privilege Escalation oluşturmak için, saldırganın üzerine yazılacak hedef dosyayı belirlemesi gereklidir.  Bunun dikkatli bir şekilde yapılması gerekir: dosyanın yönetici haklarıyla otomatik olarak yürütülebilecek bir dosya olması gerekmektedir.  Örneğin, bir sistem dosyası veya düzenli bir görevle güncellenen önceden yüklenmiş bir yazılım olabilir.  Son aşama ise korunmakta olan bu hedef dosya içeriğinin zararlı kod ile değiştirilmesidir.  Böylece bir sonraki otomatik yürütmede zararlı yazılım orijinal haklarına bakılmaksızın yönetici haklarına sahip olacaktır.

PowerPool geliştiricileri "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe"dosyasının içeriğini değiştirmeyi tercih etmişlerdir. Bu, Google uygulamaları için meşru bir güncelleyicidir ve düzenli olarak bir Microsoft Windows görevi tarafından yönetici ayrıcalıkları ile çalıştırılır.

Şekil2 - Google Updater'a yönelik sabit bir bağlantı oluşturulması

Şekil 3 - Google Updater yürütmesinde yetki değişimi için SchRpcCreateFolder istismarı

Yukarıdaki şekilde gösterilen işlem sırası, PowerPool operatörlerinin yürütülebilir GoogleUpdate.exe dosyasına yazma erişimi kazanmasına izin verir. Ardından, aşağıda açıklandığı gibi, güncelleyici bir sonraki defa devreye girdiğinde yönetici ayrıcalıkları elde edebilmek için ikinci aşama zararlı yazılımın bir kopyası bu dosyanın üzerine yazılıyor.

İlk Uzlaşma

PowerPool grubu, başlangıçta bir kurbanla uzlaşmak için farklı yaklaşımlar kullanır.   Bunlardan biri, ilk aşamada eklerinde kötü amaçlı yazılımlarının yer aldığı e-postalar göndermektir. Bunu söylemek için çok erken olabilir, fakat bugüne kadar uzaktan ölçüm sistemimizde çok az olay olduğunu gördük ve bu yüzden PowerPool'un kapsamlı bir spam kampanyasından ziyade, alıcıların dikkatle seçilerek hareket edildiği bir girişim olduğunu düşünüyoruz.

Öte yandan, onların spamlerinin geçmişte tespit edildiğini de biliyoruz. Mayıs 2018'de yayınlanan bir SANS blogpost yazısına göre, zararlı yazılımlarını dağıtmak için Symbolic Link (.slk) dosyaları kullanarak bir aldatmacada bulundular.  Microsoft Excel, hücreleri güncelleyen bu dosyaları yükleyebiliyor ve Excel'i bir PowerShell kodu çalıştırabilmesi için zorlayabiliyor.  Bu .slk dosyaları, spam iletilerinde de dağıtılmış gibi görünüyor. SANS blogpost (SHA-1: b2dc703d3af1d015f4d53b6dbbeb624f5ade5553) ve VirusTotal'de bahsedilen ilk dosya temel alınarak, ilgili spam örneğini bulmak mümkün (SHA-1: e0882e234cba94b5cf3df2c05949e2e228bedd2b):

Şekil 4 - PowerPool spam mesajı

Windows arka kapıları

PowerPool grubu temel olarak iki farklı arka kapı kullanmaktadır: ilk temastan sonra birinci aşamada kullanılan bir arka kapı ve daha sonra muhtemelen en ilgi çekici makinelere yönelik, ikinci aşamada kullanılan bir arka kapı.

Birinci aşama arka kapı

Bu, makinede keşif için kullanılan basit bir kötü amaçlı yazılımdır. İki yürütülebilir Windows dosyası içerir.

Bunlardan ilki ana arka kapıdır.  Bir servis yoluyla süreklilik tesis eder.  Ayrıca %d değerlerinin 0'dan 10'a kadar olduğu, MyDemonMutex%d adında bir mutex oluşturur.  Bu ikili sisteme sabit şekilde bağlı C&C sunucusunun adresini ve proxy bilgisini toplayabilir.  Komutları çalıştırabilir ve makineye dair bazı temel keşifleri gerçekleştirebilir, bu da daha sonra C&C sunucusuna gönderilir. 

Şekil 5 - Proxy bilgilerinin toplanması

Bu yürütülebilir dosyalardan ikincisinin tek bir amacı bulunmaktadır.  Kurbanın sahip olduğu ekran görüntüsünü alır ve MyScreen.jpg dosyasına yazar. Bu dosya daha sonra ana arka kapı tarafından genişletilebilir.

İkinci aşama arka kapı

Bu kötü amaçlı yazılım ilk aşamada, muhtemelen operatörler makinenin daha uzun süre incelenmesi için yeterince ilginç olduğuna inandıklarında indirilir. Fakat, bu kesinlikle üst düzey bir APT arka kapısı değildir. 

Tekrardan, C&C sunucu adresi ikili sistemde sabit şekilde bağlı olduğundan bu hayati yapılandırma öğesini güncelleyecek bir mekanizmaya sahip değildir.  Bu arka kapı, [C&C domain]/cmdpool adresinden komutlar aramakta ve [C&C domain]/upload adresinden ek dosyalar indirmektedir.  Bu ek dosyalar temel olarak aşağıda belirtilen yanal hareket araçlarıdır.

Desteklenen komutlar:

·       Bir komut yürüt

·       Bir süreci bitir

·       Bir dosya yükle

·       Bir dosya indir

·       Bir klasörü listele

JSON formatında gönderilirler. Aşağıdaki örnekler bir komut yürütme ve bir klasörü listeleme talimatlarıdır:

Şekil 6 - Arka kapı komutlarının örnekleri

Yanal hareket araçları

PowerPool operatörleri, ikinci aşamalı arka kapıya sahip bir makineye sürekli olarak erişim sağladıklarında, ağ üzerinde yanal hareket sağlamak için çoğunlukla PowerShell'de yazılmış birkaç açık kaynak aracı kullanırlar.

·       PowerDump: Bu, Security Account Manager (SAM) üzerinden kullanıcı adları ve hash bilgileri alabilen bir Metasploit modülüdür.

·       PowerSploit : Bu, PowerShell'de, Metasploit tarzında bir istismar sonrası çerçevesidir.

·       SMBExec : SMB bağlantıları hash bilgilerini atlatabilmek üzere çalışan bir PowerShell aracı.

·       Quarks PwDump[NF1] : Windows kimlik bilgilerini alabilen bir Windows yürütülebilir dosyası.

·       FireMaster : Outlook, web tarayıcıları ve benzer kaynaklarda depolanan parolaları ele geçirebilen bir Windows yürütülebilir dosyası.

Sonuç

Koordineli bir açıklama süreci dışındaki güvenlik açıklarının ifşası, genellikle birçok kullanıcıyı riske atmaktadır. Bu durumda, Windows'un en güncel sürümü bile, güvenlik açığı ve istismar ortaya çıkarıldığında hiçbir yama yayınlanmadığı için tehlikeye girebilir. CERT-CC bazı azaltıcı etkenler sağlamaktadır fakat Microsoft henüz resmi olarak onları onaylamamıştır.

Bu özel kampanya sınırlı sayıda kullanıcıyı hedeflese de buna aldanmayın; siber suçluların haberleri takip ettiği ve kamuoyuna duyurulur duyurulmaz istismarları kullanma konusunda çalışmaya başladıkları görülmektedir.

ESET araştırmacıları, bu yeni güvenlik açığının herhangi bir kötü amaçlı kullanımını izlemeye devam edecektir.  Uzlaşma Göstergeleri GitHub sayfasında bulunabilir.  Herhangi bir sorunuz veya konuyla ilgili örnek bildirimlerde bulunmak için bize threatintel@eset.com adresinden ulaşabilirsiniz.

Uzlaşma göstergeleri

Tespit adları

·       Win32/Agent.SZS

·       Win32/Agent.TCH

·       Win32/Agent.TEL

·       Win32/Agent.THT

·       Win32/Agent.TDK

·       Win32/Agent.TIA

·       Win32/Agent.TID

C&C sunucuları

·       newsrental[.]net

·       rosbusiness[.]eu

·       afishaonline[.]eu

·       sports-collectors[.]com

·       27.102.106[.]149