Kerentanan dalam Telegram dapat membahayakan obrolan rahasia

Publikasi Peringatan Hari Jadi Telegram


Obrolan rahasia Telegram menggunakan enkripsi ujung ke ujung, jadi apa? Enkripsi ujung ke ujung Telegram dengan lemah melindungi korespondensi pengguna. Contoh sederhana: penyerang mendapatkan kunci pribadi Alice .pgp, tentu saja, untuk mendekripsi pesan yang dienkripsi untuk Alice, Anda memerlukan kata sandi untuk kunci ini, yang tidak dapat dihapus menggunakan doktrin perlindungan kata sandi modern. Di Telegram ujung ke ujung enkripsi pada Android - ini menjadi mungkin dengan probabilitas 100%. Bypass otentikasi dua faktor, pemulihan kode-pin dan pembajakan obrolan rahasia di Telegram tentang kerentanan ini akan menjadi artikel.

Dalam pekerjaan saya, saya akan mencoba menggambarkan manual terperinci tentang kerentanan Telegram pada perangkat Android, memberikan contoh tentang cara mengembalikan kode Telegram lokal di Android, Desktop Linux / Windows. Saya akan berkompromi dengan obrolan Telegram rahasia. Perusahaan saya akan membantu saya dalam konfrontasi dengan tim Durov: I (Root); Android 7.0; Android 6.0 (root) Android 4.4.2 (root) PC dengan OS GNU / Linux / Windows (root). Sekilas, sepertinya kekuatannya tidak sama, mari kita lihat ...

IMHO. Bagaimana semuanya dimulai


Dalam kasus saya, saya juga merasakan kekuatan penuh kampanye PR di sekitar platform Telegram. Pada roda besar "Kereta", hype bergulir dari bulan ke bulan, tanpa pusat dan tanpa batas. Pengaruh E. Snowden pada popularisasi enkripsi korespondensi di mana-mana. Ingat messenger ICQ cult dengan aplikasi QIP 2005 di Desktop, di mana semua korespondensi disimpan pada PC di domain publik dalam file .txt. Telegram mengenai enkripsi korespondensi "yang pertama kali mulai mengenkripsi korespondensi pribadi secara massal" tidak segera, tetapi kemudian menyatakan bahwa ia adalah pelopor. Sejarah Telegram tidak terlalu istimewa: sebuah kontes untuk keamanan protokol MTProto dari durov; Kolyma untuk seniman dan pelukis (menggambar stiker); API untuk membuat bot / aplikasi; ICO TON, yang membawa banyak uang kepada para pemilik Telegram; menghalangi utusan di Iran, Federasi Rusia dan lagi di Iran; serta memasuki jaringan isian online langka seluk beluk Telegram. Pada bulan Juli 2018 "Gerobak juga menyerbu saya." Ketika "Telegram berikutnya" muncul di pasar massal pengirim pesan instan dengan slogan sendiri dan peringatan kecil (ini sangat cepat, sederhana, dan gratis). "Telegram adalah aplikasi pengiriman pesan dengan fokus pada kecepatan dan keamanan." Dengan mengorbankan yang terakhir, dalam slogan yang keren, durov dan timnya (karena sisi teknis Nikolai Durov yang kuat) secara terbuka berinteraksi dengan para pakar keamanan informasi / penggagas informasi yang menemukan / mencoba menemukan kerentanan dalam protokol MTProto atau bug pada platform Telegram. Spesialis mengirim bahan mereka ke security@telegram.org - ini adalah metode resmi interaksi semacam itu oleh "pemburu hadiah" dan pengembang Telegram, juga disebutkan di sini
Faktanya, kami menyambut para pakar keamanan untuk mengaudit sistem kami dan akan berterima kasih atas umpan balik (security@telegram.org)

Format komunikasi tidak resmi, ketika surat diabaikan oleh pengembang Telegram, dan kemudian spesialis biasanya memposting tweet mereka di microblog, di mana durov mengomentari beberapa di antaranya.

