
GhostBat RAT kampanyası, sahte Bölgesel Ulaştırma Ofisi (RTO) uygulamaları aracılığıyla Hintli Android kullanıcılarını hedef alan karmaşık bir tehdit olarak ortaya çıktı.
İlk kez 2025’in ortalarında gözlemlenen bu kötü amaçlı APK’lar, resmi “mParivahan” uygulaması kılığına girerek kullanıcıların devlet hizmetlerine olan güvenini istismar ediyor.
Dağıtım esas olarak smishing yoluyla (kurbanları GitHub tarafından barındırılan yüklere yönlendiren kısaltılmış URL’ler içeren SMS mesajları ve SMS) veya güvenliği ihlal edilmiş web siteleri aracılığıyla gerçekleşir.
.webp)
Kötü amaçlı yazılım yüklendikten sonra kurbanlardan, temel güncellemeler adı altında SMS ile ilgili izinler vermelerini isteyerek bankacılık verilerinin sızdırılmasına zemin hazırlıyor.
Kurulumun ardından uygulama, orijinal mParivahan düzenine oldukça benzeyen bir kimlik avı arayüzü görüntüler.
Mağdurdan araç ve cep telefonu bilgilerini girmesi isteniyor ve ardından “sahipliği doğrulamak” için 1₹ tutarında sahte UPI ödeme talebi geliyor.
Bu arada, bankacılıkla ilgili anahtar kelimeleri içeren SMS mesajları toplanıp saldırganların kontrolündeki sunuculara sızdırılıyor.
Gelen tek kullanımlık şifreler (OTP’ler) doğrudan rakiplere iletilebilir ve böylece yetkisiz işlemler kolaylaştırılabilir.
Cyble analistleri, virüs bulaşmış cihazları kaydeden ve çalınan veriler için bir komut kanalı görevi gören bir Telegram botu olan GhostBatRatbot’un dahil edildiğine dikkat çekti.
GhostBat RAT, sosyal mühendislik görünümünün altında çok sayıda anti-analiz ve gizleme taktiğine dayanıyor.
İlk damlalık, Build.CPU_ABI ve Build.MANUFACTURER değerlerini sorgulayarak emülasyon önleme kontrolleri gerçekleştirir ve bir emülatör tespit edilirse yürütmeyi sonlandırır.
Bu aşamadaki örnek kod, ağır dize gizlemeyi ve emülatörden kaçınma mantığını göstermektedir:
public static boolean isRealDevice(String abi) {
if (abi.equals("x86") || abi.equals("x86_64")) {
return false;
}
String manufacturer = Build.MANUFACTURER.toLowerCase(Locale.ROOT);
if (manufacturer.contains("generic") || manufacturer.contains("emulator")) {
return false;
}
return true;
}
.webp)
Çok aşamalı bir damlalık daha sonra XOR işlemlerini ve dinamik DexClassLoader yüklemesini kullanarak gömülü veri yüklerinin şifresini çözerek algılamadan kaçınmayı sağlar.
Yerel kitaplıklar (.so), JNI aracılığıyla bellekteki API çağrılarını yeniden oluşturarak analizi daha da karmaşık hale getirir. Bu katmanlar toplu olarak tersine mühendislik ve antivirüs tespitini engeller.
GhostBat RAT’ın Enfeksiyon Mekanizması
Burada tam enfeksiyon mekanizması, RTO hizmetleri olarak gizlenen smishing URL’lerinden yararlanıyor. Kullanıcılar kısaltılmış bir bağlantıya tıkladıklarında GitHub veya benzeri platformlarda barındırılan bir APK indirir.
Yükleyici, mağdurların genellikle hizmet işlevselliği bahanesiyle verdiği SMS okuma ve SMS gönderme izinlerini talep ediyor.
İzinler alındıktan sonra, damlalık ikinci aşama yükünün şifresini çözer: –
InputStream in = context.getAssets().open("encrypted_payload");
byte[] data = new byte[in.available()];
in.read(data);
in.close();
byte[] key = MessageDigest.getInstance("SHA-1")
.digest("encrypted_payload".getBytes(StandardCharsets.UTF_8));
for (int i = 0; i < data.length; i++) {
data[i] ^= key[i % key.length];
}
DexClassLoader loader = new DexClassLoader(
saveToFile(data), context.getCacheDir().getAbsolutePath(),
null, context.getClassLoader()
);
Şifresi çözülmüş bu bileşen, dinamik olarak yüklenen kimlik bilgisi hırsızı ve kripto madenci modüllerini barındırır.
Son veri, gerçek bir uygulama güncelleme sayfasını taklit ederek kullanıcıları kötü amaçlı mParivahan uygulamasını yüklemeleri için kandırıyor.
GhostBat RAT, bu aşamaları zincirleyerek gizli kurulum ve sağlam bir kalıcılık elde ederek Hintli mobil bankacılık kullanıcıları için önemli bir risk haline getiriyor.
Daha Fazla Anında Güncelleme Almak için Bizi Google Haberler, LinkedIn ve X'te Takip Edin, CSN'yi Google'da Tercih Edilen Kaynak olarak ayarlayın.