Gelsemium: tehdit aktörleri ektiklerini biçmeye başlarsa

Sonraki hikaye
Thomas Dupuy, Matthieu Faou

ESET araştırmacıları, sessiz Gelsemium grubundan yeni kampanyalara ışık tuttu

2020'nin ortalarında ESET araştırmacıları, daha sonra Gelsemium grubuna atfedilen birden fazla kampanyayı analiz etmeye başladı ve kötü amaçlı yazılımı en eski sürümüne doğru takip ederken 2014'e kadar uzandığını gördü. Bu kampanyaların Doğu Asya'da ve Orta Doğu'da bulunan kurbanları hükümetleri, dini kuruluşları, elektronik üreticilerini ve üniversiteleri içeriyor.

Bu rapordaki önemli noktalar:

  • ESET araştırmacıları, Gelsemium'un daha önce Operation NightScout olarak bildirilen ve BigNox'a yapılan tedarik zinciri saldırısının arkasında olduğuna inanıyor
  • ESET araştırmacıları, daha sonra Gelsemine, Gelsenicine ve Gelsevirine olarak adlandırılan karmaşık ve modüler bir kötü amaçlı yazılım olan Gelsemium'un yeni bir sürümünü buldular
  • Doğu Asya ve Orta Doğu'daki hükümetleri, üniversiteleri, elektronik üreticilerini ve dini kuruluşları içeren yeni hedefler keşfedildi
  • Gelsemium, 2014 yılından beri faaliyet gösteren bir siber casusluk grubudur

Gelsemium'un hedeflerinin coğrafi dağılımı burada görülebilir Şekil 1 .

 
Gelsemium'un tüm zinciri ilk bakışta basit görünebilir, ancak her aşamada uygulanan kapsamlı konfigürasyonlar, son yük için ayarları anlık değiştirerek anlaşılmasını zorlaştırır. Aşağıda analiz edilen davranışlar yapılandırmaya bağlıdır; sonuç olarak, dosya adları ve yollar diğer örneklerde farklı olabilir. Gözlemlediğimiz kampanyaların çoğu burada tarif ettiğimiz şeyi takip ediyor.

 

Gelsemine: Yerleştirici

Gelsemium'un ilk aşaması, Microsoft Foundation Class kütüphanesi (MFC) kullanılarak C++ ile yazılmış büyük bir yerleştiricidir. Bu aşama, birden fazla aşamanın ikili dosyalarını içerir. Yerleştirici boyutları yaklaşık 400 kB ila 700 kB arasında değişir. Bu sıra dışıdır ve sekiz gömülü yürütülebilir dosya sıkıştırılmamış olsaydı daha da büyük olabilirdi. Geliştiriciler genel boyutu büyük ölçüde azaltmak için statik olarak bağlı zlib kütüphanesini kullanır. Bu büyük boyutlu yürütülebilir dosyanın arkasında, kurban bilgisayarların mimari (32-bit veya 64-bit) veya yetki (standart kullanıcı veya yönetici) gibi farklı özelliklerine göre farklı aşamaları bırakabilen karmaşık ama esnek bir mekanizma gizlenmiştir. Hemen hemen tüm aşamalar sıkıştırılmıştır, PE'nin kaynak bölümünde bulunur ve aynı bileşenin bellek adres alanına eşlenir. 3. görsel Gelsemine bileşenindeki tüm aşamaları gösterir.

 

Gelsenicine: Yükleyici

Gelsenicine, Gelsevirin'i alan ve yürüten bir yükleyicidir. Yükleyicinin iki farklı sürümü vardır; her ikisi de DLL'dir; ancak, Gelsemine'in yürütüldüğü bağlamda farklılık gösterirler.
Yönetici ayrıcalıklarına sahip kurbanlar için Gelsemine, Gelsenicine'i şu adrese bırakır C:\Windows\System32\spool\prtprocs\x64\winprint. (yazdırma işlemcisi için yüklenen kullanıcı modu DLL) daha sonra spoolsv Windows hizmeti tarafından otomatik olarak yüklenir. %WINDIR%/system32 dizini altında bir dosya yazmak için yönetici ayrıcalıkları zorunludur; bu nedenle daha önce bu gereksinim belirtilmiştir.
Gelsemine tarafından hedeflenen standart yetkilere sahip kullanıcılarda, Gelsenicine yönetici ayrıcalıkları gerektirmeyen farklı bir dizinin altına bırakılır. DLL dosyası chrome_elf.dll CommonAppData/Google/Chrome/Application/Library/ altına yerleştirilmiştir.

