Siber güvenlik araştırmacıları, Japonya’da bulunan otomotiv, ilaç ve mühendislik, yönetilen hizmet sağlayıcıları gibi faaliyet gösterenlerin de dahil olduğu birden çok sektörde şirketleri hedefleyen APT kampanyaları gözlemlendi.

Kaspersky araştırmacıları tarafından, ilk bulaşmada kullanılan saldırganın sisteminden “DESKTOP-A41UVJV” ana bilgisayar adından türetilen kampanyaya A41APT (APT41 değil) adını verdi. “A41APT” olarak adlandırılan bulgular, APT10 diğer adıyla Stone Panda olarak bilinen APT grubu tarafından, SodaMaster, P8RAT ve FYAnti gibi önceden belgelenmemiş zararlı yazılımları kullanılarak gerçekleştirilen yeni bir saldırı yelpazesini araştırıyor. Kaspersky tarafından ortaya çıkarılan yeni saldırıların Ocak 2021’de meydana geldiği söyleniyor. Saldırının ise SSL-VPN’in zero day güvenlik açıkları kullanılarak veya çalınan kimlik bilgilerinde yararlanarak kötüye kullanılması yoluyla gerçekleştiğidir.

DESKTOP-A41UVJV’den ele geçirilen VPN oturumunun logları

Saldırı kampanyasında 4 dosyasız yükleyici modülünü arka arkaya yüklemek ve şifresini çözmek için dört dosyadan yararlanılır. Birbiri ardına dört dosyasız yükleyici modülünü yüklemek ve şifresini çözmek için dört farklı dosyadan yararlanarak karmaşık yükleme şeması (complicated loading schema) yönetimi kullanılmaktadır.

Ecipekac Teknik Analizi

Saldırganlar tarafından özel olarak kullanılan ve Ecipekac yükleyicinin ikinci katmanında bulunan benzersiz bir dizeden sonra Ecipekac olarak adlandırılan çok katmanlı bir x64 yükleyici gözlemlendi. Dize, ters yönde “Ecipekac” dır.

Sabit kodlu benzersiz dize “ecipekac”

Ecipekac, yeni ve karmaşık bir yükleme şeması kullanır. Son olarak belleğe son yükü yüklemek için dört dosyasız yükleyici modülünü birbiri ardına yüklemek ve şifresini çözmek için aşağıda listelenen dört dosyayı kullanır.

Ecipekac enfeksiyon akışı

 

Dosyalar şunlardır:

Dosya adı MD5 Hash Açıklama
policytool.exe 7e2b9e1f651fa5454d45b974d00512fb DLL yüklemesi için exe
jli.dll be53764063bb1d054d78f2bf08fb90f3 Ecipekac Layer I yükleyici
vac.dll f60f7a1736840a6149d478b23611d561 Şifreli Ecipekac Layer II yükleyici (shellcode)
pcasvc.dll 59747955a8874ff74ce415e56d8beb9c Şifreli Ecipekac Layer IV yükleyici (shellcode)

 

P8RAT ve SodaMaster’ın temel amacı, saldırgan tarafından kontrol edilen bir sunucudan alınan yükleri indirmek ve yürütmek olsa da Kaspersky’nin araştırması, hedef Windows sistemlerinde sağlanan kötü amaçlı yazılımın tam olarak ne olduğuna dair herhangi bir ipucu vermedi.

İlginç bir şekilde üçüncü yük olan FYAnti, QuasarRAT (veya xRAT) olarak bilinen son aşama uzaktan erişim Trojan’ı (Truva Atı) dağıtmak için birbirini takip eden iki katmandan geçen çok katmanlı bir yükleyici modülüdür.

 

Ecipekac: Katman I yükleyici

Ecipekac enfeksiyon akışının I. Katmanı

 

