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

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

com.tw.jar1 (1.apk) paketinin cihaz üzerinde çalışması

Özet

Bu yazıda incelenen zararlı, Android tabanlı araç multimedya sistemlerini (head unit) hedef alan bir Truva atı yükleyicisidir (dropper). Cihazlara son kullanıcı hiçbir şey indirmeden, üreticinin önceden yüklediği meşru bir güncelleme bileşeni aracılığıyla ulaşır; bu yönüyle klasik bir tedarik zinciri (supply-chain) saldırısıdır.

Bulaşma zinciri meşru güncelleyici TWCore ile başlar. Bu bileşen komutlarını cardoor[.]cn üzerinde barındırılan bir MQTT broker’ından alır ve sistem yetkisiyle sessizce APK kurabilir. Kurulan asıl zararlı bileşen (com.tw.jar / JarService), enfekte cihazı bir proxy botnet düğümüne çevirir, dinamik olarak ek kod indirir ve reklam/tıklama dolandırıcılığı yürütür.

Kamuya açık kaynaklar bu operasyonu BADBOX ekosistemi ve buna bağlı MoYu Group ile ilişkilendirmektedir. Hedef cihaz yelpazesi yalnızca araç head unit’leriyle sınırlı değildir; aynı zararlı altyapı ucuz Android TV kutuları ve benzeri gömülü cihazlara da uzanır.

Göstergeler ve Etkilenen Cihazlar

  • Güncelleyici / bulaşma bileşeni: TWCore

  • Zararlı payload: com.tw.jar (JarService), files/.mm/.file.jar, sdk.jar

  • Komut kanalı: MQTT broker cardoor[.]cn; cihaz kimliğinden üretilen channelId

  • Yerel IPC: 127.0.0.1:12101, 0x6492 imzalı ikili protokol

  • Proxy portları: 7777, 8888, 9919, 9999, 10000

  • Gözlemlenen kurban cihazlar: MF-MQX02 araç head unit, TV BOX, Wellbox, TX9 PRO

Kaynaklar

Teknik Analiz

Aşağıda zararlının tetiklenmesinden komuta-kontrol altyapısına kadar olan davranışı, statik/dinamik kod analizi ve C2 trafiği bulgularıyla adım adım ele alınmaktadır.

1. Tetikleme ve MainReceiver Bileşeni

Zararlı, cihaz açıldığında veya sesli asistan etkinleştiğinde tetiklenen bir BroadcastReceiver ile başlar. MainReceiver adlı bu bileşen bu iki olayı dinler.

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

MainReceiver bileşeninin tetiklenme koşulları

Bileşenin onReceive gövdesi kasıtlı olarak boş bırakılmıştır. Alıcı doğrudan bir iş yürütmez; yalnızca arka plandaki zararlı süreci başlatan bir tetikleyici görevi görür.

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

Boş bırakılmış onReceive gövdesi

2. XOR ile Yapılandırma ve Payload Çözme

Zararlı, yapılandırmasını ve iletişim kanalını bir XOR katmanının arkasında saklar. ifz.t() fonksiyonunda 4 baytlık sabit bir dizi "beed72" anahtarıyla XOR’lanır ve sonuç olarak "2039" değeri elde edilir. Bu değer, sonraki tüm isteklerde kullanılan channelId’yi üretir.

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ımdadır. Kodda tanımlı 30 adet sabit bayt dizisi sırayla birleştirilir ve her bayt, dizinin sırası v olmak üzere 30 − v değeriyle XOR’lanarak çözülür. Sonuçta bir ikili blob elde edilir.

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) okunur; kalan kısım files/.mm/.file.jar yoluna yazılır. Başta nokta ile başlayan .mm ve .file.jar adları, dosya ve klasörleri Android/Linux tarafında gizli hâle getirerek sıradan incelemede gözden kaçmasını sağlar.

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

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

3. Komuta-Kontrol ve Dinamik Kod Yükleme

İletişim aşamasında zararlı, cihaz kimliğinden bir RSA anahtarı üretir ve gömülü bir alan adı listesinden rastgele birini C2 olarak seçer. Sabit tek bir adres yerine rastgele seçim, engellemeye karşı direnç sağlar.

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

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

Seçilen alan adı yanıt vermezse zararlı listedeki diğerlerini dener; kod 5 deneme hakkı tanımlar. Bu, altyapının bilinçli olarak dayanıklı (failover) tasarlandığını gösterir.

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

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

Zararlı, kendini güncelleyebilen modüler bir yapıya sahiptir. Sunucudan dönen yanıttaki dexVersion değeri cihazdaki sürümden büyükse, dexUrl adresinden yeni bir payload indirilir.

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ür ve zararsız bir geliştirici kütüphanesi izlenimi vermek için sdk.jar adıyla diske yazılır.

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

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

