Pengungkapan nomor telepon dan geolokasi melalui kerentanan di Telegram

gambar

Baru-baru ini, Telegram semakin membahas topik menerobos orang dan membocorkan data pribadi. Saya bertanya-tanya seberapa besar ekosistem Telegram itu sendiri tahan terhadap kebocoran tersebut.

Di bawah potongan adalah kisah tentang bagaimana saya menemukan bug di Telegram. Bug ini memungkinkan Anda untuk menyesatkan pengguna, dan mendorongnya untuk secara tidak sengaja membagikan datanya - geolokasi dan nomor telepon.

Begini cara kerjanya:


Kompleksitas sistem selalu menjadi musuh keamanan.

Telegram telah berkembang, tidak lagi hanya menjadi pembawa pesan, dan telah berkembang menjadi platform media besar dengan fungsionalitas yang kaya. API Bot Telegram menonjol sebagai rumah terpisah, memungkinkan Anda untuk membangun seluruh aplikasi di dalam messenger - yang disebut bot.

Kemungkinan besar, semua orang yang mencoba membuat bot mereka sendiri sudah tahu bahwa pengguna dapat dikirimi permintaan nomor teleponnya menggunakan tombol khusus.

Teks pada tombol ini dapat diatur ke apa saja. Selain itu, bot dapat menggunakan tombol yang sama untuk interaksi lain:

gambar

Setelah mengklik tombol, pengguna tentu saja akan diberi peringatan bahwa sekarang kontaknya akan dikirim ke bot:

gambar

Pesan ini berbicara cukup jelas tentang risiko deanonimisasi, dan memperingatkan pengguna yang bijaksana dari tindakan yang berbahaya baginya.

Melihat pembaruan API, saya ingat bahwa pada titik tertentu Telegram memberi pengguna kesempatan untuk membuat lokalisasi messenger mereka sendiri. Ada beberapa contoh ketika lokalisasi digunakan untuk perubahan komik dari antarmuka. Pada saat itu, terlintas dalam pikiran saya bahwa Anda mungkin sekarang:

Tetapi bagaimana jika Anda mencoba untuk "menerjemahkan secara lucu" kotak dialog yang memperingatkan pengguna tentang mentransfer nomor telepon ke bot, mengganti teksnya?

gambar gambar

Pada awalnya, saya berpikir bahwa mendapatkan pengguna untuk menginstal pelokalan file xml yang asing dalam aplikasi akan jauh lebih sulit daripada hanya meyakinkan untuk mengklik Bagikan kontak. Memang, seperti itu, menggunakan file xml, Telegram menawarkan untuk mendistribusikan lokalisasi di antara lawan bicara.

Jadi saya pikir, sampai saya menemukan setlanguage link handler di kode sumber aplikasi android .

gambar

Persis apa yang dibutuhkan!

Ternyata Telegram telah lama membuat platform terjemahan, translation.telegram.org, dapat diakses oleh semua pengguna Telegram, dan sekarang tidak perlu mentransfer file xml apa pun.

gambar

Cukup klik pada tautan t.me/setlanguage/%lang%, setelah itu pengguna akan melihat kotak dialog yang meminta Anda untuk menginstal bahasa baru. Dan jendela ini jauh lebih menakutkan daripada pesan tentang permintaan nomor telepon:

gambar

Bagaimana itu bekerja?


Daftarkan di translation.telegram.org .

Tambahkan bahasa Anda, terjemahkan elemen antarmuka yang diperlukan dan beberapa lagi lainnya .

Di lokalisasi, Anda dapat menulis apa pun yang Anda inginkan. Kami akan menulis teks yang tidak berbahaya alih-alih peringatan mengerikan tentang berbagi geolokasi dan nomor telepon. Kami melakukan hal yang sama untuk platform lain.

Bahasa beracun kami siap. Masih menyelipkannya ke pengguna.

gambar

Saya masih tidak dapat menemukan cara untuk mengetahui apakah pengguna menginstal pelokalan yang ditawarkan kepadanya. Tidak ada statistik bahasa pada terjemahan.telegram.org, atau perubahan dalam profil pengguna. Bot api memungkinkan Anda mengetahui bahasa pengguna melalui parameter language_code, tetapi nilainya diambil dari pengaturan sistem. Mengubah bahasa dalam aplikasi tidak mempengaruhi parameter.

Nah, maka cukup tambahkan sedikit keterlambatan setelah pesan dengan tautan ke bahasa. Setelah memilih bahasa, kami menyarankan pengguna untuk membiasakan diri dengan menu bot. Ketika Anda mengklik OK di kotak dialog ini, nomor bocor ke bot dengan pesan, dan bot segera menghapus pesan ini. Jika bot menggunakan webhook untuk menerima pembaruan, pesan dihapus lebih cepat dan pengguna mungkin tidak mengerti bahwa ia baru saja mengirim kontaknya.

Ngomong-ngomong, mirip dengan permintaan kontak, bot dapat meminta pengguna untuk membagikan geolokasi-nya. Ya, dan kotak dialog ini juga dapat "diterjemahkan".

Bagaimana cara memperbaiki


Jelas, Anda seharusnya tidak mengizinkan pengguna menerjemahkan sepenuhnya seluruh antarmuka tanpa moderasi. Omong-omong, moderasi terjemahan diaktifkan untuk, misalnya, kotak dialog ini translation.telegram.org/rutech/ios/unsorted/AuthCode.Alert . Kebutuhan akan moderasi dilaporkan kepada kami oleh label Kritis.

gambar

Ternyata kelalaian kecil seperti kurangnya label Kritis untuk dialog tentang berbagi nomor dan geolokasi menyebabkan kebocoran. Bocoran data yang sangat sensitif, seperti untuk messenger yang membangun pemasarannya di seputar privasi / keamanan.

Seorang kurir yang terikat pada nomor telepon pribadi Anda, menurut definisi, tidak boleh pribadi. Itu hanya dapat meningkatkan biaya pengungkapan identitas Anda.

Kerentanan ini jatuh ke dalam program telegram karunia bug dan diberi peringkat 100 €.

PS

Datang kepada kami di Telegram chat @secinfosec . Di sana kami berbagi pengalaman kami dan mendiskusikan segala sesuatu yang berkaitan dengan keamanan informasi: bug karunia, pentest, kertas dan keamanan praktis, ancaman baru dan metode penanganannya.

All Articles