Gelsevirine: Ana eklenti

Gelsevirine, zincirin son aşamasıdır ve eski örneklerde bulunan DLL adına ve PDB yoluna bakarak geliştiricileri tarafından MainPlugin olarak adlandırıldığını görüyoruz (Z:\z_code\Q1\Client\Win32\Release\MainPlugin.pdb). Ayrıca, savunucuların bu son aşamayı tek başına elde etmeyi başarmaları durumunda, argümanlarının Gelsenicine tarafından kurulmasını gerektirdiği için kusursuz bir şekilde çalışmayacağını da belirtmek gerekir.

Gelsenicine tarafından kullanılan yapılandırma, operatörler tarafından bu ana eklentiye sürüm oluşturmak için kullandığına inandığımız controller_version adlı bir alan içerir. Şekil 4 vahşi doğada gözlemlediğimiz farklı sürümlerin bir zaman çizelgesini sağlar; tarihler yaklaşıktır.

 

Ek Bağlantılar/Araçlar

Araştırmamız sırasında, aşağıdaki bölümlerde açıklanan bazı ilginç kötü amaçlı yazılımlarla karşılaştık.

  • Operation NightScout (BigNox) : Ocak 2021'de, başka bir ESET araştırmacısının Operation NightScout analizi hakkında yazdığı bir makale bulunuyor. Bu bir tedarik zinciri saldırısıdır ve BigNox'un dünya çapında 150 milyon kullanıcıya ulaşan ürün yelpazesinin bir parçası olan; PC'ler ve Mac'ler için bir Android emülatörü olan NoxPlayer'ın güncelleme mekanizmasını hedeflemiştir. Soruşturma, bu tedarik zinciri saldırısı ile Gelsemium grubu arasında bir miktar örtüşme olduğunu ortaya çıkardı. Başlangıçta bu tedarik zinciri saldırısı tarafından hedeflenen kurbanlar daha sonra Gelsemine tarafından hedeflendi. İncelenen farklı varyantlar arasında, makaleden "varyant 2", Gelsemium zararlı yazılımıyla benzerlikler göstermektedir.
  • OwlProxy: Bu modül de iki varyantta (32-bit ve 64-bit sürümleri) geliyor ve sonucunda Windows sürümünü Gelsemium bileşenlerinde olduğu gibi test eden bir işlev içeriyor.
  • Chrommme : Chrommme, Gelsemium ekosistemindeki maceralarımız sırasında bulduğumuz bir arka kapıdır. Gelsemium bileşenleriyle kod benzerlikleri neredeyse yoktur, ancak analiz sırasında küçük göstergeler bulunmuştur, bu da bir şekilde grupla ilgili olduğuna inanmamızı sağlıyor. Aynı C&C sunucusu hem Gelsevirine hem de Chrommme'de bulundu, her ikisi de iki C&C sunucusu kullanıyor. Chrommme, Gelsemium group tarafından da hedeflenen bir işletmenin makinesinde bulundu.

Sonuç

Gelsemium biyomu çok ilginç: çok sayıda uyarlanabilir bileşene sahip birkaç kurban (telemetrimize göre) gösteriyor. Eklenti sistemi, geliştiricilerinin derin C++ bilgisine sahip olduğunu gösteriyor. Bilinen zararlı yazılım araçlarıyla olan küçük benzerlikleri, diğer gruplarla ve geçmiş etkinliklerle ilginç, olası çakışmalara ışık tutuyor. Bu araştırmanın, diğer araştırmacıları grup hakkında yayınlar üretmeye ve bu kötü amaçlı yazılım biyosferiyle ilgili daha fazla kök ortaya çıkarmaya yönlendireceğini umuyoruz.

Uzlaşma Göstergelerinin (IoC'ler) ve örneklerin tam ve kapsamlı bir listesi tam teknik incelemede ve Github'da bulunabilir.
Herhangi bir sorunuz olursa veya konuyla ilgili örnek gönderimler yapmak isterseniz lütfen bizle iletişime geçin: threatintel@eset.com.