Pada layanan Pangeran Hitam pengguna, privasi pada platform seluler Telegram disajikan sebagai pengembangan MTProto yang tak tertembus, tangguh, dan baru dari Nikolai Durov. Obrolan rahasia di Telegram (selanjutnya disebut MF) adalah obrolan yang ada di platform seluler Telegram dan dilindungi oleh enkripsi ujung ke ujung, kunci disimpan hanya pada perangkat yang dihasilkannya, dan ini juga merupakan kebanggaan Telegram-Dubai (saya akan menyebutnya kebanggaan). Telegram midrange dianggap sebagai ruang obrolan yang sangat aman di seluruh dunia, di dunia Telegram-Dubai. Beberapa kali durov mengguncang, membandingkan produknya dengan pesaing dalam bentuk suka perang publik dan selalu menang.

Melewati enkripsi ujung ke ujung dari Telegram messenger di Android, laporan bug dikirim melalui email ke email tersebut. Saya tidak menerima jawaban, beberapa hari kemudian saya menulis untuk dukungan teknis untuk sukarelawan Telegram. Relawan menjawab saya bahwa mereka akan menyampaikan ide saya kepada pimpinan Telegram, meminta saya untuk klarifikasi: di mana dan kapan saya mengirim surat saya. Setelah dua minggu hening, saya sekali lagi mengingat surat saya kepada para sukarelawan, kali ini sukarelawan kurir itu sama sekali mengabaikan pengingat saya. Seminggu kemudian, saya kembali mengulangi pengiriman surat ke surat resmi Telegram - tidak ada jawaban. Apa yang tersisa, apa yang harus dilakukan? repot dengan laporan bug Telegram Anda melalui microblogging ?, mengepung sumber komunikasi tidak resmi dari tim durov? Atau menulis dan memposting artikel untuk media? Hanya semacam birokrasi dunia maya telah terbentuk di jajaran Telegram. Saya tidak bisa tidak menyebutkan w9w dengan habr.com, yang, menurut pendapat saya, menemukan kerentanan terbaik pada platform Telegram: kerentanan di telegra.ph. Intinya - "setiap" pengguna dapat mengedit artikel orang lain di telegra.ph. Dengan laporan kerentanan w9w- nya (dia menemukan beberapa dari mereka), dia juga tidak bisa menghubungi security@telegram.org. Setelah menyelesaikan pencarian birokrasi, kami menerima hadiah finansial kecil untuk kerentanan yang ditemukan. Saya ingin tahu apakah ketamakan Telegram? atau alasan lain? Kembali ke Telegram, beberapa ulasan tentang itu.



Banyak orang memiliki album foto keluarga mereka sendiri, dan baghunter memiliki rekam jejak sendiri "bug yang ditemukan / kesalahan / kerentanan". Di PS saya, setelah menyelesaikan artikel, saya akan dengan acuh tak acuh melukis sel B30 dengan warna merah, sehingga pertanyaan saya tetap terbuka pada tim Telegram.

Bagian 1. Kembalikan kode lokal Telegram pada OS Android Linux / Windows Desktop. Berdasarkan kejadian nyata.


Pada bulan Juli, musim panas 2018 pada Github, salah satu pengembang pengelompokan informal versi John The Ripper (selanjutnya JTR) memposting kode sumber untuk modul parsing "telegram2john.py" yang ditulis dengan Python (berdasarkan tip dari pengguna "acak" yang membaca kode dari baris 411 ) . Dari nama program, menjadi jelas mengapa dan kepada siapa modul ini melayani. Siapa yang tidak mengerti arti dari modul tersebut, ini adalah modul yang memperluas fungsionalitas JTR. JTR resmi dapat menghasilkan 8 format, dan JTR jumbo-1-bleeding - 263 format (tidak termasuk + seratus format sha1 / 2 / md5 / $ dinamis yang baik), dan salah satu format ini adalah kode lokal Telegram. Setelah menguji "telegram2john.py", saya menemukan kesalahan di dalamnya: salah satu dari tiga kode lokal fungsi parsing Telegram tidak berfungsi dengan benar, yang saya laporkan kepada pengembang JTR di Github. Perbaikan untuk "telegram2john.py" keluar segera. Ini bukan daya tarik pertama pada bug yang ditemukan untuk pengembang JTR, dan setiap kali respons cepat dan koreksi kesalahan yang tidak terlalu cepat hanya baik ketika ada saluran komunikasi yang didirikan setiap hari. Setelah beberapa hari di veche rahasia , modul telegram2john.py disetujui dan dikirim ke repositori JTR.

