
Pengelola kata sandi KeePass yang populer rentan untuk mengekstraksi kata sandi utama dari memori aplikasi, memungkinkan penyerang yang menyusupi perangkat untuk mengambil kata sandi bahkan dengan basis data terkunci.
Masalahnya ditemukan oleh seorang peneliti keamanan yang dikenal sebagai ‘vdohney,’ yang menerbitkan alat proof-of-concept memungkinkan penyerang mengekstrak kata sandi utama KeePass dari memori sebagai proof-of-concept (PoC).
Pengelola kata sandi memungkinkan pengguna membuat kata sandi unik untuk setiap akun online dan menyimpan kredensial dalam database yang mudah dicari, atau gudang kata sandi, sehingga Anda tidak perlu mengingatnya satu per satu. Namun, untuk mengamankan brankas kata sandi ini dengan benar, pengguna harus mengingat satu kata sandi utama yang digunakan untuk membukanya dan mengakses kredensial yang disimpan.
Kata sandi utama ini mengenkripsi basis data kata sandi KeePass, mencegahnya dibuka atau dibaca tanpa terlebih dahulu memasukkan kata sandi. Namun, setelah kata sandi utama itu disusupi, pelaku ancaman dapat mengakses semua kredensial yang disimpan dalam database.
Oleh karena itu, agar pengelola kata sandi diamankan dengan benar, pengguna harus menjaga kata sandi utama dan tidak membaginya dengan orang lain.
Kerentanan KeePass baru dilacak sebagai CVE-2023-3278 memungkinkan untuk memulihkan kata sandi master KeePass, selain dari satu atau dua karakter pertama, dalam bentuk teks-jelas, terlepas dari apakah ruang kerja KeePass terkunci, atau mungkin, bahkan jika program ditutup.
“KeePass Master Password Dumper adalah alat proof-of-concept sederhana yang digunakan untuk membuang kata sandi utama dari memori KeePass. Terlepas dari karakter kata sandi pertama, sebagian besar dapat memulihkan kata sandi dalam teks biasa,” peneliti keamanan di GitHub memperingatkan halaman untuk alat eksploitasi.
“Tidak diperlukan eksekusi kode pada sistem target, hanya dump memori. Tidak masalah dari mana asal memori – bisa jadi dump proses, file swap (pagefile.sys), file hibernasi (hiberfil.sys) atau dump RAM dari keseluruhan sistem. Tidak masalah apakah ruang kerja terkunci atau tidak.”
Cacat itu ada karena perangkat lunak menggunakan kotak entri kata sandi khusus bernama “SecureTextBoxEx,” yang meninggalkan jejak setiap karakter yang diketik pengguna di memori.
“KeePass 2.X menggunakan kotak teks yang dikembangkan khusus untuk entri kata sandi, SecureTextBoxEx. Kotak teks ini tidak hanya digunakan untuk entri kata sandi utama, tetapi juga di tempat lain di KeePass, seperti kotak edit kata sandi (sehingga serangan juga dapat digunakan untuk memulihkan isinya),” jelas vdohney.
Kerentanan berdampak pada versi terbaru KeePass, 2.53.1, dan karena program ini bersifat open-source, setiap project fork kemungkinan akan terpengaruh.
KeePass 1.X, KeePassXC, dan Strongbox tampaknya tidak terpengaruh oleh CVE-2023-32784, menurut pengembang alat pembuangan kata sandi.
Selain itu, saat PoC diuji di Windows, eksploit seharusnya juga berfungsi untuk Linux dan macOS, dengan beberapa modifikasi, karena masalahnya tidak khusus untuk OS tetapi bagaimana KeePass menangani input pengguna.

Sumber: vdohney
Mudah dieksploitasi
Karena dump memori harus diambil agar kata sandi utama KeePass dapat dipulihkan, eksploitasi CVE-2023-32784 memerlukan akses fisik atau infeksi malware pada mesin target.
Namun, malware pencuri informasi dapat dengan cepat memeriksa apakah KeePass ada di komputer atau sedang berjalan, dan jika demikian, membuang memori program dan mengirimkannya dan basis data KeePass kembali ke penyerang untuk pengambilan offline kata sandi teks-jelas dari dump memori.
BleepingComputer menguji alat ‘keepass-password-dumper’ vdohney dengan menginstal KeePass pada perangkat uji dan membuat database baru dengan kata sandi utama ‘password123,’ seperti yang ditunjukkan di bawah ini.