Ecipekac I .katman yükleyicisi, DLL yandan yükleme tekniği aracılığıyla geçerli dizine “jli.dll” adlı kötü amaçlı bir DLL’i yüklemek için normalde Eclipse için IBM geliştirme paketinde paketlenen yasal bir uygulama olan policytool.exe’yi zararlı bir şekilde kullanır. ‘Jli.dll’ dosyası, Ecipekac yükleyicinin ilk katmanı olarak hareket eder. Bu DLL dosyasının birkaç dışa aktarma işlevi vardır ancak bunların tümü, ana yükleme özelliğini taşıyan benzer bir işleve atıfta bulunur. Yükleyici, başka bir DLL’in (‘vac.dll’) sonundan 0x40408 bayt veri okur. 0x40408 veri boyutu sabit kodlanmış bir değer olan 0x40405’ten türetilir ve sekize bölünene kadar artırılır.

 

MD5 f60f7a1736840a6149d478b23611d561
SHA1 5eb69114b2405a6ea0780b627cd68b86954a596b
SHA256 3b8ce709fc2cee5e7c037a242ac8c84e2e00bd597711093d7c0e85ec68e14a4c
Bağlantı süresi 2033-11-13 08:50:03
Dosya tipi MS Windows için PE32 + çalıştırılabilir (DLL) (GUI) x86-64
Derleyici Bağlayıcı Sürümü: 14.13, İşletim Sistemi Sürümü: 10.0
Dosya boyutu 681544 (666KB)
Dosya adı vac.dll
0x66240’ta gömülü veriler
(boyut: 0x40405)
00066240: febe d990 66de 1bc9 75b7 dc2c 3e1f 3ef2
00.066.250: 78d0 0005 5c27 A511 C122 bdf4 15e7 052c
00.066.260: af72 7e08 064c f7b9 70f0 57bf 250a 3b4d
[..skipped ..]
000a6630: ee4b b1f2 294d eea1 290E aba2 6954 130 ° F ‘
000a6640: 1267 9ab3 f8 00 0000

 

Dosyada değişmiş olmasına rağmen ‘vac.dll’ DLL dosyası geçerli ve meşru bir dijital imza ile imzalanmıştır. İlk bakışta dijital imzanın geçerli olması, dosyanın dijital olarak imzalandıktan sonra değiştirilmediğini gösterir.

Dijital olarak imzalanan ‘vac.dll’deki sertifika tablosunun yeniden boyutlandırması ve dijital imzayı etkilememesi için kendi verilerini sertifika tablosuna eklemesidir. Bu teknik, BlackHat 2016’da MS13-098 olarak yayınlandı. I. katman yükleyici, II katman yükleyici kabuk kodunun ‘vac.dll’deki gömülü verilerden şifresini çözer. XOR, AES ve DES gibi çeşitli kripto algoritmaları kullanılmaktadır. Algoritmaların sırası ve kombinasyonu ile şifre çözme anahtarları bir örnekten diğerine farklıdır.

İlk yükleyicide şifre çözme akışı

Örneğin, yukarıda gösterilen örnekte, şifreleme algoritmalarının sırası, ‘0x9F’ sabit kodlu anahtarını kullanan tek baytlık bir XOR, ardından AES anahtarı ’83H4uREKfFClDH8ziYTH8xsBYa32p3wl’ ve IV anahtarı ’83H4uREKfFClD . Ecipekac’ın ilginç bir özelliği, saldırganların bu şifreleme algoritmalarını Windows API kullanmak yerine kendi kodlarında uygulamış olmalarıdır. Saldırganlar, orijinal uygulamaya kıyasla küçük değişiklikler de yaptı. Örneğin, AES algoritmasıyla ilgili işlevde aşağıdaki kodda gösterildiği gibi AES anahtarının üçüncü baytına kasıtlı olarak başvurdular.

AES işlevinde küçük bir değişiklik

Saldırganlar, bahsedilen AES algoritmasının yanı sıra DES algoritmasını da değiştirdiler.

 

