CeranaKeeper Tayland’a doğru yola çıkıyor
ESET Research, Güneydoğu Asya’da kitlesel veri sızıntısına odaklanan CeranaKeeper adlı Çin bağlantılı yeni bir tehdit aktörünün araçlarını ve faaliyetlerini detaylandırıyor
ESET araştırmacıları, 2023 yılından başlayarak Tayland’daki devlet kurumlarını hedef alan birkaç kampanya gözlemledi. Bu saldırılar, daha önce başka araştırmacılar tarafından Çin’e bağlı gelişmiş kalıcı tehdit (APT) grubu Mustang Panda’ya atfedilen bileşenlerin yenilenmiş sürümlerinden ve daha sonra, ele geçirilen bilgisayarlarda komutları yürütmek ve hassas belgeleri dışarı çıkarmak için Pastebin, Dropbox, OneDrive ve GitHub gibi hizmet sağlayıcıları kötüye kullanan yeni bir araç setinden yararlandı.
Bulgularımıza dayanarak bu faaliyet kümesini ayrı bir tehdit aktörünün işi olarak izlemeye karar verdik. Grubun araçlarının kodunda [Bb]ectrl dizesinin çok sayıda geçmesi bize CeranaKeeper adını vermemiz için ilham verdi; arıcı ve arı türü Apis Cerana veya Asya bal arısı kelimeleri arasında bir kelime oyunudur.
Bu blog yazısının kilit noktaları:
- ESET araştırmacıları, Tayland’daki devlet kurumlarını hedef alan CeranaKeeper adlı Çin bağlantılı yeni bir tehdit aktörü keşfetti. Bazı araçları daha önce başka araştırmacılar tarafından Mustang Panda’ya atfedilmişti.
- Grup, tespit edilmekten kaçınmak için arka kapısını sürekli olarak güncelliyor ve kitlesel veri sızıntısına yardımcı olmak için yöntemlerini çeşitlendiriyor.
- CeranaKeeper, Dropbox ve OneDrive gibi popüler, yasal bulut ve dosya paylaşım hizmetlerini özel arka kapılar ve çıkarma araçları uygulamak için kötüye kullanır.
- Grup, kod paylaşımı ve iş birliği için popüler bir çevrimiçi platform olan GitHub’ın pull request ve sorun yorumu özelliklerini gizli bir ters kabuk oluşturmak için kullanarak GitHub’dan bir C&C sunucusu olarak faydalanır.
CeranaKeeper en azından 2022’nin başından beri aktiftir ve çoğunlukla Tayland, Myanmar, Filipinler, Japonya ve Tayvan gibi Asya ülkelerindeki devlet kurumlarını hedef almaktadır; Çin’in çıkarlarıyla uyumlu olduğuna inanıyoruz. Grubun durmak bilmeyen veri avı dikkat çekicidir; saldırganları, ele geçirilen ağlardan mümkün olduğunca fazla bilgi elde etmeyi amaçlayan çok çeşitli araçlar kullanmaktadır. Analiz ettiğimiz operasyonda grup, ele geçirilen makineleri güncelleme sunucularına dönüştürdü, gizli bir ters kabuk oluşturmak için GitHub’ın pull request ve sorun yorumu özelliklerini kullanarak yeni bir teknik geliştirdi ve tüm dosya ağaçlarını toplarken tek kullanımlık hasat bileşenleri kullandı.
CeranaKeeper’ı Mayıs 2024’te yayımlanan ESET APT Faaliyet Raporu Q4 2023-Q1 2024’te kısaca tanıtmıştık. Bu blog yazısında, CeranaKeeper tarafından kullanılan ve daha önce belgelenmemiş bu özel araçları açıklıyor ve bu tehdit aktörünün operasyonları hakkındaki bulgularımızı paylaşıyoruz.
CeranaKeeper ve Tayland’daki güvenlik açığı ile ilgili bulgularımızın bir kısmını 2 Ekim 2024 tarihinde Virus Bulletin konferansında ve buradan tamamını okuyabileceğiniz teknik raporumuzda sunduk. Bu ay, Virus Bulletin bu konuyla ilgili teknik incelememizi de web sitesinde yayımlayacak.
CeranaKeeper: Tayland’ı hedef alan acımasız, şekil değiştiren bir grup
Atıf
CeranaKeeper’ın bazı faaliyetleri daha önce Talos, Trend Micro ve Palo Alto Networks Birim 42 tarafından Mustang Panda’ya (diğer adıyla Earth Preta veya Stately Taurus) atfedilmiş olsa da bu faaliyet kümesini CeranaKeeper’ın çalışması olarak izlemeye karar verdik. CeranaKeeper’ın ısmarlama stager (ya da TONESHELL) adı verilen ve kamuya açık bir şekilde belgelenmiş araç setini kullandığını, büyük ölçüde yan yükleme tekniğine dayandığını ve ele geçirilmiş bir ağdan dosya sızdırmak için belirli bir komut dizisi kullandığını düşünüyoruz. Ayrıca siyasi yemlerin ve PlugX bileşenlerinin kullanımının MustangPanda’nın işi olduğunu düşünüyoruz. Faaliyetlerindeki bazı benzerliklere rağmen (benzer yan yükleme hedefleri, arşiv formatı), iki grup arasında araç setlerindeki, altyapılarındaki, operasyonel uygulamalarındaki ve kampanyalarındaki farklılıklar gibi belirgin organizasyonel ve teknik farklılıklar gözlemledik. Ayrıca iki grubun benzer görevleri yerine getirme biçimlerinde de farklılıklar tespit ettik.
CeranaKeeper operasyonlarında TONEINS, TONESHELL ve PUBLOAD olarak bilinen ve gruba özgü olan bileşenleri kullanmaktadır. Grup, saldırılarında yukarıda bahsedilen bileşenlerin yenilenmiş versiyonlarını ve Pastebin, Dropbox, OneDrive ve GitHub gibi hizmetleri kötüye kullanan yeni araçları kullanmak gibi yaratıcılığı ve uyarlanabilirliği ile öne çıkıyor. Bu araçları aşağıdaki bölümde açıklıyoruz Büyük çaplı sızıntılara yardımcı olacak araç seti.
Ayrıca grup kodunda, geliştirme sürecine ilişkin içgörü sağlayan bazı meta veriler bırakarak iki grubu birbirinden ayırmamızı ve CeranaKeeper’a atfetmemizi daha da sağlamlaştırdı. Her iki tehdit aktörü de dağıtım aşamasında kullanılan araçların tedarikçisi gibi aynı üçüncü tarafa güveniyor olabilir, ki bu Çin’e bağlı gruplar arasında nadir görülen bir durum değildir ya da gözlemlediğimiz bağlantıları açıklayacak bir düzeyde bilgi paylaşımına sahip olabilirler. Bize göre bu, tek bir tehdit aktörünün birbirinden tamamen ayrı iki araç, altyapı, operasyonel uygulama ve kampanya setini sürdürmesinden daha olası bir açıklamadır.
Aynı ağdaki makinelerin tehlikeye atılması
CeranaKeeper’ın analiz ettiğimiz vakada kullandığı tehlikeye atma vektörleri henüz bulunamamıştır. Grup, 2023 yılının ortalarında Tayland’daki bir devlet kurumunun ağında yer edindiğinde ele geçirilen bir makine yerel alan ağındaki bir etki alanı denetleyicisi sunucusuna karşı kaba kuvvet saldırıları gerçekleştirdi.
Saldırganlar ayrıcalıklı erişim elde ettikten sonra TONESHELL arka kapısını kurdu, kimlik bilgilerini boşaltmak için bir araç kullandı ve makinedeki güvenlik ürünlerini devre dışı bırakmak için yasal bir Avast sürücüsü ve özel bir uygulama kullandı. Ele geçirilen bu sunucudan, ağdaki diğer bilgisayarlara arka kapılarını dağıtmak ve çalıştırmak için bir uzaktan yönetim konsolu kullandılar. Ayrıca CeranaKeeper, ele geçirilen sunucuyu TONESHELL güncellemelerini depolamak için kullanarak bir güncelleme sunucusuna dönüştürdü.
Grup, ağ genelinde yeni bir BAT betiği dağıttı ve etki alanı yöneticisi ayrıcalıkları kazanmak için etki alanı denetleyicisinden yararlanarak erişimini aynı etki alanındaki diğer makinelere genişletti. Bu, CeranaKeeper’ın operasyonunun bir sonraki aşamasına geçmesini ve nihai hedefine ulaşmasını sağladı: Büyük veri toplama.
Kitlesel sızıntıya yardımcı olan araç seti
TONESHELL arka kapılarını yerleştirdikten ve birkaç yanal hareket gerçekleştirdikten sonra saldırganların daha önce belgelenmemiş, özel araçları yerleştirmek için yeterli ilgiye sahip birkaç tehlikeye atılmış bilgisayar buldukları ve seçtikleri anlaşılmaktadır. Bu destek araçları yalnızca belgelerin genel depolama hizmetlerine sızmasını kolaylaştırmak için değil aynı zamanda alternatif arka kapılar olarak da kullanıldı. Açıkladığımız arka kapılar ve sızma araçları yalnızca yüksek hedefli makinelere konuşlandırılmıştır.
WavyExfiller: Dropbox ve PixelDrain’i kötüye kullanan bir Python yükleyicisi
Haziran 2023’te keşfettiğimiz bir dizi bilinmeyen bileşenden ilki WavyExfiller, PyInstaller kullanılarak bir yürütülebilir dosyaya paketlenmiş bir Python paketi ve Birim 42 tarafından açıklanan sızma yönteminin doğrudan Python uygulamasıdır. Bu bileşene, dışa aktarılmaya hazır belgeleri tanımlamak ve sıkıştırmak için arama maskeleri içeren yerel bir dosyanın .wav uzantısı nedeniyle WavyExfiller adını verdik. PyInstaller ile birlikte gelen yürütülebilir dosyanın adı SearchApp.exe’dir (SHA-256: E7B6164B6EC7B7552C93713403507B531F625A8C64D36B60D660D66E82646696).
Modülün üç ana işlevi vardır: Bir Pastebin sayfasından (düz metin verilerini depolamak ve paylaşmak için çevrimiçi bir hizmet) şifrelenmiş bir Dropbox belirteci almak, kullanıcıların dizinlerinde bulunan belgelerin parola korumalı arşivlerini oluşturmak ve bu arşivleri Dropbox’a yüklemek.
Ekim 2023’te, oneDrive.exe adı altında saklanan bir varyant (SHA-256: 451EE465675E674CEBE3C42ED41356AE2C972703E1DC7800A187426A6B34EFDC) gözlemledik. Adına rağmen bu sürüm arşivlenen dosyaları dışarı sızdırmak için PixelDrain dosya paylaşım hizmetini kullanır. Tıpkı yukarıda bahsedilen SearchApp.exe gibi, bu varyant da genellikle işletim sistemini, yüklü programları ve yerel kullanıcıların belgelerini içeren C sürücüsünü kontrol eder. Ek olarak, oneDrive.exe, varsa D harfinden N harfine kadar (L hariç) eşlenen sürücülerden dosya toplamaya çalışır. Şekil 1 USB’ler ve sabit sürücüler gibi bağlı harici depolama aygıtlarını, ofis ortamındaki ağa bağlı sürücüleri veya belirli bir yazılım tarafından oluşturulan sanal sürücüleri temsil edebilir. Bu, CeranaKeeper’ın açgözlülük seviyesini artırdığını ve diğer potansiyel veya bilinen bilgi kaynaklarına ulaşmaya çalıştığını göstermektedir. Bununla birlikte PixelDrain’e yüklenen dosyaları kontrol etmek açık API aracılığıyla mümkün olmadığından sızma işleminin başarılı olup olmadığı belirsizdir.
DropboxFlop: Dropbox’ı kötüye kullanan bir Python arka kapısı
Ekim 2023’te, PixelDrain varyantını bulduğumuz zaman, SHA-256 hash DAFAD19900FFF383C2790E017C958A1E92E84F7BB159A2A7136923B715A4C94F ile yeni bir PyInstaller paketlenmiş yürütülebilir dosyası keşfettik. Görünüşe göre CeranaKeeper, yükleme ve indirme özelliklerine sahip bir ters kabuk olan Dropflop adlı halka açık bir projeye dayanarak oluşturdu. Derlenen Python dosyasının adı dropboxflop.pyc. Arka kapı şifrelenmiş bir Dropbox belirteci alır ve makinede komutları yürütmek için uzak Dropbox deposunda bulunan dosyalara bağlıdır. Yerel olarak benzersiz bir klasör oluşturur ve her 15 saniyede bir lasttime adlı uzak dosyayı güncelleyerek bir “kalp atışı” oluşturur. Ayrıca bulunursa indirilen ve JSON dosyası olarak ayrıştırılan görevler adlı bir dosyayı da kontrol eder. Uygulanan iki tür görev vardır: Komut yürütme ve dosya yükleme. Tamamlandığında arka kapı dosya çıktısının içeriğini güncelleyerek sonuçları gönderir.
OneDoor: OneDrive’ı kötüye kullanan bir C++ arka kapısı
Python arka kapısı DropboxFlop’u dağıttıktan birkaç gün sonra CeranaKeeper, OneDoor adını verdiğimiz OneDrive’ı kötüye kullanan statik olarak bağlı bir C/C++ arka kapısı ile geri döndü. Örnek (SHA-256: 3F81D1E70D9EE39C83B582AC3BCC1CDFE038F5DA31331CDBCD4FF1A2D15BB7C8) OneDrive.exe olarak adlandırılmıştır. Dosya, aşağıdaki özellikler görünümünde gösterildiği gibi Microsoft’un yasal yürütülebilir dosyasını taklit eder Şekil 2.
OneDoor, DropboxFlop arka kapısına benzer bir şekilde davranır ancak komutları almak ve dosyaları dışarı sızdırmak için Microsoft Graph API’nin OneDrive REST API’sini kullanır.
OneDoor bir günlük dosyası oluşturur ve config.ini adlı bir dosyaya erişmeye çalışır. Eğer bu dosya mevcut değilse OneDoor sabit kodlanmış bir tampon kullanır. Dosya veya tampon, CBC modunda AES-128 kullanarak verilerin geri kalanının şifresini çözmek için kullanılan bir anahtar ve başlatma vektörü ile başlar. Düz metin, kötü amaçlı yazılımın HTTP GET isteğinde kullandığı bir URL içerir. Yanıt, Microsoft OneDrive’a yapılan sonraki isteklerde kullanılan bir OneDrive belirteci içerir.
OneDoor ayrıca uygulama verilerini depolamak için kullanılan approot adlı bir klasörün kimliğini de alır.
config.ini dosyasına benzer şekilde, kötü amaçlı yazılım errors.log adlı bir dosyaya erişmeye çalışır. Dosya mevcut değilse sabit kodlanmış bir arabellek kullanır. Dosyanın veya arabelleğin içeriğinin şifresi çözülür; düz metin verileri 1024 bit RSA genel anahtarı içerir. Bir anahtar-IV çifti oluşturulur, RSA ile şifrelenir ve uzak approot klasörüne yüklenir. Bu çift, verilerin şifrelenmesi ve şifresinin çözülmesi için kullanılır.
Son olarak, kötü amaçlı yazılım OneDrive’da bulunan iki klasörden (E ve F) dosya listelerini alır. Her liste için dosyaları indiren ve şifrelerini çözen bir iş parçacığı başlatılır. E klasörü altında depolanan dosyalar yürütülecek komutları içerirken F klasörü altında depolananlar yüklenecek dosyaların bir listesini içerir. Bu işlemlerin sonuçları şifrelenir ve üçüncü bir OneDrive klasörü olan D’de depolanır. Orijinal dosyalar daha sonra OneDrive’dan silinir.
BingoShell: GitHub’ı kötüye kullanan bir Python arka kapısı
Grubun sızma araç setinin en son örneğini Şubat 2024’te gözlemledik ve oluşturduğu bir GitHub çekme isteğinin (PR) başlığında kullanılan bingo# dizesi nedeniyle BingoShell olarak adlandırdık. Analiz edilen örnek (SHA-256: 24E12B8B1255DF4E6619ED1A6AE1C75B17341EEF7418450E661B74B144570017), simgesi olarak Microsoft Office logosu kullanan Update.exe adlı bir dosyadır. Şekil 3. PE derleme zaman damgasına göre Ocak 2024’ün sonlarında inşa edilmiş.
BingoShell, ele geçirilmiş makineleri kontrol etmek için GitHub’ı kullanan Python ile yazılmış bir arka kapıdır. Çalıştırıldığında özel bir GitHub deposuna erişmek için sabit kodlanmış bir belirteç kullanır. Ana dalın ilk işlemine göre, depo muhtemelen 24 Ocak 2024 tarihinde oluşturulmuştur. BingoShell depoda yeni bir dal ve buna karşılık gelen bir çekme isteği oluşturur. Arka kapı, ele geçirilen makinede çalıştırılacak komutları almak için yeni oluşturulan PR’deki yorumları okur Şekil 4.
Bu, GitHub’ı bir komuta ve kontrol (C&C) sunucusu olarak kullanmak için yeni bir gizli tekniği göstermekte ve çekme isteklerini kapatarak ve depodan yorumları kaldırarak kendilerinden sonra temizleyen saldırganların karmaşıklığını göstermektedir.
BingoShell tarafından özel GitHub deposunda oluşturulan her yeni dal, güvenliği ihlal edilmiş bir makineye erişimi temsil etmelidir. Çünkü 25 kapalı çekme isteği keşfettik (şurada gösterilmiştir Şekil 5), CeranaKeeper’ın BingoShell aracılığıyla ele geçirilmiş 25 makineye erişimi olduğu sonucuna varabiliriz.
Sonuç
Tayland hükümetine yönelik saldırıların arkasındaki tehdit aktörü CeranaKeeper, grubun kullandığı çok sayıda araç ve teknik hızla gelişmeye devam ettiği için özellikle acımasız görünüyor. Operatörler, operasyonlarının gerektirdiği şekilde araç setlerini yazıyor ve düzenliyor ve tespit edilmekten kaçınmak için oldukça hızlı tepki veriyorlar. Bu grubun amacı mümkün olduğunca çok dosya toplamak ve bu amaçla belirli bileşenler geliştiriyor. CeranaKeeper sızma için bulut ve dosya paylaşım hizmetlerini kullanmaktadır ve muhtemelen bu popüler hizmetlere yönelik trafiğin çoğunlukla meşru görüneceği ve tespit edildiğinde engellenmesinin daha zor olacağı gerçeğine güvenmektedir.
Araştırmamız boyunca, daha önce belgelenmiş ve yeni araç setleri ile ortak bir tehdit aktörü arasında güçlü bağlantılar kurmayı başardık. Taktikler, teknikler ve prosedürler (TTP’ler), kod ve altyapı farklılıklarının incelenmesi, CeranaKeeper ve MustangPanda’yı iki ayrı varlık olarak izlemenin gerekli olduğuna inanmamıza yol açıyor. Bununla birlikte Çin’e bağlı her iki grup da ortak bir çıkar doğrultusunda ya da aynı üçüncü taraf aracılığıyla bilgi ve araçların bir alt kümesini paylaşıyor olabilir.
İncelediğimiz hedefli kampanya bize CeranaKeeper’ın operasyonları hakkında bilgi verdi ve grubun hassas veri arayışı devam ettikçe gelecekteki kampanyalar muhtemelen daha fazlasını ortaya çıkaracaktır.
CeranaKeeper tarafından kullanılan araçların daha ayrıntılı bir analizi için ESET Research teknik raporunun tamamına buradan erişebilirsiniz.
IoC’ler
Kapsamlı bir uzlaşma göstergeleri (IoC’ler) listesi ve örnekleri GitHub depomuzda bulunabilir.
Dosyalar
SHA-256 | Filename | Detection | Description |
B25C79BA507A256C9CA12A9BD34DEF6A 33F9C087578C03D083D7863C708ECA21 | EACore.dll | Win32/Agent.VJO | YK0130 reverse shell. |
E7B6164B6EC7B7552C93713403507B53 1F625A8C64D36B60D660D66E82646696 | SearchApp.exe | Python/Agent.AGT | WavyExfiller. |
3F81D1E70D9EE39C83B582AC3BCC1CDF E038F5DA31331CDBCD4FF1A2D15BB7C8 | OneDrive.exe | Win32/Agent.VKV | OneDoor. |
DAFAD19900FFF383C2790E017C958A1E 92E84F7BB159A2A7136923B715A4C94F | dropbox.exe | Python/Agent.AQN | DropBoxFlop. |
24E12B8B1255DF4E6619ED1A6AE1C75B 17341EEF7418450E661B74B144570017 | Update.exe | Python/Agent.AJJ | BingoShell. |
451EE465675E674CEBE3C42ED41356AE 2C972703E1DC7800A187426A6B34EFDC | oneDrive.exe | Python/Agent.AGP | WavyExfiller PixelDrain variant. |
E6AB24B826C034A6D9E152673B911592 01577A3A9D626776F95222F01B7C21DB | MsOcrRes.orp | Win32/Agent.AFWW | TONESHELL type B. |
6655C5686B9B0292CF5121FC6346341B B888704B421A85A15011456A9A2C192A | avk.dll | Win32/Agent.VJQ | TONESHELL variant. |
B15BA83681C4D2C2716602615288B7E6 4A1D4A9F4805779CEBDF5E6C2399AFB5 | TurboActivate.dll | Win32/Agent.AFWX | TONESHELL loader. |
Network
IP | Domain | Hosting provider | First seen | Details |
104.21.81[.]233 172.67.165[.]197 | www.toptipvideo[.]com | CLOUDFLARENET (AS13335) | 2023-08-14 | C&C server for the YK0130 reverse shell. |
103.245.165[.]237 | dljmp2p[.]com inly5sf[.]com | Bangmod Enterprise administrator (AS58955) | 2023-04-21 | C&C servers for TONESHELL variants. |
103.27.202[.]185 | www.dl6yfsl[.]com | Bangmod Enterprise administrator (AS58955) | 2023-08-10 | C&C server for TONEINS variant. |
103.27.202[.]185 | www.uvfr4ep[.]com | Bangmod Enterprise administrator (AS58955) | 2023-09-22 | C&C server for TONEINS variant. |
MITRE ATT&CK teknikleri
Bu tablo MITRE ATT&CK çerçevesinin 15. sürümü kullanılarak oluşturulmuştur.
Tactic | ID | Name | Description |
Resource Development | T1583.001 | Acquire Infrastructure: Domains | CeranaKeeper acquired domains for some of its C&C servers. |
T1583.003 | Acquire Infrastructure: Virtual Private Server | CeranaKeeper acquired access to a VPS to serve as a C&C server. | |
T1587.001 | Develop Capabilities: Malware | CeranaKeeper develops its own components. | |
T1585.003 | Establish Accounts: Cloud Accounts | CeranaKeeper acquired cloud accounts for exfiltration purposes. | |
Execution | T1072 | Software Deployment Tools | CeranaKeeper abuses a remote administration console to perform lateral movement. |
Persistence | T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | The YK0130 reverse shell establishes persistence via a registry Run key. |
T1574.002 | Hijack Execution Flow: DLL Side-Loading | Most components come as side-loaded libraries along with the legitimate program. | |
Defense Evasion | T1140 | Deobfuscate/Decode Files or Information | Configuration files used by the OneDoor backdoor are encrypted. |
T1036.005 | Masquerading: Match Legitimate Name or Location | CeranaKeeper uses legitimate library names to blend in. | |
Collection | T1560.001 | Archive Collected Data: Archive via Utility | WavyExfiller uses WinRAR to compress collected data. |
T1005 | Data from Local System | WavyExfiller collects data from the local drive (C:). | |
T1039 | Data from Network Shared Drive | WavyExfiller collects data from network shares. | |
T1074.001 | Data Staged: Local Data Staging | Collected data is archived in a special folder before being uploaded. | |
Command and Control | T1071.001 | Application Layer Protocol: Web Protocols | The different backdoors communicate using HTTP/S. |
T1132.002 | Data Encoding: Non-Standard Encoding | The network protocol used by the YK0130 reverse shell employs custom, XOR-based encoding. | |
T1573.001 | Encrypted Channel: Symmetric Cryptography | AES-128 mode CBC is used by the OneDoor backdoor to encrypt network communication. | |
T1573.002 | Encrypted Channel: Asymmetric Cryptography | The generated key and IV for the OneDoor backdoor are encrypted via RSA. | |
T1090.001 | Proxy: Internal Proxy | One of the variants of the YK0130 reverse shell implements a reverse proxy. | |
T1102.002 | Web Service: Bidirectional Communication | OneDrive and Dropbox are used as C&C servers. | |
Exfiltration | T1567.002 | Exfiltration Over Web Service: Exfiltration to Cloud Storage | Collected data are exfiltrated via cloud services. |