Skema pemulihan kode lokal (Desktop-Telegram) adalah proses multi-langkah :

Read the salt (32 bytes), encrypted data and sha1 of decrypted data from a file.
Compute a PKCS5_PBKDF2_HMAC_SHA1 on the UTF8 (passcode), using the salt, 4000 iterations, keysize of 256 bytes
Use a Telegram-specific KDF to get the AesKey and AesIV (Relatively cheap - bunch of memcpy and 4x sha1)
Perform an AES-IGE-DECRYPT on the encrypted data using the derived key and IV from step 3.
Compare sha1 of decrypted data with the sha1 read in step 1. If they match - passcode is correct.

userconfing.xml (Android)


Internals /data/data/org.telegram.messenger/shared_prefs/userconfing.xml

Untuk pengguna JTR, operasi "perdarahan / Android-Telegram" disederhanakan menjadi proses dua tahap: menggunakan modul "telegram2john.py", "gambar hash" untuk prosesor John dari file userconfing.xml milik aplikasi Telegram (operasi waktu-instan), dan kekuatan kasar "hash" ini menggunakan JTR. Dengan operasi seperti itu, probabilitas pemulihan kode lokal di Android e berhasil 100%, waktu tunggu beberapa milidetik. Peluang memulihkan kode lokal di Desktop Linux / Windows adalah X% berhasil, waktu tunggu tidak ditentukan. Mengapa Karena, pertama, kode lokal adalah kode pin digital biasa pada Telegram empat digit (10 ^ 4 semua jenis kombinasi pin) tidak lebih dan tidak kurang, dan kedua, kode lokal algoritma enkripsi Telegram pada Android bukanlah kriptografi [SHA256 ($ s. $ p. $ s)] , maka kecepatan tebakan kata sandi yang tinggi. Situasinya berbeda dengan aplikasi Telegram Desktop di mana tidak ada obrolan rahasia: dalam aplikasi Desktop, enkripsi kode lokal kuat (kecepatan pencarian pada hash CPU hash Desktop / Telegram 10.000 kali lebih lambat daripada kecepatan pencarian hash Anroid / Telegram), dan yang paling penting kode lokal pada Desktope / Telegram dapat diatur ke panjang "apa saja" dan menggunakan karakter apa pun.


Kekuatan kriptografis dari kode lokal Desktop Telegram tinggi, kecepatan brute force 10k kali lebih lambat daripada kode lokal kasar Android Telegram.

Secara pribadi, saya mendapat kesan bahwa pengembang Telegram bekerja untuk menciptakan protokol MTProto yang unik dan aman, dan bukan pada privasi pengguna yang komprehensif, misalnya, cache terbuka aplikasi yang disimpan dalam direktori root non-Android atau kode lokal non-kriptografi, yang, pada gilirannya, pulih dengan probabilitas 100%.

Pada saat penulisan, JTRs out of the box di Kali Linux dan Parrot Security OS terbaru belum diperbarui sejak 2015, mereka memiliki bug yang tidak memungkinkan untuk menguraikan kode Telegram lokal (JTR-jumbo-1-bleeding selalu memiliki beberapa bug, tetapi fungsinya. mengembangkan lebih curam daripada yang Anda pikirkan jika Anda memikirkan perangkat lunak Hashcat). Jadi, pengguna Kali / Parrot yang berpengalaman tidak dapat meretas untuk mengembalikan Telegram kode lokal; di Windows / Android, JTR yang terpotong dalam fungsi juga tidak baik. Karena itu, Anda harus menginstal JTR dengan Github di OS Anda (untuk sistem Linux). Agar perangkat lunak JTR berhasil dikompilasi, sebelum mengkompilasi program, kirimkan paket ke OS Anda "libssl-dev", lalu

 git clone git://github.com/magnumripper/JohnTheRipper -b bleeding-jumbo john && apt-get install libssl-dev && cd john/src && ./configure && make -s clean && make -sj4 john/run/telegram2john.py userconfing.xml >  #  "telegram2john.py"   GNU/Linux ,   : python telegram2john.py userconfing.xml >  JohnTheRipper/run/john  --mask=?d?d?d?d #    –  local code Android Telegram   . 