Ecipekac: Layer II Yükleyici Shellcode

Ecipekac kullanarak enfeksiyon akışının Katman II’si

Ecipekac Layer II yükleyici, düzensiz parçalarda bir sonraki katman DLL’inin verilerini içeren basit bir kabuk kodudur. İlk olarak kabuk kodu, bu veri kümesindeki “ecipekac” dizesini kontrol eder. Daha sonra aşağıda gösterildiği gibi DLL’in orijinal kodunu oluşturmak için gömülü verilerin her bir parçasını doğru sırada tahsis edilmiş belleğe yeniden yapılandırır ve yükler.

Hafızada bölünmüş PE BLOB için yeniden yapılandırma

 

Daha sonra Ecipekac’ın üçüncü katmanı olan yüklenen DLL’in giriş noktasını çağırır. Araştırmamıza göre bu modülde kullanılan sihirli dizi, her durumda yalnızca “ecipekac” değildir. Bunun yerine birkaç örnekte “9F 8F 7F 6F” ve “BF AF BF AF” kullanıldığını da gözlemlenmiştir.

 

Ecipekac Layer III yükleyici DLL

Ecipekac kullanarak enfeksiyon akışının Katman III’ü

 

Üçüncü katmanın bir sonraki katmanı yükleme yöntemi ilk katmanı andırır. ‘vac.dll’de olduğu gibi dijital bir sertifika kullanılarak imzalanan ‘pcasvc.dll’in sonundan şifrelenmiş verileri okur.

 

MD5 59747955a8874ff74ce415e56d8beb9c
SHA1 0543bfebff937039e304146c23bbde7693a67f4e
SHA256 a04849da674bc8153348301d2ff1103a7537ed2ee55a1588350ededa43ff09f6
Bağlantı süresi 2017-02-24 15:47:04
Dosya tipi MS Windows için PE32 + çalıştırılabilir (DLL) (konsol) x86-64
Derleyici Bağlayıcı Sürümü: 14.13, İşletim Sistemi Sürümü: 10.0
Dosya boyutu 733232 (717KB)
Dosya adı pcasvc.dll
0x87408’de gömülü veriler (boyut: 0x2BC28) 00087408: 98e4 1def 8519 d194 3c70 4e84 458a e34c
00087418: b145 74da c353 8cf8 1d70 d024 8a54 8bde
[.. atlanan ..]
000b3010: 2c1b 6736 8935c d55d 08090 0829 5dfc 735bd35 9000b000
: 44bd35000b30000

 

Kripto algoritmaları yine tek baytlık XOR ve AES CBC modudur. Bu sefer ‘pcasvc.dll’in gömülü verilerinden dördüncü yükleyici kabuk kodunun şifresini çözmek için kullanılır. Bununla birlikte algoritma dizisi ilk katmana göre ters sıradadır. Sabit kodlanmış anahtarlar da farklıdır. XOR anahtarı olarak “0x5E” kullanılırken, AES anahtarı ve IV sırasıyla “K4jcj02QSLWp8lK9gMK9h7W0L9iB2eEW” ve “K4jcj02QSLWp8lK9” şeklindedir.

Ecipekac: Katman IV Yükleyici Shellcode

Ecipekac kullanarak enfeksiyon akışının Katman IV’ü

Araştırmalar sırasında, Ecipekac’ın dördüncü katmanı olarak kullanılan üç farklı türde kabuk kodu bulundu.

Katman IV yükleyici shellcode – birinci tip ilk shellcode türünün prosedürü, Ecipekac Layer II shellcode ile aynı şekilde davranır. tek fark, bu durumda Ecipekac’ın son yükü olan gömülü PE’dir. Birinci tip kabuk kodunun yükü ya “P8RAT” ya da “FYAnti yükleyici”dir. Bu raporun sonraki bölümlerinde bu yüklerin bir analizi sunulmaktadır.

