0-Day Pada Telegram Desktop Windows! Penjelasan — Proof of Concept Telegram Desktop Bisa Menjalankan Python Scripts (Telegram RCE)

Setiya Purbaya
3 min read2 days ago

--

Title 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.

Typo Source Code pada telegram seharusnya pyzw tetapi ditulis pywz

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

Telegram Versi 4.16.6

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

file .pyzw yang kita buat payload nya untuk membuka aplikasi kalkulator
file .pyzw sudah siap dikirim ke korban
file .pyzw sudah dikirimkan ke korban disini telegram memberikan flag untrusted

Ketika file tersebut diklik oleh korban maka

Klik Filenya
File Python tereksekusi
Aplikasi Calculator Berjalan

Lalu Bagaimana Untuk Mitigasinya?

Silahkan update versi telegram desktop ke versi terbaru diatas 4.16.6

--

--

Setiya Purbaya
Setiya Purbaya

Written by Setiya Purbaya

By the time you realize, its already too late.

No responses yet