Memulihkan kode lokal Android Telegram. Pin 5369.

Demikian pula, dengan brute kode lokal dari aplikasi Linux / Windows lokal Telegram, alih-alih file userconfing.xml, jalur ke direktori Telegram ditunjukkan:

(Linux): ~ / telegram2john.py ~ / .local / share / TelegramDesktop;
(Windows): ~ / telegram2john.py “C: / Users / Name / AppData / Roaming / Telegram Desktop” (untuk aplikasi Telegram yang ketinggalan zaman pada Windows);
(Windows): ~ / telegram2john.py "Telegram Desktop" (untuk aplikasi Telegram yang diperbarui pada Windows).

Harap dicatat, jika Anda ingin mem-parsing kode Telegram lokal lagi, JTR akan menampilkan "Tidak ada kata sandi". Alasannya adalah karena kata sandi telah ditemukan sebelumnya. Johnny, jangan pernah mengembalikan kata sandi kali kedua dan selanjutnya, alih-alih, gunakan opsi "--show hash", tetapi terkadang bug dapat terjadi, dan opsi "--show" tidak akan berfungsi sebagaimana mestinya (saya menemukan bug seperti itu dengan hash lainnya, tetapi semuanya sudah diperbaiki oleh pengembang JTR). Dalam hal ini, lihat file ~ / john / run / john.pot, semua kata sandi yang ditemukan disimpan di dalamnya, jika Anda mengosongkannya, Anda dapat mem-brute hash dengan kata sandi yang ditemukan.


John The Ripper tidak akan mengotori tangannya dengan darah tentang kode lokal Android Telegram

file userconfing.xml , yang merupakan target untuk JTR, terletak di bawah direktori root Android:

 /data/data/org.telegram.messenger/shared_prefs/userconfing.xml 

Jadi Anda bisa mendapatkan file dengan hak root, baik melalui TWRP atau menggunakan forensik digital.

Manual video terperinci untuk memulihkan kode Telegram lokal di tautan Android / Linux / Windows di akhir artikel.

Bagian 2. Putih dimulai dan kalah. Pencurian obrolan rahasia di Telegram. Berdasarkan juga pada peristiwa nyata.


Bagaimana perlindungan berdasarkan Telegram:

  1. Masukkan nomor telepon;
  2. Menerima SMS atau kode dalam aplikasi pada perangkat lain - opsional, memasukkan kode SMS atau kode yang diterima dalam aplikasi pada perangkat lain.
  3. Pemblokiran akun sementara dengan pengguna yang sering (termasuk berhasil) masuk.

Ketika mencegat SMS semacam itu, Anda dapat masuk ke akun pengguna, tetapi Anda tidak bisa mendapatkan akses ke obrolan rahasia teroris , karena mereka ada dan hidup hanya pada perangkat antek ISIS , di mana mereka dihasilkan, yang berarti bahwa Anda tidak akan secara khusus waspada terhadap mereka yang menjaga operator seluler tetap di cek.

