Kali ini ditemukan sebuah kerentanan Python dan Java yang dapat dimanfaatkan untuk mengirim email tidak sah. Dan juga memungkinkan untuk bypass firewall defense. Kerentanan dalam 2 bahasa pemograman populer tersebut merupakan kerentanan yang sama.
Sampai artikel ini dipublish, kerentanan tersebut masih unpatched. Yang mana penyerang dapat mengambil keuntungan dalam menyusun potensial serangan cyber terhadap critical network dan infrastruktur.
Java/Python FTP Injection Untuk Mengirim Email SMTP Yang Tidak Sah
Peneliti keamanan Alexander Klink menerbitkan rincian FTP protocol injection di Java XML eXternal Entity (XXE). Yang memungkinkan penyerang untuk menginjeksi perintah berbahaya non-FTP dalam sebuah FTP connection request.
Untuk menunjukkan serangan itu, Alexander menunjukkan cara mengirim email yang tidak sah melalui SMTP dalam koneksi FTP. Meskipun koneksi FTP gagal, karena server FTP tidak mendukung otentikasi, namun hal itu tidak memeriksa adanya carriage returns (CR) atau line feeds (LF) dalam username.
Java/Python FTP Injection Memungkinkan Untuk Bypass Firewall
Lalu ada peneliti keamanan Timothy Morgan dari Blindspot Security menunjukkan skenario eksploitasi lebih mengancam. Dimana penangan URL FTP baik di Java maupun Python dapat digunakan untuk membypass firewall.
Morgan mengatakan kerentanan FTP protocol injection dapat digunakan untuk mengelabui firewall korban. Yang ditujukan untuk menerima koneksi TCP dari web ke sistem host yang rentan pada port “high” (1024-65535).
Morgan telah menetapkan bahwa seorang penyerang dapat membuka satu port di firewall yang ditargetkan dengan hanya tiga langkah:
- Mengidentifikasi alamat IP internal korban. Disini penyerang membutuhkan usaha “mengirim URL, melihat bagaimana klien berperilaku, kemudian coba lagi sampai serangan berhasil.”
- Menentukan packet alignment dan memastikan bahwa PORT command diinjeksi pada saat yang tepat, membuat serangan bekerja.
- Mengeksploitasi kerentanan.
Setiap request tambahan dapat digunakan untuk membuka port TCP yang lain.
Easily Exploitable Protocol Injection Flaw
Namun, peneliti memperingatkan bahwa pengeksploitasian dapat digunakan untuk serangan man-in-the-middle (MITM), server-side request forgery (SSRF), serangan XEE dan masih banyak lagi. Jika sekali saja firewall dapat dilewati, desktop host dapat diserang bahkan jika mereka tidak menginstal Java.
Semua yang dibutuhkan penyerang adalah untuk meyakinkan korban mengakses/menginstal sebuah aplikasi berbasis Java atau Python berbahaya untuk melewati firewall.
Kerentanan Protocol Injection Masih Unpatched
Morgan mengatakan kerentanan FTP protocol injection ini sudah dilaporkan ke tim Python pada bulan Januari 2016. Dan ke tim Oracle di November 2016 oleh perusahaannya. Tetapi tak satu pun dari mereka mengeluarkan update untuk mengatasi masalah ini.
Morgan sudah mengembangkan proof-of-concept (PoC) exploitnya. Tapi masih menahan publikasi nya sampai Oracle dan Python menanggapi pengungkapan kerentanan dan merilis patchnya.
Pengeksploitasian yang dilakukan Morgan telah berhasil diuji terhadap Palo Alto Networks dan Cisco ASA Firewall. Dan peneliti pun percaya, masih banyak firewall komersial yang juga rentan terhadap serangan ini.