Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi
Anonymous - yazar

Yayıncı: Anonymous

Yayınlanma Tarihi: 24 Ağustos 2026

Zararlının Uyanışı: Tetikleme

Zararlı, cihaz açıldığında ya da sesli asistan uyandığında devreye giren bir BroadcastReceiver ile başlıyor. MainReceiver adlı bu bileşen, telefon açılışında veya sesli asistanın etkinleşmesiyle tetikleniyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

MainReceiver bileşeninin tetiklenme koşulları

İlginç olan şu: MainReceiver’ın onReceive gövdesi tamamen boş. Bunun tek bir amacı var, asıl süreci sessizce başlatmak. Yani alıcının kendisi hiçbir “iş” yapmıyor; sadece arka plandaki zararlı mekanizmayı ayağa kaldıran bir ateşleyici görevi görüyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Bilinçli olarak boş bırakılmış onReceive gövdesi

Yapılandırmanın Şifresini Çözmek

Zararlı, ayarlarını ve iletişim kanalını açıkça saklamıyor; her şey basit ama etkili bir XOR şifreleme katmanının arkasında. İlk olarak ifz.t() fonksiyonunda 4 baytlık sabit bir dizi, "beed72" anahtarıyla XOR’lanıyor ve sonuçta "2039" metni ortaya çıkıyor. Bu değer bir channelId üretmekte kullanılıyor; bu andan sonra bütün istekler bu channelId üzerinden gidiyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

ifz.t(): XOR ile channelId üretimi

Asıl gizleme (obfuscation) bir sonraki adımda. Kodda 30 adet static byte array tanımlanmış. Bu 30 dizi sırayla birleştiriliyor ve her bayt, 30 − v değeriyle (burada v dizinin sırası) XOR’lanarak çözülüyor. Ortaya bir blob çıkıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

30 sabit bayt dizisinin birleştirilip 30−v ile XOR’lanması

Çözülen blob’un başındaki başlık (header) bilgisi okunuyor, geri kalan kısım ise files/.mm/.file.jar yoluna gizli bir dosya olarak yazılıyor. Baştaki nokta (.mm, .file.jar) dosya ve klasörleri Linux/Android tarafında gizli hâle getirdiği için, sıradan bir bakışta gözden kaçıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Gizli files/.mm/.file.jar dosyasının diske yazılması

Komuta-Kontrol ve Dinamik Kod Yükleme

Sıra iletişime geldiğinde zararlı, cihaz kimliğinden bir RSA anahtarı üretiyor ve gömülü bir domain listesinden rastgele birini C2 olarak seçiyor. Sabit tek bir adres yerine rastgele seçim yapması, engellenmeye karşı direnç sağlıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Cihaz kimliğinden RSA üretimi ve rastgele C2 domain seçimi

Dikkatimizi çeken ayrıntı şu: rastgele domain seçiminde 5 deneme hakkı tanımlanmış. Yani seçilen alan adı yanıt vermezse, zararlı pes etmiyor; listedeki diğerlerini deniyor. Bu, tipik bir failover davranışı ve altyapının bilinçli olarak dayanıklı tasarlandığını gösteriyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Domain seçiminde tanımlı 5 deneme hakkı

Bağlantı kurulduğunda zararlı, kendini güncelleyebilen modüler bir yapıya sahip. Sunucudan dönen yanıttaki dexVersion değeri, cihazdaki sürümden büyükse, dexUrl adresinden yeni bir payload indiriliyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

dexVersion karşılaştırması ve payload indirme kararı

İndirilen payload’ın XOR şifrelemesi çözülüp sdk.jar adıyla diske yazılıyor, zararsız bir geliştirici kütüphanesi gibi görünsün diye seçilmiş bir isim.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

XOR çözülüp sdk.jar olarak yazılması

Ardından bu sdk.jar, bir classloader aracılığıyla çalışma zamanında belleğe yükleniyor. Kod diskte statik olarak durmadığı, ihtiyaç anında indirilip yüklendiği için imza tabanlı antivirüslerin yakalaması da zorlaşıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

sdk.jar’ın classloader ile çalışma zamanında yüklenmesi

Son olarak yüklenen kod, bir dynamic proxy üzerinden başlatılıyor. Bu adımdan sonra cihazın kendisi bir proxy düğümüne dönüşüyor, yani saldırganın trafiğini üzerinden geçirebileceği bir çıkış noktası hâline geliyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Dinamik proxy üzerinden zararlı bileşenin başlatılması

Yalnız Gelmiyor: Yerel Bileşenle Gizli Anlaşma