Opsional, dasar + perlindungan Telegram yang ditingkatkan:

  1. Masukkan nomor telepon;
  2. Menerima SMS atau kode dalam aplikasi di perangkat lain - sesuka hati, memasukkan kode atau kode SMS dari aplikasi;
  3. Masukkan kode cloud Telegram (disimpan di server Telegram dan dalam pikiran Anda, setel ulang / ditautkan melalui email);
  4. Pengaturan kode lokal (pada Android, pengaturan - privasi dan keamanan - kode kata sandi);
  5. Memeriksa sesi saat ini / saat memasuki messenger;
  6. Keluar dari semua sesi kecuali yang sekarang;
  7. Menghapus konten pengatur waktu menengah;
  8. Larangan layar / merekam layar midrange;
  9. Pemblokiran akun sementara dengan pengguna yang sering (termasuk berhasil) masuk;
  10. Ternyata selama pencurian midrange (masuk ke akun orang lain dari ip lain), larangan sementara akun nyata / dikompromikan ~ setelah 5 menit dan pembatalan midrange di Telegram. Dalam jaringan akun nyata / kompromi yang sama, Telegram lupa untuk melarang pembajakan akun.

Di bawah ini saya akan menunjukkan bahwa midrange rentan, saya akan membajak salah satu midrange ini (akun pengujian saya di Telegram) dan akan menyamar sebagai pengguna "Bos"

Setelah berhasil memulihkan kode lokal Telegram, saya memutuskan untuk merasakan file di sebelah file userconfing.xml di Android. Membuat obrolan rahasia, melihat file mana dan di mana subdirektori diperbarui pada waktunya. Saya mencoba menyalin file-file ini dari OS Android 4.4.2 ke gadget lain dengan OS Android 6.0 (Saya mentransfer file antar gadget melalui rar; arsip zip). Diinstal dengan GP versi terbaru Telegram pada Android 6.0. Dipindahkan dari Android 4.4.2> Android 6.0 memperbarui file ke direktori yang sama

 /data/data/org.telegram.messenger/shared_prefs /data/data/org.telegram.messenger/files /data/data/org.telegram.messenger/no_backup 

Menurut akun pengujian yang dicuri , Telegram mengembalikan hak (yang ada pada 4.4.2) untuk setiap file dan folder secara pribadi, operasi tidak cepat (file yang berbeda memiliki hak paling beragam), ditugaskan Telidram UID GID.



Meluncurkan aplikasi. Segera semua file yang dicuri diperbarui pada waktunya, dan layar "pengguna baru" menyambut saya. Telegram berperilaku seolah-olah saya adalah pengguna baru dan menyarankan mendaftar atau masuk melalui telepon (prosedur standar untuk instalasi awal Telegram di Android). Artinya, saya tidak bisa membobol akun orang lain. Menyelinap lebih banyak dan beberapa kali dari sisi yang berbeda, tetapi pada akhirnya - file .

Saya mencoba cara lain - cadangan akun tes Telegram melalui cadangan Titanium.
Saya membuat cadangan aplikasi pada Android 4.4.2, menggunakan cadangan 4.4.2. di Android 6.0.



Hak atas aplikasi yang dicuri, mengubah UID / GID tidak diperlukan - Titanium Baseup akan melakukan segalanya. Saya meluncurkan akun kompromi Telegram di Android 6.0 dan sulap! Saya mendapat permintaan untuk memasukkan kode lokal pengguna "Host". Middlegame semacam itu dengan cadangan menyediakan bypass otentikasi dua faktor tanpa korban dan trik. Telegram, untuk bagiannya, hanya meminta kode lokal dari akun yang dicuri. Kirim file curian

 /data/data/org.telegram.messenger/shared_prefs/userconfing.xml 

pada VDS dengan Kali Linux terinstal, di mana JohnTheRipper tidak lagi tidur dalam menjalankan proses, saatnya untuk bertindak. Detik berikutnya, persetan dengan kode lokal! Hash tidak tahan berdiri, retak.



Red highlighted (atas ke bawah) diterima:

  • Hash untuk JTR menggunakan modul telegram2john.py;
  • Kode lokal Android Telegram yang diperbarui;
  • Pekerjaan penuh waktu Johnny (kata sandi brute force berkecepatan tinggi, opsi - - -mask =? D? D? D? D, memberi tahu Johnny bahwa ia memilih kode digital 4 digit, tidak menyalakannya, sehingga JTR mempercepat dan menunjukkan kecepatan amarahnya );
  • Minta JTR dari kode lokal yang dipulihkan.

Cool Johnny! apakah itu tidak benar

