Saldırganların koruma önlemlerini nasıl atlayabileceklerine dikkat ediyoruz. Yakın zamanda yapılan bir ankette, kötü amaçlı yazılımlar için bir komut ve kontrol (C2) altyapısı olarak Telegram şifreli mesajlaşma hizmetinin kullanımını inceledik. Telegram'ı C2 kanalı olarak kullanan kötü amaçlı yazılım, iletişim kurmak için genellikle Telegram Bot API'sini kullanır.
Soruşturma sırasında, Telegram'ın Bot API'si aracılığıyla gönderilen mesajları işleme biçiminde büyük bir kusur keşfettik. Bot API'nin çalışma prensibi nedeniyle, geçmiş tüm bot mesajları, HTTPS trafiğini engelleyebilen ve şifresini çözebilen bir saldırgan tarafından yeniden oynatılabilir. Aslında bu, rakibe hedef robot tarafından gönderilen veya alınan tüm mesajların eksiksiz bir geçmişini sağlayabilir. Botlar genellikle onlarla grup sohbetlerini paylaştığı için bu genellikle normal insan kullanıcılar arasındaki mesajları içerir.
Telegram C2 mesajlarına erişin
Telegram, TLS'nin kendisinin şifreli mesajlaşma uygulamaları için yeterince güvenli olmadığına inandığından, normal kullanıcılar arasındaki mesajları korumak için dahili MTProto şifrelemesini kullanır. Ancak bu, Telegram Bot API kullanan programlar için geçerli değildir, çünkü bu şekilde gönderilen mesajlar yalnızca HTTPS katmanı tarafından korunmaktadır ve her mesajda iletilen bazı önemli bilgileri elde edebilen herhangi bir saldırgan yalnızca iletimi gözetleyemez. Ayrıca hedef botun tam mesaj teslim geçmişini geri yükleyebilirsiniz. Önemli bilgilerden biri, tüm mesajları yerleştiren bot API belirtecidir.
Bu nedenle, hedef HTTPS bağlantısında MiTM gerçekleştiren rakibin bu verileri elde etmesi önemsizdir. Diğer bir önemli kısım, rastgele oluşturulan Telegram chat_id'dir. Tek bir sohbet durumunda bu, kullanıcının kendi benzersiz kimliğidir ve grup sohbetleri, oluşturulduklarında kendi chat_id'lerini oluşturur. Bununla birlikte, bu bilgiler herhangi bir Bot API isteğinde de gönderilecektir, çünkü botun bilgileri hangi kullanıcı veya grup sohbetine göndereceğini bilmesi gerekir.
Bu bilgilerle donatılmış birçok yöntem Telegram Bot API'sinden çağrılabilir. Bizim durumumuzda forwardMessage () yöntemi özellikle yararlıdır çünkü belirli bir botun herhangi bir sohbetten herhangi bir mesajı herhangi bir Telegram kullanıcısına iletme hakkına sahip olmasına izin verir. Bunu yapmak için, API jetonuna ve 'chat_id (daha önce bot tarafından gönderilen mesajdan veya kötü amaçlı yazılımın kendisinden çıkarılmış) ve' hedef 'chat_id'ye (bu bizim kendi kullanıcı kimliğimizdir) ihtiyacımız var, Sonuncusu, iletmek istediğimiz mesajın kimliğidir.
Neyse ki bizim için message_id 0'dan büyüyor, bu yüzden basit bir Python betiği botun o anda ait olduğu Telegram sohbetine gönderilen tüm mesajları iletebilir.
GoodSender
Söz konusu kötü amaçlı yazılım, operatörün "GoodSender" adını verdiği ve C2 olarak Telegram'ı kullandığı oldukça basit bir .NET kötü amaçlı yazılımıdır. Oldukça basit bir şekilde çalışır: Kötü amaçlı yazılım kaldırıldığında yeni bir yönetici kullanıcı oluşturur ve uzak masaüstünü etkinleştirir ve güvenlik duvarı tarafından engellenmemesini sağlar. Yeni yönetici kullanıcının kullanıcı adı statiktir, ancak parola rastgele oluşturulur. Tüm bu bilgiler (kurbanın kullanıcı adı, şifresi ve IP adresi) operatöre telgraf ağı aracılığıyla gönderilir, böylece operatör kurbanın bilgisayarına RDP aracılığıyla erişebilir.
Şekil 1-Telegram Bot URL'si oluşturmak için GoodSender kodu Şekil 2-Telegram Bot'un profil ekranıAktivite programı
Saldırgan başlangıçta geliştirdiği başka bir kötü amaçlı yazılımla uğraşmak için Telegram botunu kullandı. Bu ilk kötü amaçlı yazılımın adı "RTLBot" idi ve birkaç ay içinde geliştirmeden vazgeçmeden önce birçok başka özellik ekledi ve bunun yerine yukarıda bahsedilen kötü amaçlı yazılım olan "GoodSender" ı geliştirdi. Aşağıdaki zaman çizelgesi ve dahil edilen ekran görüntülerinin ayrıntıları, kötü amaçlı yazılımın geçmiş C2 iletişimlerinden parça parça bulundu.
1. 4 Şubat 2018-Robot robot yayında.
2. 18 Şubat 2018-Telegram C2 işlevlerini RTLBot'a entegre etmeye ve geliştirmeyi Telegram'a aktarmaya başlayın.
3. 20 Şubat 2018-Saldırgan, altyapısını kişisel bilgisayarından AWS'ye (Amazon Web Services) taşıdı.
4. 1 Nisan 2018-GoodSender ilk kurban bilgilerini yaymaya ve göndermeye başladı.
5. 6 Haziran 2018-Saldırgan, bot aracısı olarak başka bir VPS kiraladı.
6. 5 Temmuz 2018-GoodSender, son gerçek kurban bilgilerini gönderir.
7. 29 Eylül 2018-GoodSender, son test kurbanı bilgilerini gönderir.
23 Kasım 2018'de saldırgan, aynı bot API anahtarını ve C2 kanalını bir Instagram hesabından bilgi toplamak için görünen bir araçta birleştirdi. API anahtarını ve kanalı "üretim" değerine değiştirmeden önce, kanalın botları test etmek için kullanılabileceği görülüyor.
Şekil 3-Görünüşe göre bot tarafından Telegram kanalına yüklenen yazarın geliştirme makinesinin ekran görüntüsü Şekil 4 - Yazarın geliştirme ortamının başka bir ekran görüntüsü, yeni aracının ilk olarak 6 Haziran 2018'de gözlemlendiğini gösteriyorSaldırganın kötü amaçlı yazılımın saldırı vektörünü serbest bırakması için net bir amaç bulamamış olsak da, bazı ipuçları EternalBlue güvenlik açığını yamalanmamış makinedeki kötü amaçlı yazılımı serbest bırakmak için kullandığını gösteriyor:
1. "EternalBlues" adlı ücretsiz EternalBlue güvenlik açığı tarayıcısını kapsamlı bir şekilde kullanır;
2. EternalBlue saldırılarına karşı savunmasız olan ABD ve Vietnam fikri mülkiyet haklarının taranmış bir listesi var ve bu listeyi kurbanlarından bazılarına bulaştırmak için kullanıyor.
Araştırmamıza göre, GoodSender, başta Amerika Birleşik Devletleri olmak üzere en az 120 kurbanı enfekte etti.
Şekil 5-GeoIP bilgilerine dayalı GoodSender kurbanlarının kırmızı-sıcak / mavi-soğuk-sıcak haritasıGenel olarak
Önceki örnek olay incelemelerimizde, mesajları tekrar oynatmak için bu özel teknik saldırganları tespit etmek için kullanılıyordu, ancak artık Telegram Bot API'sini kullanan yasal uygulamalarda da kullanılabilir.
Telegram'ın "güvenli mesajlaşma uygulaması" olarak tanıtılmasına ve normal sohbetler sırasında TLS'den daha yüksek teorik olarak garantili bir şifreleme şeması kullanmasına rağmen, botlar aktarım sırasında verileri şifrelemek için geleneksel TLS kullanır. Bu nedenle, TLS'nin şifresini çözme yeteneğine sahip bir MitM konumundaki bir saldırgan, bot belirtecine ve chat_id'ye erişim sağlayabilir; bu, yalnızca mevcut iletişimin tamamen tehlikeye atılmasına yol açmakla kalmaz, aynı zamanda botun katıldığı önceki tüm iletişimleri de etkiler.
Bu nedenle, freebuf editörü, tüm kullanıcıların Telegram botlarını kullanmaktan kaçınmalarını ve bot kanallarını ve gruplarını kullanmaktan kaçınmalarını önerir.
IOC'ler (GoodSender)
943eceb00ea52948c30deab1d5824ffcf2fd1cec* Referans kaynağı: Zhou Datao tarafından derlenen forcepoint, lütfen FreeBuf.COM'dan olduğunu belirtin