Katman IV yükleyici shellcode – ikinci tip ikinci tür kabuk kodu, diğer yükleyici türlerinden tamamen farklıdır. Bu kabuk kodunun aşağıdaki tabloda gösterilen benzersiz bir veri yapısı vardır.

Ofset Örnek Veriler Açıklama
0x000 90 90 90 90 90 90 90 90 Veri işlemeye geçmeden önce kontrol edilecek sayı.
0x008 0x11600 Şifrelenmiş verilerin boyutu
0x00C A9 5B 7B 84 9C CB CF E8 B6 79 F1 9F 05 B6 2B FE 16 bayt RC4 anahtarı
0x01C C7 36 7E 93 D3 07 1E 86 23 75 10 49 C8 AD 01 9F 6E D0 9F 06 85 97 B2
[atlandı]
RC4 tarafından şifrelenmiş yük (SodaMaster)

 

Bu kabuk kodu, “A9 5B 7B 84” 16 baytlık anahtar ile RC4 kullanarak 0x01C ofsetinde bir yükün şifresini çözmeye başlamadan önce bu veri yapısının başlangıcında “90 90 90 90 90 90 90 90” sihirli numarasının varlığını doğrular. “9C CB CF E8 B6 79 F1 9F 05 B6 2B FE ”. Şifresi çözülen yük “SodaMaster” dır.

Katman IV yükleyici shellcode – üçüncü tip Son Shell kodu türü bir Cobalt Strike aşamalandırıcıdır. Ekim 2019’dan bu yana birkaç farklı Cobalt Strike aşamalı kabuk kodunun kullanıldığı doğrulandı. Ek olarak, gözlemlenen Cobalt Strike aşamalandırıcı örneklerinden bazıları, güvenlik ürünleri tarafından algılanmadan kaçınmak için bunları ortak jQuery isteği olarak gizlemek için kötü amaçlı iletişimlerinin HTTP başlığında bir ayar içeriyor.

JQuery isteğinin kimliğine bürünmek için sabit kodlanmış HTTP başlığı

 

JQuery isteklerini taklit eden C2 iletişimi için HTTP başlığında kullanılan gerçek kodlanmış C2, ilgili bağlantı noktası 443 ile “51.89.88 [.] 126” idi.

Saldırıyı İlişkilendirme:

Araştırmacıların yapmış olduğu araştırmalara dayanarak, APT10 tehdit aktörünün “A41APT” kampanyasının arkasında olduğunu büyük bir güvenle değerlendirilmektedir.

Bu atıf aşağıdaki noktalara dayanmaktadır;
İlk olarak, bir x86 SodaMaster örneğinden sabit kodlu “www.rare-coisns [.] com” URL’i, APT10’un Türkiye’nin finans ve telekomünikasyon sektörlerini hedefleyen etkinliği ile ilgili olarak, VirusTotal göndericisinin coğrafi konumuna da uygun olarak belirtildi.

İkinci olarak, A41APT kampanyasının bir Cylance blog yayınında açıklanan APT10 etkinlikleriyle benzerliği bulunmaktadır. Bunlar arasında CppHostCLR tekniğini kullanan FYAnti yükleyicinin Ecipekac Loader ve FYAnti’nin son yükü olarak kullanılan QuasarRAT bulunmaktadır. Ayrıca, Symantec blog gönderisinde belirtildiği gibi , FYAnti yükleyici .NET yükleyicinin enjeksiyonu için CppHostCLR tekniği ve QuasarRAT, BlackBerry tarafından keşfedilen APT10 grubunun faaliyetlerine benzerdi.