Setelah menyalahgunakan "bagian" dari properti Telegram, setelah memulihkan kode lokal Telegram menggunakan JTR Android, ia masuk dengan akun uji ip-nya ke akun orang lain , yang awalnya terletak di Android 4.4.2., Dan sekarang dibangun di Android 6.0. Pada saat yang sama, saya melihat semua obrolan rahasia korban dan semua korespondensi di dalamnya. Saya mencoba menulis, di midrange yang dibuat sebelumnya, ke pengguna Android 7.0 dan pesan berhasil dikirim. Pengguna Android 7.0 mengirim respons, pesan respons tidak hanya diterima, tetapi diterima pada dua gadget: di Android 6.0 dan di Android 4.4.2. Saya memeriksa sesi login terakhir: pengguna yang sebenarnya menampilkan ip-nya dan gadget Teclast Android 4.4.2 (pengaturan - privasi dan keamanan - sesi aktif); penyerang Android 6.0 dalam "sesi aktif" menampilkan perangkat Teclast Android 4.4.2, ip Virginia. Artinya, pengguna sebenarnya tidak menerima informasi melalui "Sesi Aktif" yang akunnya telah disusupi, tetapi menerima informasi "salah" bahwa ia online dari salah satu perangkatnya dan dari salah satu ip-nya.



Pengguna nyata melalui sesi aktif tidak melihat bahwa ia dikompromikan. Sejarah sesi terakhir tidak mencatat titik masuk penyerang. Selain itu, dalam akun nyata "Host", saya mengklik "logout dari semua sesi kecuali yang sekarang". Pada saat yang sama, penyerang tidak dikeluarkan dari sesi, terlepas dari status penyerang online / offline.

Saya mencoba operasi yang sama mengenai akun yang disusupi - hasilnya serupa: "Master" tidak dikeluarkan dari Telegram, kunci sesi adalah sama. Luar biasa ya?

Bisakah tombol grafis indikator keamanan midrange? Kunci obrolan rahasia bukanlah indikator keamanan, dalam percobaan ini mereka bertiga saling mengalahkan.


Semua kunci sama termasuk akun yang disusupi.

Telegram mengklaim bahwa jika kunci dipukuli pada 2 perangkat, Anda aman - ini tidak benar. (Digresi. Anda masih perlu memverifikasi kunci, setelah menginstal Telegram pada Android dan ketika membuat midrange pertama, pengguna midrange tidak memiliki snapshot kunci, dan gambar grafis dari tombol berbeda pada perangkat. Midrange bekerja seperti biasa, yang saya tidak mengerti, dan itu adalah kasus yang terisolasi ketika kunci tidak berdetak di antara mereka sendiri).

Saya kembali ke metode pertama "copy-paste", yang awalnya saya tidak berhasil.

Saya ulangi semua langkah saya sebelumnya, menambahkan tindakan ke-3 menengah.

1) Diinstal dengan GP versi terbaru Telegram.

2) Direktori yang ditransfer dari OS 4.4.2 ke gadget lain dengan OS 6.0 (hanya mentransfer data sensitif. Saya tidak menyalin Telegram dan direktori lainnya)

 /data/data/org.telegram.messenger/shared_prefs /data/data/org.telegram.messenger/files /data/data/org.telegram.messenger/no_backup 

3) Menghapus folder pada Android 6.0 , periksa

 /data/data/org.telegram.messenger/code_cache 

4) Saya tidak secara pribadi mengembalikan hak, melainkan, saya membagikan 777 hak (akses penuh) ke semua direktori yang dijelaskan di atas "secara rekursif". Saya menetapkan direktori yang sama kepada pemilik dan pemilik grup (UID / GID) "Telegram" (sebenarnya, "secara rekursif" di direktori root tidak berfungsi dengan baik di TC, jadi saya harus memeriksa ulang penetapan hak).

5) Maju! Saya meluncurkan Telegram di jaringan lain dengan ip - kegagalan yang berbeda, sekali lagi ini adalah sambutan dari pengguna baru dalam bahasa Inggris.