Kodu incelerken en çarpıcı bulgulardan biri şu satırdı: zararlı, cihaz üzerinde yerel olarak 12101 portuyla haberleşiyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Yerel 12101 portu üzerinden haberleşme

Bu kod, cihazda çalışan başka bir bileşene ikili binary bir protokolle bağlanıp cihaz kimliği istiyor. Bu detay çok önemli: zararlının tek başına gelmediğini açıkça gösteriyor. Araç teybindeki bir “kimlik sağlayıcı” bileşenle entegre çalışıyor, yani cihaza daha üretim/dağıtım aşamasında yerleşmiş bir ekosistemin parçası.

Protokolün kendisi de konuşkan: önce 0x6492 verisi gönderiliyor, hemen ardından 101 komutu geliyor. Cihazdan dönen yanıt da yine 0x6492 imzasıyla başlıyor. Bu sabit imza, iki bileşen arasında önceden anlaşılmış özel bir protokol olduğunu kanıtlıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

0x6492 imzası ve 101 komutuyla yürüyen ikili protokol

Buraya kadar olan kısım tamamen kod analiziydi. Şimdi bu zararlının vahşi doğada nasıl yayıldığına ve altyapısının izini nasıl sürdüğüme geçelim.

Nasıl Yayılıyor?

İşin en sinsi tarafı burası. Kurbanların kurduğu ilk uygulama tertemiz. Zararlı kod sonradan indiriliyor. Araç teyplerinde analiz, güncelleme veya yönetim için kullanılan bir bileşen, komutlarını MQTT üzerinden alıyor.

Kullanıcı onayı hiç gerekmiyor; çünkü bu güncelleyici bileşen sistem yetkisiyle çalışıyor. Dahası, installNotExists adlı bir ayar sayesinde cihazda daha önce hiç bulunmayan uygulamaları bile sessizce kurabiliyor. Yani kullanıcı hiçbir şey indirmiyor, hiçbir yere tıklamıyor cihaz, kendi “güncellemesi” ile enfekte oluyor. Bu, klasik bir supply-chain saldırısı senaryosu.

C2 Trafiği ve Altyapının İzini Sürmek

C2 trafiğini izlediğimde, cihazın MAC adresi, IMEI, Android ID ve tarayıcı User-Agent bilgisini sunucuya gönderdiğini gördük. Sunucu üzerinde biraz kurcalayınca da saldırganın kurban sorgulama API’sini bulduk.

Kurbanların verilerine baktığımda dikkatimi çeken ilk cihaz MF-MQX02 model bir araba multimedya sistemiydi.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Kurban sorgulama API’si ve MF-MQX02 model araç cihazı

Ama liste bununla sınırlı değildi: TV BOX, Wellbox, TX9 PRO gibi ucuz Android kutuları da aktif kurbanlar arasındaydı. Yani tehdit yalnızca arabalarla sınırlı değil; aynı zararlı ekosistemi, benzer donanıma sahip her türlü ucuz gömülü cihaza uzanıyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Aktif kurban cihaz modelleri: TV BOX, Wellbox, TX9 PRO

Biraz daha kurcaladığımda tüm proxy düğümlerini listeleyebildik. Sadece çevrimiçi olanlara bakalım istedik: sabah 03.56’da 16 aktif düğüm gördük. Zararlı, proxy hizmeti için 7777, 8888, 9919, 9999 ve 10000 portlarını açıyor. Kurban proxy’lere bağlantı denediğimde gerçekten bağlanabildiğimizi gördük yani bu düğümler herkese açık biçimde çalışıyordu.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Belirli bir anda çevrimiçi olan proxy düğümleri

Gizli Gelir Kapısı: Tıklama Dolandırıcılığı

Yazılımın başka neler yaptığını incelerken, aynı zamanda JavaScript ile otomatik arama yaptırdığını ve reklamlara tıklattığını da fark ettik. Bu, klasik bir click fraud düzeneği, kurbanın cihazını, saldırgana reklam geliri üreten sessiz bir işçiye çeviriyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

JavaScript ile otomatik arama ve reklam tıklaması

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

Tıklama akışının devamı

Son olarak bu JavaScript katmanı, topladığı veriyi bir köprü üzerinden Android yerel uygulamaya geri gönderiyor. Böylece web tarafındaki otomasyon ile cihazdaki yerel zararlı bileşen birbirine bağlanmış oluyor.

Arabaları Hedef Alan Bir Android Backdoor'un Anatomisi - içerik görseli

JavaScript’ten Android native uygulamaya veri aktarımı

Siber güvenlik hizmetlerimiz

Red Team, sızma testi ve danışmanlık hizmetlerimiz hakkında bilgi alın.

Referanslar

Müşteri Portföyümüz