sdk.jar ardından bir classloader aracılığıyla çalışma zamanında belleğe yüklenir. Kod diskte statik olarak tutulmayıp ihtiyaç anında indirildiği için imza tabanlı tespitten kaçınır.

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ır. Bu adımdan sonra cihaz, saldırganın trafiğini üzerinden geçirebileceği bir proxy düğümüne dönüşür.

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

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

4. Port 12101 Üzerinden Yerel Haberleşme

Analizde öne çıkan bulgulardan biri, zararlının cihaz üzerinde yerel olarak 12101 portu üzerinden haberleşmesidir.

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

Yerel 12101 portu üzerinden haberleşme

Zararlı, bu port üzerinden cihazda çalışan başka bir bileşene ikili (binary) bir protokolle bağlanıp cihaz kimliği ister. Bu, zararlının tek başına çalışmadığını; head unit üzerinde bir kimlik sağlayıcı bileşenle entegre olduğunu, yani üretim/dağıtım aşamasında yerleşmiş bir ekosistemin parçası olduğunu gösterir.

Protokol akışı şöyledir: önce 0x6492 verisi gönderilir, ardından 101 komutu iletilir. Cihazdan dönen yanıt da 0x6492 imzasıyla başlar. Bu sabit imza, iki bileşen arasında önceden anlaşılmış özel bir protokol bulunduğunu doğrular.

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

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

Buraya kadarki bulgular statik ve dinamik kod analizine dayanmaktadır. İzleyen bölümlerde zararlının yayılma yöntemi ve C2 altyapısının izini sürme çalışması ele alınmaktadır.

5. TWCore Güncelleyicisi ile Dağıtım

Kurbanın kurduğu ilk uygulama temizdir; zararlı kod sonradan indirilir. Head unit’lerde analiz, güncelleme ve yönetim için kullanılan meşru bileşen TWCore, komutlarını MQTT üzerinden alır.

Bu güncelleyici sistem yetkisiyle çalıştığı için kullanıcı onayı gerekmez. installNotExists ayarı sayesinde cihazda daha önce hiç bulunmayan uygulamalar bile sessizce kurulabilir. Kullanıcı hiçbir şey indirmeden, herhangi bir yere tıklamadan cihaz kendi güncellemesi üzerinden enfekte olur. Bu, tipik bir tedarik zinciri (supply-chain) saldırısıdır.

6. C2 Trafiği ve Altyapı Analizi

C2 trafiği incelendiğinde cihazın MAC adresi, IMEI, Android ID ve tarayıcı User-Agent bilgisini sunucuya gönderdiği tespit edildi. Sunucu tarafındaki incelemede saldırganın kurban sorgulama API’sine ulaşıldı.

Kayıtlarda öne çıkan ilk cihaz MF-MQX02 model bir araç multimedya sistemiydi.

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

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

Kurban listesi araçlarla sınırlı değildi; TV BOX, Wellbox, TX9 PRO gibi ucuz Android kutuları da aktif kurbanlar arasındaydı. Aynı zararlı ekosistem, benzer donanıma sahip gömülü cihazlara da uzanmaktadır.

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

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

Altyapı üzerinde yapılan incelemeyle proxy düğümlerinin tamamı listelenebildi. Yalnızca çevrimiçi düğümlere bakıldığında, tek bir ölçümde (03.56) 16 aktif düğüm gözlemlendi. Zararlı, proxy hizmeti için 7777, 8888, 9919, 9999 ve 10000 portlarını açar. Test amaçlı bağlantı denemelerinde bu düğümlere gerçekten bağlanılabildi; yani 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

7. Tıklama Dolandırıcılığı

Zararlının bir diğer işlevi, JavaScript ile otomatik arama yaptırıp reklamlara tıklatmasıdır. Bu, kurbanın cihazını saldırgana reklam geliri üreten bir düğüme çeviren klasik bir click fraud düzeneğidir.

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önderir. Böylece web tarafındaki otomasyon ile cihazdaki yerel zararlı bileşen birbirine bağlanmış olur.

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

JavaScript’ten Android yerel uygulamaya veri aktarımı

Sonuç

İncelenen zararlı, önceden yüklenmiş meşru bir güncelleyici bileşenini kötüye kullanarak Android araç head unit’lerini ve benzeri gömülü cihazları hedef alan bir tedarik zinciri saldırısıdır. Dinamik kod yükleme, gizli dosya kullanımı ve rastgele C2 seçimiyle tespitten kaçarken, enfekte cihazları proxy botnet düğümlerine çevirip reklam/tıklama dolandırıcılığı yürütür. Kullanıcı tarafında görünür bir belirti bırakmaması ve donanımla birlikte gelmesi, bu tehdit sınıfını özellikle tehlikeli kılmaktadır.

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