Çoğunlukla Asya'ya odaklanan bu yeni siber casusluk grubu, PNG dosyalarından PowerShell yüklerini steganografik olarak çıkarmak da dahil olmak üzere belgelenmemiş araçlar kullanıyor
ESET araştırmacıları yakın zamanda, çoğunlukla Asya'daki çeşitli yüksek profilli şirketlere ve yerel yönetimlere karşı belgelenmemiş araçlar kullanan hedefli saldırılar buldu. Bu saldırılar, Worok adını verdiğimiz ve en az 2020'den beri aktif olan, önceden bilinmeyen bir casusluk grubu tarafından gerçekleştirildi. Worok'un araç seti, bir C++ yükleyici CLRLoad, bir PowerShell arka kapı PowHeartBeat ve gizli kötü amaçlı yazılımları çıkarmak için steganografi kullanan bir C# yükleyici PNGLoad içerir. PNG dosyalarından yükler.
Worok kimdir?
ProxyShell sırasında (CVE-2021-34523) 2021'in başlarında güvenlik açığı açıklamasını gözlemledik çeşitli APT gruplarından etkinlik. ile ortak bir sergilenen özellikler TA428:
- Aktivite süreleri
- Hedeflenen sektörler
- ShadowPad Kullanımı
Araç setinin geri kalanı çok farklıdır: örneğin, TA428 Güçlü Masaüstü uzlaşması Worok'u TA2020 ile aynı grup olarak kabul etmek için bağlantıların yeterince güçlü olmadığını düşünüyoruz, ancak iki grup araçları paylaşabilir ve ortak çıkarlara sahip olabilir. Bir küme oluşturmaya karar verdik ve buna Worok adını verdik. Ad, grup tarafından kullanılan bir yükleyicideki bir muteksten sonra seçildi. Aynı araçların varyantları ile daha fazla aktivite daha sonra bu grupla ilişkilendirildi. ESET'in telemetrisine göre Worok, 428'nin sonlarından beri aktif ve bu yazı itibariyle aktif olmaya devam ediyor.
2020'nin sonlarında Worok, özellikle aşağıdakiler olmak üzere birden fazla ülkedeki hükümetleri ve şirketleri hedefliyordu:
- Doğu Asya'da bir telekomünikasyon şirketi
- Orta Asya'da bir banka
- Güneydoğu Asya'da bir denizcilik endüstrisi şirketi
- Ortadoğu'da bir devlet kurumu
- Güney Afrika'da özel bir şirket
2021-05'ten 2022-01'e kadar gözlemlenen operasyonlarda önemli bir kesinti oldu, ancak Worok etkinliği 2022-02'de geri döndü ve aşağıdakileri hedefliyor:
- Orta Asya'da bir enerji şirketi
- Güneydoğu Asya'da bir kamu sektörü kuruluşu
Şekil 1, hedeflenen bölgelerin ve dikeylerin görsel bir ısı haritasını sunar.
Hedeflerin profillerini ve bu kurbanlara karşı konuşlandırıldığını gördüğümüz araçları göz önünde bulundurduğumuzda, Worok'un asıl amacının bilgi çalmak olduğunu düşünüyoruz.
Teknik analiz
İlk erişimlerin çoğu bilinmemekle birlikte, bazı durumlarda 2021 ve 2022'ye kadar ProxyShell güvenlik açıklarına karşı kullanılan istismarlar gördük. Bu gibi durumlarda, kurbanın ağında kalıcılık sağlamak için genellikle bu güvenlik açıklarından yararlanıldıktan sonra web kabukları yüklenir. Daha sonra operatörler daha fazla yetenek kazanmak için çeşitli implantlar kullandılar.
Erişim sağlandıktan sonra, operatörler, aşağıdakiler dahil olmak üzere, keşif için çok sayıda kamuya açık araç konuşlandırdı: Mimikatz, Solucan, ReGeorg, ve NBTscanve ardından özel implantlarını dağıttı: birinci aşama yükleyici, ardından ikinci aşama .NET yükleyici (PNGLoad). Ne yazık ki, son yüklerden hiçbirini alamadık. 2021'de ilk aşamalı yükleyici bir CLR montajıydı (CLRLoad), 2022'de ise çoğu durumda tam özellikli bir PowerShell arka kapısı (PowHeartBeat) ile değiştirildi – her iki yürütme zinciri de Şekil 2'de gösterilmektedir. Bu üç araçlar aşağıdaki alt bölümlerde ayrıntılı olarak açıklanmaktadır.
CLRLoad: CLR montaj yükleyicisi
CLRLoad, hem 32 hem de 64 bit sürümlerinde gördüğümüz genel bir Windows PE'dir. Bir sonraki aşamayı (PNGLoad) yükleyen, C++ ile yazılmış bir yükleyicidir. Ortak Dil Çalışma Zamanı (CLR) derlemesi DLL dosyası. Bu kod, muhtemelen kurbanları veya olaya müdahale edenleri bunun meşru bir yazılım olduğunu düşünmeye yönlendirmek için yasal bir dizindeki diskte bulunan bir dosyadan yüklenir.
Bazı CLRLoad örnekleri, içeriğini sonraki aşama olarak yükleyecekleri dosyanın tam yolunun kodunu çözerek başlar. Bu dosya yolları, her örnekte farklı bir anahtarla tek baytlık bir XOR ile kodlanmıştır. Kodu çözülmüş veya açık metin, bu dosya yolları mutlaktır ve aşağıdakilerle karşılaştık:
- C:Program DosyalarıVMwareVMware ToolsVMware VGAuthxsec_1_5.dll
- C: Program DosyalarıUltraViewermsvbvm80.dll
- C:Program DosyalarıInternet ExplorerJsprofile.dll
- C: Program DosyalarıWinRarRarExtMgt.dll
- C:Program Dosyaları (x86)Foxit YazılımıFoxit Readerlucenelib.dll
Daha sonra bir muteks oluşturulur ve her örnekte farklı bir isim gördük. Yükleyici bu muteks için kontrol eder; bulunursa, çıkar çünkü yükleyici zaten çalışıyor. Örneklerden birinde, muteks Wo0r0KGWhYGO gruba Worok adını veren bir olayla karşılaşıldı.
CLRLoad daha sonra muhtemelen kodu çözülmüş dosya yolundan bir CLR derlemesi yükler. Yönetilmeyen kod olarak CLRLoad bunu, CorBindToRuntimeEx 32 bit varyantlarda Windows API çağrıları veya CLRCreateÖrneği 64-bit varyantlarda çağrılar.
PowHeartBeat: PowerShell arka kapısı
PowHeartBeat, PowerShell'de yazılmış, sıkıştırma, kodlama ve şifreleme gibi çeşitli teknikler kullanılarak gizlenmiş tam özellikli bir arka kapıdır. ESET telemetrisine dayalı olarak, PowHeartBeat'in PNGLoad'ı başlatmak için kullanılan araç olarak daha yeni Worok kampanyalarında CLRLoad'ın yerini aldığına inanıyoruz.
Arka kapı kodunun ilk katmanı, birden çok base64 kodlu PowerShell kodu parçasından oluşur. Yük yeniden oluşturulduktan sonra, aracılığıyla yürütülür. IEX. Kodu çözüldüğünde, Şekil 3'te görebileceğimiz başka bir gizlenmiş kod katmanı yürütülür.
Arka kapının ilk base64'ünün ikinci katmanı, kodunun bir sonraki katmanının kodunu çözer ve ardından Üçlü DES (CBC modu). Şifre çözme işleminden sonra, bu kod kullanılarak sıkıştırılır. gzip algoritma, böylece gerçek arka kapı olan üçüncü PowerShell kodu katmanını verir. İki ana bölüme ayrılmıştır: yapılandırma ve arka kapı komutlarını işleme.
Arka kapı kodunun ana katmanı da PowerShell'de yazılmıştır ve C&C sunucusuyla iletişim kurmak için HTTP veya ICMP kullanır. Şekil 4'te gösterildiği gibi çalışır.
yapılandırma
Yapılandırma, sürüm numarası, isteğe bağlı proxy yapılandırması ve C&C adresi dahil olmak üzere birden çok alan içerir. Tablo 1, gözlemlediğimiz farklı versiyonlardaki konfigürasyon alanlarının anlamlarını açıklamaktadır.
Tablo 1. Yapılandırma alanı anlamları
Alan adı | Açıklama |
---|---|
hayır / ikuyrtydyfg (diğer örnekler) |
Kullanılmamış. |
Müşteri Kimliği | Aşağıdaki amaçlar için kullanılan müşteri tanımlayıcısı: · İnşa ederken bir değer olarak Çerez başlığı C&C iletişimleri için. · Gönderilen veri şifrelemesi için bir kriptografik yapı olarak. |
Sürümü | PowHeartBeat'in sürüm numarası. |
Yürütme Süreleri | Yayınlanırken izin verilen yürütme denemelerinin sayısı Cmd'yi Çalıştır (komut çalıştırma) komutu. |
Kullanıcı Aracısı | C&C iletişimleri için kullanılan kullanıcı aracısı. |
yönlendiren | yönlendiren C&C iletişimleri için kullanılan başlık. |
Kodlamayı Kabul Et | Kullanılmamış. |
Çerez Müşteri Kimliği ÇerezGörev Kimliği ÇerezTerminal Kimliği |
oluşturmak için kullanılan değerler kurabiye C&C iletişimleri için başlık. |
URLHttps | C&C iletişimleri için kullanılacak protokol. |
UrlEtki Alanı IP adresi Alanlar |
C&C sunucusu olarak kullanılan URL, etki alanları veya IP adresi. Eğer Alanlar boş değil, yerine seçildi IP adresi. Diğer durumlarda, IP adresi alınmış. |
URLGönderHeartBeat | Arka kapı C&C sunucusundan komutlar istediğinde kullanılan URL yolu. |
UrlGönderSonucu | Arka kapı, komutun sonuçlarını C&C sunucusuna geri gönderdiğinde kullanılan URL yolu. |
Url'yi Getir | PowHeartBeat tarafından C&C sunucusundan komut istemek için kullanılan eksiksiz URL. Yukarıdaki URL öğelerinin birleşimidir. |
Url'yi koy | Aynısı Url'yi Getir ancak komutun sonuçlarını C&C sunucusuna geri göndermek için kullanılır. |
şuanki yol | Kullanılmamış. |
ProxyEnableFlag | C&C sunucusuyla iletişim kurmak için arka kapının bir proxy kullanması gerekip gerekmediğini gösteren bayrak. |
yakın mesaj | Eğer kullanılacak proxy adresi ProxyEnableFlag ayarlandı $doğru. |
Aralık | Komut dosyasının GET istekleri arasında uyuduğu saniye cinsinden süre. |
TemelYapılandırmaYolu | Aşağıdakileri içeren isteğe bağlı bir yapılandırma dosyasının yolu Zamanı, Arıza Süresi, VarsayılanAralık, ve Alanlar. Dosya varsa bu değerler geçersiz kılınır. |
Zamanı | Arka kapının çalışmaya başladığı, yani C&C sunucusuna GET istekleri göndermeye başladığı günün saati. |
Arıza Süresi | Arka kapının çalışabileceği günün saati, yani C&C sunucusuna istek göndermeyi bıraktığı zaman. |
Etki Alanı Dizini | C&C sunucusuyla iletişim için kullanılacak geçerli alan adının dizini. Bir isteğin farklı bir hata mesajı döndürmesi durumunda 304 ("Modifiye edilmemiş"), Etki Alanı Dizini artmıştır. |
Gizli anahtar | Yapılandırmanın şifresini çözmek/şifrelemek için kullanılan anahtar. Yapılandırma, çok baytlı XOR ile şifrelenir. |
ifLog | Kullanılmamış. |
IfLogFilePath | Günlüğe kaydetmenin etkin olup olmadığını gösteren bayrak. |
günlük yolu | Günlük dosyasının yolu. |
ProxyDosyası | İsteğe bağlı proxy yapılandırmasının dosya yolu. Boşsa veya dosya sisteminde bulunamazsa, arka kapı, kullanıcının proxy ayarlarını kayıt defteri değerinden alır. HKCUYazılımMicrosoftWindowsMevcut Sürümİnternet AyarlarıProxySunucu . |
IfConfig | Bir yapılandırma dosyasının kullanılıp kullanılmayacağını belirten bayrak. |
Şekil 5, bir PowHeartBeat örneğinden (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$Script:nouse = 100; if(Test-Path $MyInvocation.MyCommand.Path){Remove-item $MyInvocation.MyCommand.Path -Force;} $Script:ClientId = “83”; $Script:Version = “2.1.3.0003”; $Script:ExecTimes = 10; $Script:UserAgent = “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3487.100 Safari/537.36”; $Script:Referer = “www.adobe.com”; $Script:AcceptEncoding = “text/html,app1ication/xhtml+xml,app1ication/xml;q=0.9,*/*;q=0.8”; $Script:CookieClientId = “s_ecid”; $Script:CookieTaskId = “aam_uuid”; $Script:CookieTerminalId = “AAMC_adobe_0”; $Script:UrlHttps = “http://”; $Script:UrlDomain= ” 118.193.78[.]22:443″; $Script:UrlSendHeartBeat = “/latest/AdobeMessagingClient.js”; $Script:UrlSendResult = “/content/dam/offers-homepage/homepage.jpg”; $Script:GetUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendHeartBeat; $Script:PutUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendResult; $Script:currentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition; $Script:ProxyEnableFlag = $false; $Script:Proxymsg; $Script:Interval = 10 ; $Script:BasicConfigPath = “C:ProgramDataunins.dat”; $Script:UpTime = 0; $Script:DownTime = 24; $Script:Domains; $Script:DomainIndex; $Script:SecretKey = “###ConfigKey###”; #$Script:IfLog = $true; $Script:IfLogFilePath = “C:ProgramDatatpncp.dat”; $Script:logpath = “C:ProgramDataunins000.dat”; $Script:ProxyFile = “C:ProgramDatahwrenalm.dat”; $Script:IfConfig = $false; |
Şekil 5. Yapılandırma örneği
Veri şifreleme
PowHeartBeat, günlükleri ve ek yapılandırma dosyası içeriğini şifreler.
Günlük dosyası içeriği, örnekte açık metinde belirtilen bir anahtarla çok baytlı XOR olsa da şifrelenir. İlginçtir, Müşteri Kimliği anahtar dizisine dizin için bir tuz olarak kullanılır. Anahtar, karşılaştığımız her örnekte aynı olan 256 baytlık bir dizidir. Ek yapılandırma dosyası içeriği, gelen değerle çok baytlı XOR aracılığıyla şifrelenir. Gizli anahtar onun anahtarı olarak.
C&C iletişimleri
PowHeartBeat, 2.4 sürümüne kadar C&C iletişimleri için HTTP kullandı ve ardından ICMP'ye geçti. Her iki durumda da iletişim şifrelenmez.
HTTP
Sonsuz bir döngüde, arka kapı C&C sunucusuna bir GET isteği göndererek bir komut verilmesini ister. Şifrelenmiş yanıtın şifresi, komutu işleyen ve komut çıktısını, içeriği daha sonra bir POST isteği aracılığıyla C&C sunucusuna gönderilen bir dosyaya yazan arka kapı tarafından çözülür.
GET isteklerinin formatı aşağıdaki gibidir:
GET <UrlSendHeartBeat> HTTP/1.1 User-Agent: <UserAgent> Referer: <Referer> Host: <Domain> Cookie: <CookieClientId>=<ClientId> Connection: close |
İsteğin, isimsiz yapılandırma alanları kullanılarak oluşturulduğuna dikkat edin.
C&C sunucusundan gelen yanıtta, içeriğin üçüncü baytı, arka kapı tarafından işlenecek komutu belirten komut tanımlayıcısıdır. arayacağız komut_kimliği. Yanıtın kalan içeriği, işlenen komuta bir argüman olarak iletilecektir. Bu içerik, Şekil 6'da gösterilen algoritma ile şifrelenir, görev kimliği adını taşıyan çerezin değeri olmak ÇerezGörev Kimliğiyapılandırmadan ' değeri.
1 2 3 4 5 6 7 8 9 10 |
o[int] $pos = $taskId % 256; for ($i = 0; $i -lt $tmpBytes.Value.Length; $i++) { $pos = $pos + $clientId; if ($pos -ge 256) { $pos = $pos % 256; } $tmpBytes.Value[$i] = [byte]($tmpBytes.Value[$i] -bxor $hexEnc[$pos]); } |
Şekil 6. İstekler içerik veri şifreleme algoritması
C&C sunucusundan gelen yanıt, adı arka kapı tarafından belirtilen başka bir tanımlama bilgisi de içerir. ÇerezTerminal Kimliği yapılandırma değişkeni. Bu tanımlama bilgisinin değeri, arka kapıdan gelen POST isteğinde tekrarlanır ve boş olmamalıdır. Arka kapı komutunu çalıştırdıktan sonra, PowHeartBeat sonucu C&C sunucusuna POST isteği olarak gönderir. Sonuç, adı olan bir dosya olarak gönderilir. .png.
ICMP
PowHeartBeat'in 2.4 sürümünden başlayarak, HTTP, ICMP ile değiştirildi, altı saniyelik bir zaman aşımına sahip paketler gönderdi ve parçalanmamış. ICMP aracılığıyla iletişim, büyük olasılıkla tespitten kaçınmanın bir yoludur.
2.4 ve sonraki sürümlerde büyük bir değişiklik yoktur, ancak kodda bazı değişiklikler fark ettik:
- PowHeartBeat, dizeyi içeren her döngüde bir kalp atışı paketi gönderir abcdefghijklmnopqrstuvwxyz, bir komut istemeden önce. Bu, C&C sunucusuna arka kapının komutları almaya hazır olduğunu bildirir.
- Arka kapı tarafından gerçekleştirilen komutları alma istekleri dizeyi içerir abcdefghijklmnop.
Kalp atışı paketleri, Şekil 7'de açıklanan biçime sahiptir.
Arasındaki fark Müşteri Kimliği ve müşteri bayrağı ki Müşteri Kimliği her örnekte farklılık gösterirken müşteri bayrağı ICMP kullanan her örnekte aynıdır. kalp atışı bayrağı arka kapının bir kalp atışı gönderdiğini gösterir. C&C sunucusundan gelen yanıt, Şekil 8'de açıklanan biçime sahiptir.
bayrak burada arka kapıya verilecek bir komut olup olmadığını gösterir. Komut alma istekleri, Şekil 9'da açıklanan biçime sahiptir.
Arka kapının ICMP modunun, parçalara ayrılmış sınırsız miktarda veri ve değişkenlerin alınmasına izin verdiğini unutmayın. veri uzunluğu, şu anki pozisyon ve toplam uzunluk iletilen verileri izlemek için kullanılır. Bu isteklere verilen yanıtlar, Şekil 10'da açıklanan biçime sahiptir.
HTTP yanıtlarında olduğu gibi, komut tanımlayıcısı üçüncü bayttır. veri.
Boş veya tutarsız biçimlendirilmiş içerikle art arda yedi ICMP yanıtından sonra, arka kapı ile C&C sunucusu arasındaki aktarımlar tamamlanmış olarak kabul edilir.
Verilen komutun sonucunu C&C sunucusuna gönderme istekleriyle ilgili olarak, posta modu için sunucu modu değiştirilir ve son dize (abcdefghijklmnop) sonuç verileri için değiştirilir.
arka kapı komutları
PowHeartBeat, komut/süreç yürütme ve dosya işleme dahil olmak üzere çeşitli yeteneklere sahiptir. Tablo 2, çeşitli analiz edilen örnekler tarafından desteklenen tüm komutları listeler.
Tablo 2. PowHeartBeat komut açıklamaları
Name | Komut Tanımlayıcı | Açıklama |
---|---|---|
cmd | 0x02 | Bir PowerShell komutu yürütün. |
Exe | 0x04 | olarak bir komut yürütün süreç. |
Dosya yükleme | 0x06 | Kurban makinesine bir dosya yükleyin. Dosya içeriği gzip ile sıkıştırılmıştır. |
Dosya indirme | 0x08 | Kurban makinesinden bir dosya indirin ve dosya yolunu, dosya uzunluğunu, oluşturma süresini, erişim sürelerini ve dosya içeriğini C&C sunucusuna döndürün. |
Dosya görüntüleme | 0x0A | Belirli bir dizinin dosya bilgilerini alın, özellikle: · Dosya adları · Dosya öznitelikleri · Son yazma zamanları · Dosya içeriği |
DosyaSil | 0x0C | Bir dosyayı silin. |
Dosyayı Yeniden Adlandır | 0x0E | Bir dosyayı yeniden adlandırın veya taşıyın. |
Dizini Değiştir | 0x10 | Arka kapının mevcut çalışma konumunu değiştirin. |
Bilgi | 0x12 | Belirtilen argümana göre bir bilgi kategorisi alın: · “Temel bilgiler”: Müşteri Kimliği, Sürümü, ana bilgisayar adı, IP adresleri, explorer.exe sürüm ve boyut bilgileri, işletim sistemi (makinenin bir sunucu olup olmadığını gösteren mimari ve bayrak), Aralık, geçerli dizin, sürücü bilgileri (ad, tür, boş alan ve toplam boyut), geçerli saat · “Zaman Aralığı bilgisi”: Aralık ve şimdiki zaman · “Alan bilgisi”: şifresi çözülmüş yapılandırma dosyası içeriği |
Yapılandırma | 0x14 | Yapılandırma dosyası içeriğini güncelleyin ve yapılandırmayı yeniden yükleyin. |
N / A | 0x63 | Arka kapı çıkışı. |
Arka kapı tarafında hata olması durumunda, arka kapı, C&C sunucusuna gönderilen POST isteğinde 0x00 özel bir komut tanımlayıcısı kullanır, böylece bir hata oluştuğunu gösterir.
Bilgileri C&C sunucusuna geri göndermeden önce verilerin gzip ile sıkıştırıldığını unutmayın.
PNGLoad: Steganografik yükleyici
PNGLoad, Worok tarafından güvenliği ihlal edilmiş sistemlerde dağıtılan ve ESET telemetrisine göre CLRLoad veya PowHeartBeat tarafından yüklenen ikinci aşamalı yüktür. PowHeartBeat'te PNGLoad'u doğrudan yükleyen herhangi bir kod görmesek de, arka kapı, C&C sunucusundan ek yükleri indirme ve yürütme yeteneklerine sahiptir; saldırganların PNGLoad'u PowHeartBeat ile güvenliği ihlal edilmiş sistemlere bu şekilde yerleştirmiş olmaları muhtemeldir. PNGLoad, yürütülecek bir yük oluşturmak için PNG dosyalarından baytları kullanan bir yükleyicidir. 64-bit .NET yürütülebilir dosyasıdır – .NET Reaktörü - meşru yazılım gibi görünen. Örneğin, Şekil 11, WinRAR DLL'si gibi görünen bir örneğin CLR başlıklarını göstermektedir.
Gizlemesi kaldırıldığında, yalnızca bir sınıf mevcuttur. Bu sınıfta bir AnaYol alt dizinleri de dahil olmak üzere arka kapının aradığı dizin yolunu içeren öznitelik . Png uzatma, Şekil 12'de gösterildiği gibi.
Her . Png bu arama ile bulunan dosya AnaYol daha sonra steganografik olarak gömülü içerik için kontrol edilir. İlk olarak, her pikselin R (kırmızı), G (yeşil), B (mavi) ve A (alfa) değerlerinin en az anlamlı biti alınır ve bir arabellekte birleştirilir. Bu ara belleğin ilk sekiz baytı, Şekil 13'te görülen sihirli sayı ve sonraki sekiz baytlık değer olan kontrol ile eşleşmesi durumunda, dosya, PNGLoad'ın steganografik içerik kontrolünden geçer. Bu tür dosyalar için işleme, PNGLoad'da depolanan anahtar kullanılarak çok baytlı bir XOR ile şifresi çözülen arabelleğin geri kalanıyla devam eder. GizliAnahtar Baytları özniteliği ve ardından şifresi çözülen arabellek gzip-açılır. Sonucun hemen çalıştırılan bir PowerShell betiği olması beklenir.
İlginç bir şekilde, PNGLoad tarafından gerçekleştirilen işlemler, yolu değişkende depolanan bir dosyaya kaydedilir. GünlükDosyaYol. İşlemler yalnızca yolu dahili değişken tarafından belirtilen bir dosya varsa günlüğe kaydedilir. IfLogFilePath.
Örnek alamadık . Png dosya PNGLoad ile birlikte kullanılır, ancak PNGLoad'ın çalışma şekli, geçerli PNG dosyalarıyla çalışması gerektiğini gösterir. Worok, kötü amaçlı yükü gizlemek için C#'da dosya meta verilerinden değil, yalnızca dosyalardan piksel bilgilerini alan Bitmap nesnelerini kullanır. Bu, Worok'un kötü niyetli yüklerini geçerli, zararsız görünen PNG görüntülerinde gizleyebileceği ve böylece görünürde gizlenebileceği anlamına gelir.
Sonuç
Worok, hedeflerini tehlikeye atmak için kendi araçlarını geliştirmenin yanı sıra mevcut araçlardan da yararlanan bir siber casusluk grubudur. Operatörlerin peşinde olduklarına inandığımız şey kurbanlarından bilgi çalmak, çünkü Asya ve Afrika'daki yüksek profilli kuruluşlara odaklanıyorlar, hem özel hem de kamu olmak üzere çeşitli sektörleri hedefliyorlar, ancak devlet kuruluşlarına özel bir vurgu yapıyorlar. Faaliyet süreleri ve araç seti TA428 ile olası bağlara işaret ediyor, ancak bu değerlendirmeyi düşük bir güvenle yapıyoruz. Özel araç setleri, biri C++ ve diğeri C# .NET'te olmak üzere iki yükleyici ve bir PowerShell arka kapısı içerir. Görüşümüz sınırlı olsa da, bu gruba ışık tutmanın diğer araştırmacıları bu grup hakkında bilgi paylaşmaya teşvik edeceğini umuyoruz.
ESET Research artık özel APT istihbarat raporları ve veri beslemeleri de sunuyor. Bu hizmetle ilgili herhangi bir sorunuz için şu adresi ziyaret edin: ESET Tehdit İstihbaratı gidin.
IOCs
dosyalar
SHA-1 | Dosya adı | ESET Detection adı | Yorum Yap |
---|---|---|---|
3A47185D0735CDECF4C7C2299EB18401BFB328D5 | senaryo | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
27ABB54A858AD1C1FF2863913BDA698D184E180D | senaryo | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003. |
678A131A9E932B9436241402D9727AA7D06A87E3 | senaryo | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
757ABA12D04FD1167528FDD107A441D11CD8C427 | senaryo | PowerShell/PowHeartBeat.B | PowHeartBeat 2.1.3.0003. |
54700A48D934676FC698675B4CA5F712C0373188 | senaryo | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002. |
C2F53C138CB1B87D8FC9253A7088DB30B25389AF | senaryo | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002. |
C2F1954DE11F72A46A4E823DE767210A3743B205 | tmp.ps1 | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0004. |
CE430A27DF87A6952D732B4562A7C23BEF4602D1 | tmp.ps1 | PowerShell/PowHeartBeat.A | PowHeartBeat 2.1.3.0004. |
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF | senaryo | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003. |
4721EEBA13535D1EE98654EFCE6B43B778F13126 | vix64.dll | MSIL/PNGLoader.A | PNGYükleyici. |
728A6CB7A150141B4250659CF853F39BFDB7A46C | RarExtMgt.dll | MSIL/PNGLoader.A | PNGYükleyici. |
864E55749D28036704B6EA66555A86527E02AF4A | jsprofile.dll | MSIL/PNGLoader.A | PNGYükleyici. |
8DA6387F30C584B5FD3694A99EC066784209CA4C | vssxml.dll | MSIL/PNGLoader.A | PNGYükleyici. |
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 | xsec_1_5.dll | MSIL/PNGLoader.A | PNGYükleyici. |
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE | msvbvm80.dll | MSIL/PNGLoader.A | PNGYükleyici. |
CDB6B1CAFEE098615508F107814179DEAED1EBCF | lucenelib.dll | MSIL/PNGLoader.A | PNGYükleyici. |
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D | vsstrace.dll | Win64/CLRLLoad.C | CRLYükle. |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | ncrypt.dll | Win32/CLRLLoad.A | CRLYükle. |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | ncrypt.dll | Win32/CLRLLoad.A | CRLYükle. |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLLoad.E | CRLYükle. |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLLoad.A | CRLYükle. |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLLoad.H | CRLYükle. |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLLoad.C | CRLYükle. |
Dosya Yolları
Bazı AnaYol, GünlükDosyaYol ve IfLogFilePath PNGLoad örneklerinde karşılaştığımız değerler:
AnaYol | GünlükDosyaYol | IfLogFilePath |
---|---|---|
C:Program DosyalarıVMwareVMware Araçları | C:Program DosyalarıVMwareVMware ToolsVMware VGAuthreadme.txt | C:Program DosyalarıVMwareVMware AraçlarıVMware VGAuthVMWSU_V1_1.dll |
C: Program DosyalarıWinRar | C: Program DosyalarıWinRarrarinstall.log | C: Program DosyalarıWinRardes.dat |
C:Program DosyalarıUltraViewer | C:Program DosyalarıUltraViewerCopyRights.dat | C:Program DosyalarıUltraVieweruvcr.dll |
ağ
domain | IP |
---|---|
Hayır | 118.193.78[.]22 |
Hayır | 118.193.78[.]57 |
uçak.travel-commercials[.]ajans | 5.183.101[.]9 |
merkezi.suhypercloud[.]org | 45.77.36[.]243 |
muteksler
CLRLoad örneklerinde karşılaştığımız muteks isimleri şunlardır:
aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxBenim
Kapsamlı bir Uzlaşma Göstergeleri (IoC'ler) listesi ve örnekleri şurada bulunabilir: GitHub depomuz.
MITRE ATT&CK teknikleri
Bu tablo kullanılarak yapılmıştır sürümü 11 MITRE ATT&CK çerçevesinin
taktik | ID | Name | Açıklama |
---|---|---|---|
Keşif | T1592.002 | Mağdur Ana Bilgisayar Bilgilerini Toplayın: Yazılım | PowHeartBeat toplanıyor explorer.exe'ler bilgiler. |
T1592.001 | Mağdur Ana Bilgisayar Bilgilerini Toplayın: Donanım | PowHeartBeat, sürücüler hakkında bilgi toplar. | |
T1590.005 | Kurban Ağ Bilgilerini Toplayın: IP Adresleri | PowHeartBeat, güvenliği ihlal edilmiş bilgisayarın IP adreslerini toplar. | |
Kaynak geliştirme | T1583.004 | Altyapı Edinme: Sunucu | Worok kendi C&C sunucularını kullanır. |
T1588.002 | Yetenekleri Elde Edin: Araç | Worok, güvenliği ihlal edilmiş makinelerde herkese açık birden çok aracı dağıttı. | |
T1583.001 | Altyapı Edinme: Etki Alanları | Worok, C&C iletişimini ve evrelemeyi kolaylaştırmak için kayıtlı etki alanlarına sahiptir. | |
T1588.005 | Yetenekleri Elde Edin: İstismarlar | Worok, ProxyShell güvenlik açığını kullandı. | |
T1587.001 | Yetenek Geliştirme: Kötü Amaçlı Yazılım | Worok kendi kötü amaçlı yazılımını geliştirdi: CLRLoad, PNGLoad, PowHeartBeat. | |
T1587.003 | Yetenekleri Geliştirme: Dijital Sertifikalar | Worok, kötü amaçlı yazılımlar için karşılıklı TLS kimlik doğrulamasını etkinleştirmek için Let's Encrypt SSL sertifikalarını oluşturdu. | |
infaz | T1059.001 | Komut ve Komut Dosyası Yorumlayıcısı: PowerShell | PowHeartBeat, PowerShell'de yazılmıştır. |
Sebat | T1505.003 | Sunucu Yazılım Bileşeni: Web Kabuğu | Workok web kabuğunu kullanır ReGeorg. |
Savunmadan Kaçınma | T1140 | Dosyaları veya Bilgileri Gizleme/Kod Çözme | Worok, PowHeartBeat, PNGLoad ve CLRLoad'da dizeleri ve günlükleri şifrelemek için çeşitli özel XOR tabanlı şemalar kullanır. |
T1036.005 | Maskeleme: Meşru Adı veya Konumu Eşleştirin | PNGLoad örnekleri, meşru görünen VMWare dizinlerine dağıtılır. | |
Kimlik Bilgileri Erişimi | T1003.001 | İşletim Sistemi Kimlik Bilgileri Dökümü: LSASS Belleği | Worok, kimlik bilgilerini LSASS belleğinden boşaltmak için Mimikatz'ı kullanır. |
Keşif | T1082 | Sistem Bilgisi Keşfi | PowHeartBeat, işletim sistemi bilgilerini toplar. |
T1083 | Dosya ve Dizin Bulma | PowHeartBeat, dosya ve dizinleri listeleyebilir. | |
T1046 | Ağ Hizmeti Keşfi | Çalışmak kullanır NbtTarama güvenliği ihlal edilmiş makinelerde ağ bilgilerini elde etmek için. | |
T1124 | Sistem Saati Keşfi | PowHeartBeat, kurbanın zaman bilgilerini toplar. | |
Koleksiyon | T1005 | Yerel Sistemden Veriler | PowHeartBeat, yerel sistemden veri toplar. |
T1560.002 | Toplanan Verileri Arşivleyin: Kütüphane Üzerinden Arşivleyin | PowHeartBeat gzip verileri C&C sunucusuna göndermeden önce sıkıştırır. | |
Komuta ve kontrol | T1071.001 | Uygulama Katmanı Protokolü: Web Protokolleri | Bazı PowHeartBeat çeşitleri, C&C sunucusuyla iletişim protokolü olarak HTTP kullanır. |
T1090.001 | Proxy: Dahili Proxy | PowHeartBeat, kurbanın makinesindeki proxy yapılandırmasını yönetir. | |
T1001.002 | Veri Gizleme: Steganografi | PNGLoad, piksel değerlerini çıkarır . Png yükleri yeniden yapılandırmak için dosyalar. | |
T1573.002 | Şifreli Kanal: Asimetrik Şifreleme | PowHeartBeat, C&C sunucusuyla HTTPS iletişimini yönetir. | |
T1095 | Uygulama Dışı Katman Protokolü | Bazı PowHeartBeat çeşitleri, C&C sunucusuyla iletişim protokolü olarak ICMP'yi kullanır. | |
T1132.001 | Veri Kodlama: Standart Kodlama | Worok, PowHeartBeat ve PNGLoad'da XOR kodlamasını kullanır. | |
T1132.002 | Veri Kodlama: Standart Olmayan Kodlama | Worok, ek bir tuz kullanan XOR kodlama algoritmalarını kullanır. | |
dumping | T1041 | C2 Kanalı Üzerinden Sızma | PowHeartBeat, bilgi sızdırmak için C&C iletişim kanalını kullanır. |
- blockchain
- zeka
- cryptocurrency cüzdanlar
- kripto değişimi
- siber güvenlik
- siber suçluların
- Siber güvenlik
- iç güvenlik bakanlığı
- dijital cüzdanlar
- ESET Araştırması
- güvenlik duvarı
- Kaspersky
- kötü amaçlı yazılım
- Mcafee
- NexBLOC
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- VPN
- Güvenliği Yaşıyoruz
- web sitesi güvenliği
- zefirnet