Sumber: BleepingComputer
Kami kemudian mengunci ruang kerja KeePass kami, yang mencegah akses ke sana kecuali Anda memasukkan kata sandi utama lagi.
Dalam pengujian kami, Anda dapat menggunakan Process Explorer untuk membuang memori proyek KeePass, tetapi memerlukan dump memori penuh, dan bukan minidump, untuk bekerja dengan benar. Tidak diperlukan hak istimewa yang lebih tinggi untuk membuang memori proses.
Setelah mengkompilasi alat vdohney menggunakan Visual Studio, kami mengeksekusinya terhadap dump memori kami, dan dengan cepat memulihkan sebagian besar kata sandi teks-jelas kami, dengan hanya dua huruf pertama yang hilang.

Sumber: BleepingComputer
Meskipun ini bukan kata sandi yang lengkap, menentukan karakter apa yang hilang akan cukup mudah.
Peneliti juga memperingatkan bahwa kata sandi utama yang digunakan di masa lalu dapat tetap berada di memori, sehingga dapat diambil kembali meskipun KeePass tidak lagi berjalan di komputer yang dilanggar.
Perbaiki segera hadir
Pengembang KeePass, Dominik Reichl, menerima laporan bug tersebut dan berjanji akan meluncurkan perbaikan untuk CVE-2023-32784 pada versi 2.54, diharapkan sekitar Juli 2023.
Namun, Reichl memberi tahu BleepingComputer bahwa KeePass versi 2.54 kemungkinan besar akan dirilis ke pengguna dalam waktu sekitar dua minggu, jadi harus keluar pada awal Juni.
Berdasarkan a diskusi di mana Reichl mengembangkan pemikirannya tentang kelemahan keamanan dan potensi strategi mitigasi, dua peningkatan keamanan disebutkan untuk versi KeePass yang akan datang:
- Lakukan panggilan API langsung untuk mendapatkan/mengatur teks kotak teks, menghindari pembuatan string terkelola dalam memori yang dapat membocorkan rahasia.
- Buat fragmen dummy yang berisi karakter acak dalam memori proses yang kira-kira memiliki panjang yang sama dengan kata sandi utama pengguna, mengaburkan kunci sebenarnya.
KeePass 2.54 untuk Windows akan memiliki keduanya, sedangkan versi macOS dan Linux hanya akan mendapatkan peningkatan kedua.
Pengembang telah merilis versi pengujian dengan peningkatan keamanan baru yang mengurangi masalah ini, sehingga mereka yang dapat menerima perilaku tidak stabil dapat melakukannya sumbernya dari sini.
Pembuat PoC telah mengonfirmasi bahwa dia tidak dapat lagi mereproduksi serangan dengan dua peningkatan keamanan, sehingga perbaikan tampaknya efektif.
Bahkan setelah versi baru dirilis, kata sandi utama masih dapat disimpan dalam file memori. Peneliti memperingatkan bahwa untuk 100% aman bahwa itu tidak mengintai sistem, Anda perlu menghapus file swap dan hibernasi sistem Anda, memformat hard drive Anda menggunakan mode “timpa data” untuk mencegah pemulihan data, dan melakukan yang baru menginstal OS.
Namun, untuk sebagian besar, me-restart komputer, menghapus file swap dan file hibernasi Anda, dan tidak menggunakan KeePass hingga versi baru dirilis adalah tindakan keamanan yang wajar untuk saat ini.
Meski begitu, untuk perlindungan terbaik, berhati-hatilah untuk tidak mengunduh program dari situs yang tidak tepercaya dan waspadalah terhadap serangan phishing yang dapat menginfeksi perangkat Anda, memberikan akses jarak jauh kepada pelaku ancaman ke perangkat Anda dan basis data KeePass Anda.