6) Maju! Mulai ulang Telegram, skakmat! Telegram mengeluarkan peringatan untuk memasukkan kode lokal pengguna yang menggunakan Android-e 4.4.2 (dan yang dipulihkan dengan probabilitas 100%), sementara tidak ada permintaan dari Telegram ke kode cloud atau SMS dan masih sama sekali tidak ada. Bypass otentikasi dua faktor, tidak! Memotong enkripsi ujung ke ujung Telegram berhasil.

Hasil: pesan penyerang di midrange juga berhasil dikirim atas nama pengguna asli, dan semua korespondensi midrange juga tersedia. Setelah ~ 400 detak jantung cemas saya, ketakutan itu dikonfirmasi: akun curian diblokir oleh Telegram dari seorang penyerang dan pengguna nyata; MF - dibatalkan.


Pemblokiran sementara akun Telegram.

Setelah masuk ke Telegram lagi (kadang-kadang larangan terjadi selama sehari, tapi saya beruntung, karena beberapa alasan semua lonceng dibagikan untuk yang kedua hari itu), pengguna sebenarnya memiliki segalanya seperti biasa, dan penyerang tidak bisa lagi mengendus akun yang disusupi (kunci sesi diperbarui).

Saya bisa membantah beberapa pernyataan Telegram


telegram.org/faq - "MF hanya dapat di perangkat yang berasal dari MF."
I - "Seperti yang Anda lihat, midrange tidak hanya pada perangkat asal midrange, tetapi juga pada perangkat di mana ada kunci Root dan midrange, terlepas dari versi OS Android."
telegram.org/faq - “Anda dapat membandingkan gambar ini (catatan: gambar tengah) dengan yang dimiliki teman Anda - jika kedua gambar itu sama, Anda dapat yakin bahwa obrolan rahasia aman”
I - "Ya, aman, tetapi hanya di dunia Telegram-Dubai"; "Kamu tidak bisa memastikan obrolan itu aman."
telegram.org/faq - "Kami juga menyarankan Anda mengaktifkan otentikasi dua langkah dan menetapkan kode akses yang kuat untuk memblokir aplikasi Anda, Anda akan menemukan kedua opsi di pengaturan - Privasi dan Keamanan."
I - “Kode akses yang kuat hanya dapat ditetapkan di aplikasi Telegram Desktop Linux / Windows, tetapi tidak pin /“ kata sandi ”di aplikasi Android”
telegram.org/faq - “Seorang pengguna dengan akses root dapat dengan mudah mem-bypass fitur keamanan yang dibangun ke dalam sistem operasi, membaca memori proses, atau mengakses area terbatas seperti penyimpanan internal. Setelah penyerang memiliki akses ke root, segala upaya mitigasi menjadi tidak berguna. "Tidak ada aplikasi yang dapat disebut aman dalam keadaan ini, tidak peduli seberapa kuatnya enkripsi."
I - " Omong kosong pemasaran , karena kurangnya tenaga teknis yang memenuhi syarat kembali pada tahun 2013." “Kembalikan kode lokal Android dan dapatkan / tiruan akun. Dengan setiap upaya baru yang salah untuk memasukkan pin, Telegram meningkatkan waktu tunggu antara upaya memasukkan pin. Tampaknya, Telegram puas dengan algoritma yang demikian dalam melindungi pengguna dari brute force manual 10 ^ 4 dari semua kombinasi pin yang mungkin, tetapi apakah pengguna puas ketika mudah untuk berkompromi? Jika pengembang Telegram ingin mengurangi ancaman dalam keadaan ini, mereka dapat mengimplementasikannya sebagai kunci sementara selama beberapa detik dengan memasukkan kode lokal secara tidak benar, dan mengganti fungsi pin "dummy" dengan Telegram pada kata sandi dengan kata sandi, dengan enkripsi PBKDF2 - ini sangat kuat akan memperlambat serangan brute force. Sebagai contoh perlindungan yang baik - kata sandi untuk memasukkan basis data kata sandi terenkripsi Keepass2Android.
telegram.org/faq “Anda dapat mengakses pesan obrolan rahasia dari perangkat asal Anda. Mereka aman selama perangkat Anda aman di saku Anda. "
Aku - “Di situlah kebenaran ternyata!”

