Siber güvenlik araştırmacıları, Çin merkezli tehdit aktörleri tarafından yönetildiği değerlendirilen ve ele geçirilen cihazlarda gezinip onları kontrol etmek için yapay zekâ destekli bir sistem kullanan RatHat adlı yeni bir Android zararlı yazılımı tespit etti.
Zimperium araştırmacıları Gianluca Braga, Vishnu Pratapagiri ve Fernando Ortega, "RatHat, esas olarak hedefli SMS oltalama (smishing) ve kullanıcıları aldatıcı üçüncü taraf indirme portallarına yönlendiren zararlı reklam kampanyaları aracılığıyla dağıtılıyor ve otomatik, çok aşamalı bir bulaşma zinciri kullanıyor" dedi.
Araştırmacılar sözlerini şöyle sürdürdü: "Cihaza yerleştikten sonra, Erişilebilirlik hizmetlerinin kötüye kullanımını, cihaz üzerinde kendi kendine eşleşen yerel ADB (Android Debug Bridge) bağlantısıyla birleştiriyor. Böylece standart Android uygulama kum havuzunun dışına çıkıyor ve kabuk düzeyinde yetkilerle çalışan bağımsız yerel arka plan süreçleri başlatıyor."
RatHat; zararlı reklamlar, SMS oltalama kampanyaları ve üçüncü taraf forumlar aracılığıyla tanıtılan aldatıcı oltalama siteleri üzerinden yayılıyor. Bu yollarla, hiçbir şeyden haberi olmayan kullanıcılar zararlı yazılım içeren APK dosyalarını yüklemeye kandırılıyor. Bu paketler, ana yükü başlatan bir bırakıcı (dropper) görevi görüyor; ayrıca tespit edilmemek için çok katmanlı analiz ve hata ayıklama karşıtı kontroller barındırıyor.
Zararlı yazılıma gömülü dört analiz karşıtı teknik şöyle:
Kapsayıcı kurcalama: Paketteki bazı dosyalar dizin olarak tanımlanıyor ya da bazı dosyalarda ZIP genel amaçlı şifreleme bit bayrağı ayarlanıyor. Böylece bu dosyalar Android'in libziparchive kütüphanesi tarafından yok sayılırken unzip ve apktool gibi diğer araçlar tarafından görülebiliyor.
Manifest bombası: Android'in yerel çalışma zamanı tarafından atlanan, ancak belgelenmemiş 0x9999 parça başlıkları "AndroidManifest.xml" dosyasına yerleştirilerek otomatik analiz hatlarının çökmesine ya da zaman aşımına uğramasına neden olunuyor.
DEX bayt kodu zehirlemesi: Geçersiz bir element_width niteliğiyle yapılandırılmış sözde talimatlar eklenerek kodun tersine çevrilmesi (disassembly) sürecinin başarısız olması sağlanıyor.
Çift katmanlı dize şifreleme: Analize direnmek için StringCrypto: Base64 adlı bir şifreleme düzeni kullanılıyor.
Android zararlı yazılımının mimarisi üç ana bileşenden oluşuyor: zararlı Android uygulaması, bir Go Aracısı ve bir FRP ters vekil (reverse-proxy) istemcisi. Android uygulaması, kritik sistem izinlerini elde etmek ve saldırının sonraki aşamasını başlatmak için bir köprü görevi görüyor. Bu sayede erişilebilirlik hizmeti izinlerini alıyor, ardından bu izni kötüye kullanarak Geliştirici Seçenekleri'ni açıyor, Kablosuz Hata Ayıklama'yı etkinleştiriyor ve 6 haneli ADB eşleştirme kodunu ele geçiriyor.

Go Aracısı tuş kaydı (keylogging)
Zararlı yazılım; belirli uygulamaların üzerine sahte katmanlar yerleştirerek kimlik bilgilerini çalabiliyor, Android'in MediaProjection API'sini kullanarak ekranı kaydedebiliyor, SMS mesajlarını ele geçirebiliyor ve Google Play Store'u taklit eden sahte bir hata ekranı göstererek kaldırma girişimlerini engelleyebiliyor.
Ancak kurban uygulamayı kaldırmayı başarsa bile saldırgan cihazdaki kabuk erişimini korumaya devam ediyor. Saldırgan, yerel hizmeti kullanarak zararlı yazılımın hâlâ yüklü olup olmadığını kontrol edebiliyor ve yüklü değilse yeniden kurabiliyor.
Zimperium, "Zararlı yazılım, cihazın canlı Erişilebilirlik ağacını XML biçiminde serileştiriyor ve dünyanın en popüler üretken yapay zekâ asistanlarından biriyle iletişim kuruyor" dedi ve ekledi: "Bu yapay zekâ, zararlı olmayan işlemler için kullanılıyor: ekrandaki hedef bir öğenin merkez koordinatlarını JSON biçiminde çözerek sahte dokunuşları yönlendirmek, hedefin ekrandaki gerçek metnini XML'den çıkarmak ve SCROLL_DOWN gibi otomatik gezinme komutlarını işaretlemek."
APK tarafından çalıştırılan Go Aracısı, kendini yerel bir kütüphane ("liblocal-service.so") gibi gösteriyor; ancak yerel ADB arka plan süreci üzerinden elde edilen kabuk erişimini kullanarak komut çalıştırıyor. Böylece zararlı yazılım kalıcılık sağlıyor ve güç yönetimi muafiyetleri uyguluyor. FRP istemcisi ise komuta kontrol (C2) sunucusuna güvenli bir ters tünel kurmak için kullanılıyor.
Araştırmacılar, "Go Aracısı, FRP tünel yapılandırmasını C2 sunucusundan alıyor ve FRP İstemcisi'nin operatöre kalıcı ve aktif bir ters tünel kurmasını sağlıyor" dedi. "Bu bağlantı, saldırganlar tarafından ADB arka plan sürecine erişmek için kullanılıyor: Zararlı yazılımın kendi özellik setinden bağımsız olarak, operatörün istediği her şeyi taşıyan genel amaçlı bir giriş yolu görevi görüyor."
C2 sunucusundan gelen komutlar hem çeşitli hem de işlev açısından zengin. Tehdit aktörleri bu komutlarla SMS mesajlarını, kimlik bilgilerini, dosyaları, kilit ekranı PIN'ini, deseni ya da parolasını, ekran görüntülerini, tuş vuruşlarını (web tarayıcısının adres çubuğuna girilen URL'ler dahil) ve yüklü uygulamaların listesini toplayabiliyor. RatHat'ta ayrıca Go Aracısı tarafından çalıştırılan ve ekrana yapılan parmak dokunuşlarını kaydedebilen donanım düzeyinde bir tuş kaydedici de bulunuyor.
Zimperium, "RatHat'ın çok katmanlı mimarisi, yaşam döngüsü dışında çalışan arka plan süreçlerine dayanması ve gerçek zamanlı üretken yapay zekâ karar döngüleri kullanması, geleneksel imza tabanlı mobil güvenlik kontrollerinin neden yetersiz kaldığını gösteriyor" değerlendirmesinde bulundu.