0-Day Pada Telegram Desktop Windows! Penjelasan — Proof of Concept Telegram Desktop Bisa Menjalankan Python Scripts (Telegram RCE)
“DISCLAIMER”
Hacking without permission is illegal. This blog is strictly educational for learning about cyber-security in the areas of ethical hacking and penetration testing so that we can protect ourselves against the real hackers.
Pada 12 April 2024, situs bleeping computer menginformasikan bahwa telegram telah memperbaiki celah zero day yang memungkinkan penyerang menjalankan python script pada aplikasi telegram desktop windows.
Awal mula dari ditemukannya celah kerentanan ini adalah pada XSS Hacking Forum dijelaskan terdapat penulisan yang typo pada source code telegram untuk windows yang dapat diekskploitasi untuk mengirimkan file python berekstensi .pyzw
untuk mem-bypass security warning ketika diklik. Hal ini menyebabkan file tersebut bisa secara otomatis tereksekusi oleh Python tanpa warning dari telegram seperti file executables yang lain.
Kondisi saat ini telegram telah memperbaiki celah kerentanan tersebut pada Windows untuk mencegah menjalankan python script secara otomatis ketika diklik, perbaikan ini merupakan “server-side fix”. Kondisi saat ini jika memakai versi 4.16.6 atau dibawahnya windows akan menanyakan program apa yang akan digunakan untuk menjalankan daripada otomatis menjalankan lewat python.
Agar Exploit ini berjalan, kamu memerlukan:
- Telegram Windows Desktop Versi 4.16.6 (Sisi Korban)
- The Windows machine yang telah diinstall Python. (Sisi Korban)
- Korban mengklik file .pyzw untuk menjalankannya. (Sisi Korban)
- Text Editor untuk membuat file .pyzw dan telegram untuk mengirimkan file .pyzw (Sisi Penyerang)
Apa itu ekstensi .pyzw? .pyzw merupakan sebuah eksensi file untuk python zip application. Pada Windows, .pyzw
merupakan file executable karena python interpreter telah mendaftarkan untuk itu. Ekstensi .pyzw digunakan untuk Python zipapps, yaitu program Python yang dikemas dalam arsip ZIP.
Proof Of Concept
Disini saya sudah menginstall telegram dekstop versi 4.16.6 yang akan menjadi korban eksploitasi kerentanan ini.
Selanjutnya, untuk mengeksploitasi kerentanan ini kita perlu membuat file .pyzw lalu dikirimkan ke nomor telegram korban. Cara membuat file .pyzw yang akan menjadi payload kita sangat mudah, hanya buat file baru dengan text editor apapun (disini saya menggunakan notepad++) lalu kita buat payload, disini kita membuat code python untuk membuka aplikasi kalkulator dengan code sebagai berikut
__import__("subprocess").call(["calc.exe"])
Kemudian save as dengan file ekstension .pyzw, disini saya memberikan nama .pyzw
Ketika file tersebut diklik oleh korban maka
Lalu Bagaimana Untuk Mitigasinya?
Silahkan update versi telegram desktop ke versi terbaru diatas 4.16.6
Referensi:
- https://github.com/telegramdesktop/tdesktop/commit/11b57ff7d3b61684daf03b350d90e5f8d68c24b1
- https://www.youtube.com/watch?v=6JY3uaLSflk&ab_channel=JohnHammond
- https://xss.is/posts/788616
- https://twitter.com/akaclandestine/status/1778873379069772241
- https://www.bitdefender.com/blog/hotforsecurity/telegram-patches-zero-day-python-script-vulnerability-in-windows-client/
- https://www.bleepingcomputer.com/news/security/telegram-fixes-windows-app-zero-day-used-to-launch-python-scripts/