Geçen aylarda, birkaç kez daha önce yazdığımız Cerberus Android kötü amaçlı yazılım kaynak kodu halka açıldı.
Cerberus Rat hakkında yazı için *** Gizli metin: alıntı yapılamaz. ***
Giriş
Geliştiricisi, bir üretici forumunda ellerini yıkamadığını ve başarısız bir müzayedenin ardından, kaynak defteri müşterilerini ve söz konusu forumun tüm premium kullanıcılarının ile dağıtımını belirttikten sonra yayınladı.
Bu kararın elde edilmesi, kötü niyetli yazılımın, tespit edilen testlerin analizinden zaten bilinenin eşiğine nasıl gelindiğiyle artık mümkün
.
Ana geliştiricinin mesajı
Kötü amaçlı uygulama kitapçıklarından daha ilginç olan, kontrol sunucusunda çalışan kodun analizidir. Sonuç olarak, örnekleri analiz etmek, kötü amaçlı yazılımın nasıl yapıldığı hakkında zaten büyük miktarda bilgi sağladı. Bununla birlikte, bu, sunucu tarafından çalıştırılan kodu elimize ilk kez yayıldıkça ve çalınan **yasak-içerik** bilgilerinin geçişinin aşılması, bunları kullanmak için bir tür otomatik mekanizma olup olmadığını bilmek ilgi çekicidir.
Uygulama Kodu
Daha önce de yetişkinlerimiz gibi, kötü amaçlı kullanım kaynak kodlarını analiz etmek en ilginç yön değil, ancak bu kötü amaçlı yazılımın nasıl çalıştığı hakkında çok daha net bir fikrimize ve bunun gizli işleyişine olanak sağlama olasılığı keşfedilebilir veya hangi kod sürümüyle uğraştığımıza bağlı olarak, hazır geliştirilmekte olan son sürümlere henüz uygulanmamış geçmiş.
Analiz edilecek kodun en ilginç kısımlarından biri, kontrol sunucusuyla olan iletişim protokolüdür, çünkü kaynak koduna erişim sağlayarak, simüle eden ve kontrol sunucusuyla iletişim kuran küçük programları veya komut dosyalarını çalıştırmayı daha kolay hale getirir. mevcut kampanya hakkında bilgi alın. Kodun bir kısmı, potansiyel olarak yeni cihazlar analiz etmek için faydalı araçları geliştirmek üzere doğrudan yeniden kullanılabilir.
İçerik eklenmiş banka **yasak-içerik** avı yoluyla anket bilgilerini çözmek için kaynak kodu
Şifreleme elden çıkarmanın isimleri kaynak kodda görülebilir. Bununla birlikte, daha önce RC4 şifrelemesini kullanmasına rağmen, artık görülmesi çok daha kolay ve net.
Şifreleme bileşenleri ve onaltılık kodu
Uygulamada, Truva Atı tarafından kontrol sunucusuyla iletişim kurmak ve çalınan verileri kaldırmak için kullanılan URL'lerin tam listesini de alabiliriz. Aşağıdaki görüntüde, URL'lerin veri gönderimi ile talep eden kodda daha sonra kullanılan sabitler olarak nasıl tanımlandığını görebilirsiniz.
Bununla ilgili birincil kanıtımızda görülebileceği gibi, aşağıdaki URL'ler Truva Atı'nın ilk sürümüne karşılık gelir.
Sabit olarak tanımlanan URL'ler
Sunucu kodu
Sunucu bölmeleri, barındırdıkları iki ana öğeye ayırdık:
- geçiş : virüslü cihazlar tarafından yapılan gözlemler gözlem PHP Önceki kodu belirtilen URL'lere yapılan isteklerle ilgilenen sunucu kodudur.
- restapi : Karşılık gelen sonuçlarla yapılandırılmış isteklere yanıt vermek için sunucunun koleksiyonlarına sorgulayanlar yapan bir Rest API'si PHP kodunu uygular.
Sunucu kurulum betiğinin üzerinden geçersek, NGINX'te iki farklı sitenin nasıl yapılandırıldığını görebilirsiniz, bunlardan biri 80 bağlantılı bağlantı kapısı, diğer 8080 bağlantı istasyonu restapi için.
ikinci, normal ağ üzerinden değil TOR ağ üzerinden erişilebilir olacak şekilde algılamatır, böylece yalnızca ONION etki alanını bilen saldırganlar API'ye ayrıca istekte bulunma yeteneğine sahip olmalıdır.
Sunucunun kaynak koduna erişim, gizli bilgilerin yanı sıra, koddaki diğer saldırganlar tarafından veya analistler ve kurumlar tarafından botnet'i bozmak için kontrol altına almak için saldırganların güvenlik açıklarını açığa çıkarma. Karşılaşabileceğimiz güvenlik açıklarından biri, belgelerdeki sorgularındaki SQL korumalı güvenlik açıklarıdır.
Ancak, geliştiricilerin PHP kitabından oluşturdukları ifadeler kullanarak sınırları kapatmaya çalıştıkları görülüyor ki bu da en yaygın kapıda bu gibi güvenlik açıklarını engelliyor.
Bilgisayara yeni bir virüslü cihazın eklenmesi için verilen kod
Kötü amaçlı uygulama ve arka uç kodunun yanı sıra, kod deposunda her bir Cerberus botnet'in bulunduğu yer tarafından kullanılan panel koduna da rastlıyoruz.
Bu panel, TOR ağı üzerinden açığa çıkan Rest API'ye ulaşan bir ReactJS uygulamasıdır.
Botnet yönetimi arandığında, panelin ReactJS sunucusu kodu botnet yöneticisinin bilgisayarında çalıştırılması gerekli dosyaları, bu nedenle, analiz edilmesi, yöneticinin uzaktan kod çalıştırmasını bile etkinleştirebilecek güvenlik açıklarını hafifletebilir. bilgisayar. Kodun birkaç bölümü, JavaScript çalıştırmayı çalıştırmayı sağlayan try_eval işlevine çağrı buluyoruz:
Bu kullanım, virüs bu biçimli cihaz depolamalarından depolama sahiplerine ve belirli karakterlerin kullanılmasından kullanılırsa, bu JavaScript dosyalarını ReactJS yöneticileri ve saldırganların işletim sistemini kullanmak için kullanılabilir. Analizimiz sırasında bu işlevin korunmasını sağlayacak hiçbir güvenlik açığı tespit edilmedi.
Sonuçlar
Yılın en popüler Android banka Truva atlarından kullanan kaynak yazmanın yayımlanmasının olumlu ve olumsuz yanları vardır. Bir yandan, bu bankacının artık desteklenmiyor olması, orijinal projeyi sona erdirdi, bu da temelde bankacılık kötü amaçlı yazılım oyunu bir karakterden daha az olduğu amaç geliyor.
SMS gönderme
2FA yakalayıcı
SMS'in kesilmesi
Gizli SMS müdahalesi
Cihazınızı kilitleyin
sesi kapat
Keylogger (mesajcılar, watz uygulaması, telgraf-gizli, bankalar, vb, tarayıcılar hariç!)
USSD komutlarını yürütme
Çağrı yönlendirme
Banka sahte sayfa açma
Yüklü herhangi bir uygulamayı başlatın
Banka push bildirimi (Otomatik push - hangi bankanın kurulduğunu belirler)
URL'yi tarayıcıda aç
Yüklü tüm uygulamaları al
Tüm kişileri telefon defterinden alın
Kayıtlı tüm SMS'leri al
Herhangi bir uygulamayı kaldırma
Bot kendini yok etme
Hakların ve izinlerin otomatik olarak onaylanması
Bot, sunucuya bağlanmak için birkaç yedek url'ye sahip olabilir.
Enjeksiyonlar (html + js + css, cihaza indirme ve diskten çalıştırma, zayıf bağlantı veya İnternet eksikliği enjeksiyonların çalışmasını etkilemez)
kart kapmak
Posta Kapmak
Yönetici panelinde belirtilen süreden sonra enjeksiyonların otomatik olarak dahil edilmesi
Google Play Protect'in otomatik olarak kapatılması + yönetici panelinde belirtilen sürenin sonunda kapanma
Anti-emülatör (Cihaz aktif olduktan sonra bot çalışmaya başlar)
modülerlik
Bot uygulama boyutu 125'ten 180 KB'a (Crypt yaklaşık 1 MB)
Android 5 ve üzeri sürümlerde çalışır
Gizli SMS müdahalesi, sürüm 5 ve üzeri sürümlerden itibaren çalışır
Enjektörler, Android 5 – 10+ sürümlerinin tüm güncel sürümlerinde çalışır
Sunucu ve bot arasındaki veriler, rastgele bir anahtarla RC4 + base64 algoritması kullanılarak şifrelenir
Bot silmeyi engelleme
Engelleme yönetici haklarını devre dışı bırakma
Engelleme Erişilebilirlik Hizmetini Devre Dışı Bırakma
Gönderim için birkaç yedek alan olabilir
çok dilli
Benzersiz bot tanımlayıcısı
android versiyonu
Yapı İşaretleme
Cihaz ayarlarında ayarlanan ülke + dil
son vuruş
Ekran durumu (açık / kapalı)
Google Play Koruma durumu
Erişilebilirlik Hizmeti durumu
Yönetici Hakları Durumu
Ana modül alma durumu
Gizli SMS müdahalesinin durumu
Banka kayıtlarının, kartların ve postaların mevcudiyeti!
Yerleşik bankaların listesi
Cihaz IP'si
Cihaz bulaşma tarihi
Cihaz modeli
Şebeke
Pil şarj durumu
Sahibinin cep numarası
Telefon etkinliği (Bir öykünücünün varlığını belirleyin)
Bot çalışma saatleri!
Canlı yönetici paneli
Genel ve bireysel görevler
Bot tablosunu filtreleme
Kullanıcı dostu bir arayüz kullanarak kendi enjeksiyonlarınızı ekleme
Enjeksiyonları HTML biçiminde yükleme
İstatistikler: Çevrimiçi, Çevrimdışı, Günlükler
Uygulama listelerini ve telefon kişilerini veri tabanında saklama
Bankaların, kartların ve postaların ayrı günlükleri
Panel, sunucularımızda TOR ağında yer almaktadır.
Oluşturucu
LİNKİ İNDİR