[:tr]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
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
He named the campaign A41APT (not APT41) by Kaspersky researchers, derived from the host name “DESKTOP-A41UVJV” from the attacker’s system used in the first infection. The findings, dubbed “A41APT”, investigate a new range of attacks by the APT group, known as APT10 aka Stone Panda, using previously undocumented malwares such as SodaMaster, P8RAT, and FYAnti. The new attacks uncovered by Kaspersky are said to have occurred in January 2021, while the attack was carried out by using zero days of SSL-VPN or exploiting stolen credentials.
Logs of VPN session captured from DESKTOP-A41UVJV
In the offensive campaign, four files are used to load and decrypt the “4 fileless installer modules in succession.” The complicated loading schema management is used by using four different files to load and decrypt four file-less installer modules one after the other.
Ecipekac Technical Analysis
A multi-layer x64 loader called Ecipekac was observed after a unique string located in the second layer of the Ecipekac installer, which was used exclusively by attackers. The string is “Ecipekac” in the opposite direction.
Hard-coded unique string “ecipekac”
Ecipekac uses a new and complex loading scheme: Finally it uses the four files listed below to load and decrypt four unfiled loader modules one after another to load the final payload into memory.
Ecipekac infection stream
The files are:
File Name | MD5 Hash | Description |
policytool.exe | 7e2b9e1f651fa5454d45b974d00512fb | exe for DLL installation |
jli.dll | be53764063bb1d054d78f2bf08fb90f3 | Ecipekac Layer I installer |
vac.dll | f60f7a1736840a6149d478b23611d561 | Encrypted Ecipekac Layer II installer (shellcode) |
pcasvc.dll | 59747955a8874ff74ce415e56d8beb9c | Encrypted Ecipekac Layer IV installer (shellcode) |
While the primary purpose of the P8RAT and SodaMaster was to download and execute payloads received from an attacker-controlled server, Kaspersky’s research did not give any clue as to exactly what the malware provided on target Windows systems.
Interestingly, the third payload, FYAnti, is a multi-layer installer module that passes through two successive layers to distribute the last-tier remote access Trojan known as QuasarRAT (or xRAT).
Ecipekac: Layer I installer
Ecipekac: Layer I installer
Layer I of the Ecipekac infection stream
The Ecipekac I .layer installer maliciously uses policytool.exe, a legitimate application normally packaged in the IBM Development Package for Eclipse, to load a malicious DLL called ‘jli.dll’ into the current directory via the DLL side loading technique. The ‘jli.dll’ file acts as the first layer of the Ecipekac installer. This DLL file has several export functions; however, they all refer to a similar function that has the main loading feature. The installer reads 0x40408 bytes of data from the end of another DLL (‘vac.dll’). The 0x40408 data size is derived from a hard-coded value 0x40405 and incremented until it is divided by eight.
MD5 | f60f7a1736840a6149d478b23611d561 |
SHA1 | 5eb69114b2405a6ea0780b627cd68b86954a596b |
SHA256 | 3b8ce709fc2cee5e7c037a242ac8c84e2e00bd597711093d7c0e85ec68e14a4c |
Link time | 2033-11-13 08:50:03 |
File type | PE32 + executable (DLL) (GUI) for MS Windows x86-64 |
Compiler | Linker Version: 14.13, OS Version: 10.0 |
File Size | 681544 (666KB) |
File Name | vac.dll |
Data embedded at 0x66240 (size: 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 |
Although it has been changed in the file, the ‘vac.dll’ DLL file is signed with a valid, legitimate digital signature. At first glance, a valid digital signature indicates that the file was not changed after it was digitally signed.
It was to resize the Certificate Table in the digitally signed ‘vac.dll’ and add its own data to the Certificate Table so that it would not affect the digital signature. This technique was published in BlackHat 2016 as MS13-098. The layer I loader decrypts the layer II loader shell code from the data embedded in ‘vac.dll’. Various crypto algorithms such as XOR, AES and DES are used. The order and combination of algorithms and decryption keys differ from one instance to the next.
Decryption flow in first installer
For example, in the example shown above, the order of cryptographic algorithms is a single-byte XOR using the hard-coded key ‘0x9F’, followed by AES key ’83H4uREKfFClDH8ziYTH8xsBYa32p3wl’ and IV key ’83H4uREKfFClD. An interesting feature of Ecipekac is that attackers have implemented these encryption algorithms in their own code rather than using the Windows API. Attackers also made minor changes compared to the original application. For example, in the function related to the AES algorithm, they deliberately referenced the third byte of the AES key as shown in the code below.
Small change in AES function
Attackers changed the DES algorithm as well as the mentioned AES algorithm.
Ecipekac: Layer II Installer Shellcode
Layer II of the infection flow using Ecipekac
Ecipekac Layer II installer is a simple shell code that contains the data of the next layer DLL in irregular parts. First, the shell code checks for the “ecipekac” string in this dataset. It then reconstructs and loads each piece of embedded data into allocated memory in the correct order to generate the original code of the DLL as shown below.
Reconstruction for split PE BLOB in memory
It then calls the entry point of the loaded DLL, the third layer of Ecipekac. According to our research, the magic sequence used in this module is not just “ecipekac” in all cases. Instead, it was observed that “9F 8F 7F 6F” and “BF AF BF AF” were used in several examples.
Ecipekac Layer III installer DLL
Layer III of the flow of infection using Ecipekac
The method of loading the next layer of the third layer is reminiscent of the first layer. It reads encrypted data from the end of ‘pcasvc.dll’ signed using a digital certificate as in ‘vac.dll’.
MD5 | 59747955a8874ff74ce415e56d8beb9c |
SHA1 | 0543bfebff937039e304146c23bbde7693a67f4e |
SHA256 | a04849da674bc8153348301d2ff1103a7537ed2ee55a1588350ededa43ff09f6 |
Connection time | 2017-02-24 15:47:04 |
File type | PE32 + executable (DLL) (console) x86-64 for MS Windows |
Compiler | Connector Version: 14.13, OS Version: 10.0 |
File size | 733232 (717KB) |
File name | pcasvc.dll |
Embedded data at 0x87408 (size: 0x2BC28) | 00087408: 98e4 1def 8519 d194 3c70 4e84 458a e34c 00087418: b145 74da c353 8cf8 1d70 d024 8a54 8bde [.. skipped ..] 000b3010: 2c1b 6736 8935c d55d 08090 0829 5dfc 735bd35 9000b000 : 44bd35000b30000 |
Crypto algorithms are also single-byte XOR and AES CBC mode. This time it is used to decrypt the fourth installer shell code from the embedded data of ‘pcasvc.dll’. However, the algorithm sequence is in reverse order to the first layer. Hard-coded keys are also different. When using “0x5E” as the XOR key, the AES key and IV are “K4jcj02QSLWp8lK9gMK9h7W0L9iB2eEW” and “K4jcj02QSLWp8lK9” respectively.
Ecipekac: Layer IV Installer Shellcode
Layer IV of infection flow using Ecipekac
During the investigations, three different types of shell code were found used as the fourth layer of Ecipekac.
Layer IV installer shellcode – the procedure of the first type of first shellcode behaves the same as the Ecipekac Layer II shellcode. the only difference is in this case Ecipekac’s final load, embedded PE. The payload of the first type of shell code is either “P8RAT” or “FYAnti loader”. An analysis of these loads is presented in the next sections of this report.
Layer IV installer shellcode – the second type of second type of shellcode is completely different from other types of installers. This shellcode has a unique data structure shown in the table below.
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) |
This shell code “A9 5B 7B 84” verifies the presence of the magic number “90 90 90 90 90 90 90 90” at the beginning of this data structure before attempting to decrypt a payload at offset 0x01C using RC4 with a 16 byte key. “9C CB CF E8 B6 79 F1 9F 05 B6 2B FE”. The decoded load is “SodaMaster”.
Layer IV installer shellcode – the third type End Shell code type is a Cobalt Strike stadler. Several different Cobalt Strike progressive shell codes have been used since October 2019. Additionally, some of the observed Cobalt Strike staging instances include a setting in the HTTP header of their malicious communications to disguise them as common jQuery requests to avoid detection by security products.
Hard-coded HTTP header to impersonate the jQuery request
The actual encoded C2 used in the HTTP header for C2 communication mimicking jQuery requests was “51.89.88 [.] 126” with the corresponding port 443.
Associating the attack:
Based on the research conducted by the researchers, it is evaluated with great confidence that the APT10 threat actor is behind the “A41APT” campaign.
This reference is based on the following points;
First, an x86 sodamast for example, from hard-coded “www.rar to-coisns [.] Com” URLs, apt10 With regard to Turkey’s financial and telecommunications sectors targeted activity was indicated as suitable for the geographical location of VirusTotal sender.
Second, the A41APT campaign has a similarity to the APT10 events described in a Cylance blog post. These include the Ecipekac Loader of the FYAnti loader using the CppHostCLR technique and the QuasarRAT used as the final load of the FYAnti. Also, as noted in the Symantec blog post, the CppHostCLR technique and QuasarRAT for the injection of the FYAnti installer .NET installer were similar to the activities of the APT10 group discovered by BlackBerry.
Cylance threat research team. Finally, there are some similarities and common TTPs to those outlined in the previous TIP report on APT10 activities;
Manual implementation of hash or crypto algorithms with some modification by malware developers instead of Windows APIs.
Crypto keys, part of crypto keys, key generation, mutex names, etc. Using hash values (wholly or partially) calculated for some properties, such as.
The use of DLL sideloading technique to run a load on memory.
Using PowerShell scripts for persistence as well as lateral movement.
Using exe to remove logs to hide their activities.
Sending victim machine data such as username, hostname, PID, current time, and other attributes. (It is not specific to APT10 rear doors and is fairly common in most backdoor families.)
Replacing implants shortly after security researchers posted their analysis of the actor’s activities and TTPs.
Mainly targeting Japan as well as overseas branches or organizations associated with Japan
However, some interesting differences were observed in the A41APT campaign and previous activities.
Unlike previous malware samples used by APT10 such as LilimRAT, Lodeinfo and ANEL, the P8RAT and SodaMaster do not contain a malware version number.
As for the virus infection vector, it’s not being able to identify any leading phishing email in this A41APT campaign, which is quite common in APT10 attacks.
Generally, APT10 is considered to be a large APT group running multiple concurrent campaigns, and understandably TTPs differ from one campaign to another. The differences mentioned here for the A41APT campaign are thought to represent a normal TTP variation that would be expected in the case of such a large APT group.
Results
The A41APT campaign is seen as one of the long-running events of APT10. This attack campaign introduced Ecipekac multi-layered malware and its payloads, which contain different unique fileless malware such as P8RAT and SodaMaster.
The most important aspect of Ecipekac malware is that, apart from multiple layers, encrypted shell codes are added to digitally signed DLLs without affecting the validity of the digital signature. Some security solutions cannot detect these implants when using this technique. Judging from the main features of the P8RAT and SodaMaster backdoors, these modules are considered to be the downloaders responsible for downloading other malware, unfortunately, as a result of research so far.
Kaspersky researcher Suguru Ishimaru; “The operations and implants of the campaign are highly confidential, making it difficult to track the threat actor’s activities,” he said.
References:
symantec-enterprise-blogs.security.com
KVKK, ISO 270001, 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