Cylance tehdit araştırma ekibi. Son olarak, APT10 etkinlikleri hakkındaki önceki TIP raporunda özetlenenlerle bazı benzerlikler ve ortak TTP’ler vardır bunlar;

  • Karma veya kripto algoritmalarının Windows API’leri yerine kötü amaçlı yazılım geliştiricileri tarafından bazı değişikliklerle manuel olarak uygulanması.
  • Kripto anahtarları, kripto anahtarlarının bir kısmı, anahtar üretimi, muteks adları vb. Gibi bazı özellikler için hesaplanan karma değerlerin (tamamen veya kısmen) kullanılması.
  • Bellekte bir yük çalıştırmak için DLL yan yükleme tekniğinin kullanması.
  • Kalıcılık ve ayrıca yanal hareket için PowerShell betiklerini kullanması.
  • Etkinliklerini gizlemek için günlükleri kaldırmak için exe kullanması.
  • Kullanıcı adı, ana bilgisayar adı, PID, şimdiki zaman ve diğer özellikler gibi kurban makine verilerinin gönderilmesi. (APT10 arka kapılarına özgü değildir ve çoğu arka kapı ailesinde oldukça yaygındır.)
  • İmplantları, güvenlik araştırmacıları aktörün faaliyetleri ve TTP’leri ile ilgili analizlerini yayınladıktan kısa bir süre sonra değiştirmesi.
  • Japonya ile ilişkili denizaşırı şubeler veya kuruluşların yanı sıra esas olarak Japonya’yı hedefliyor olması

Ancak, A41APT kampanyasında ve önceki etkinliklerde bazı ilginç farklılıklar gözlemlenmiştir bu gözlemler;

  • LilimRAT, Lodeinfo ve ANEL gibi APT10 tarafından kullanılan önceki kötü amaçlı yazılım örneklerinin aksine P8RAT ve SodaMaster bir kötü amaçlı yazılım sürüm numarası içermemesi.
  • Virüs bulaşma vektörüne gelince, APT10 saldırılarında oldukça yaygın olan bu A41APT kampanyasında herhangi bir öncü kimlik avı e-postası belirleyememesi.

Genel olarak, APT10, birden çok eşzamanlı kampanya yürüten büyük bir APT grubu olarak kabul edilir ve anlaşılır bir şekilde TTP’ler bir kampanyadan diğerine farklılık gösterir. Burada A41APT kampanyası için bahsedilen farklılıkların, bu kadar büyük bir APT grubu durumunda beklenebilecek normal bir TTP varyasyonunu temsil ettiği düşünülmektedir.

 

Sonuçlar

A41APT kampanyasını APT10’un uzun süredir devam eden etkinliklerinden biri olarak görülmekte. Bu saldırı kampanyası, P8RAT ve SodaMaster gibi farklı benzersiz dosyasız kötü amaçlı yazılımları içeren Ecipekac adlı çok katmanlı kötü amaçlı yazılım ve yüklerini tanıttı.

Ecipekac kötü amaçlı yazılımının en önemli yönü, çok sayıda katman dışında şifrelenmiş shell kodlarının dijital imzanın geçerliliğini etkilemeden dijital olarak imzalanmış DLL’lere ekleniyor olmasıdır. Bu teknik kullanıldığında bazı güvenlik çözümleri bu implantları tespit edemez. P8RAT ve SodaMaster arka kapılarının ana özelliklerinden yola çıkarak bu modüllerin, maalesef araştırmalar sonucunda şimdiye kadar elde edilemeyen başka kötü amaçlı yazılımları indirmekten sorumlu indiriciler olduğu düşünülmektedir.

Kaspersky araştırmacısı Suguru Ishimaru; “Kampanyanın operasyonları ve implantları son derece gizli olduğundan, tehdit aktörünün faaliyetlerini takip etmeyi zorlaştırıyor,” dedi.

 

Kaynakça:

symantec-enterprise-blogs.security.com

securelist.com

 

KVKK, ISO 27001, Bilgi ve İletişim Güvenliği Rehberi, ISO 27701, Bilgi Güvenliği, Siber Güvenlik ve Bilgi Teknolojileri konularında destek ve teklif almak için lütfen

< Önceki Sonraki >