Kesimpulan


  • Kode lokal Telegram (pin) di Android e diretas ke JTR secara instan dan dengan probabilitas 100%, ini mengarah pada konsekuensi: mencuri obrolan rahasia, membuka pesan SC, menyampaikan penyerang sebagai pengguna nyata. Perlindungan terhadap "trik" ini adalah larangan sementara dari Telegram dan kunci sesi baru untuk pengguna sebenarnya.
  • Operasi untuk mencuri midrange mirip dengan pencurian cookie + pin peretasan + "masalah dengan hak" jika Anda menggunakan metode "salin-tempel".
  • Untuk mengembalikan pin / kata sandi Telegram di Android, Anda harus bekerja dengan file aplikasi messenger yang berada di

     /data/data/org.telegram.messenger/shared_prefs/userconfing.xml 

    Anda bisa mendapatkan "file sensitif" dengan hak akses root, baik melalui TWRP atau menggunakan forensik digital.
  • Untuk seorang penyerang, pembajakan adalah peluang tidak hanya untuk membuang korespondensi, tetapi juga kesempatan untuk menyebabkan kerusakan pada pemilik akun yang sebenarnya: misalnya, untuk membersihkan awan "Anda". Dalam hal ini, pengguna sebenarnya akan kehilangan data di "favorit". Hapus akun Telegram secara resmi, dan jika, misalnya, Anda adalah administrator komunitas, maka Anda akan kehilangan hak admin.
  • Seringkali pengguna menetapkan kode lokal pada Telegram Desktop-e sama dengan pin pada Android-e - ini adalah jebakan, kode lokal 4-digit Telegram pada Windows / Linux berlangsung lebih dari 1 menit, dan akses ke PC seringkali lebih mudah daripada mengakses gadget.
  • UPD Pengembang Telegram harus mengganti "pin" di Android-e dengan "kata sandi", dengan enkripsi kriptografi (seperti yang diterapkan pada Telegram Desktop-e atau dalam aplikasi seluler lainnya, misalnya Keepass ...) menggunakan, misalnya, PBKDF2 dan seterusnya ...
    Dan juga lepaskan fungsi buka kunci sidik jari (pada gadget di mana perangkat tidak memiliki sidik jari) ketika membuka database baru (ini adalah kerentanan ketiga di Telegram / Android yang saya abaikan dalam percobaan saya). Tidak masalah pin / pass kode lokal apa yang dipasang pada akun yang dicuri (Anda bahkan tidak bisa memecahkannya), akun korban dapat diakses dengan sidik jari (sidik jari apa pun yang dipasang pada gadget penyerang bekerja melawan Telegram, tetapi serangan sidik jari tidak berhasil Uang Yandex, Keepass2android offline, Sberbank online).
  • security@telegram.org, dan secara umum dukungan teknis di Telegram, sebagai respons pengguna-pengembang dan layanan interaksi, tidak secara normal.
  • Selama periode "hening", Telegram merilis pembaruan di GP, tetapi pembaruan itu direncanakan dan dikaitkan dengan telegram Paspor, ada juga pembaruan, tetapi kerentanan yang saya tunjukkan dalam artikel ini masih valid, dan siapa pun dapat menggunakannya.
  • Telegram tidak bereaksi terhadap laporan bug (kerentanan terdeteksi). Jawabannya kemungkinan besar tidak akan mengikuti.
spoiler


Demo pemulihan kode lokal Telegram di Android / Linux / Windows.


Peragaan kerentanan obrolan Telegram rahasia.


PS: / - , Telegram , - Telegram- .

PPS: root-. root ( ), - root . , GNU/Linux « » (Android — Linux GNU ). Windows «» ? Android- , .
: gpg/pgp , keepass2android offline, rar. «» / root . Telegram Android pin, 100% .

...


local code Android-e «password» «pin». : ...

Source: https://habr.com/ru/post/id419551/


All Articles