Mengekstraksi Kredensial Terenkripsi Dari Alat Umum Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Mengekstrak Kredensial Terenkripsi Dari Alat Umum

Grafik sebagian besar serangan siber mengandalkan kredensial yang dicuri — diperoleh dengan menipu karyawan dan pengguna akhir agar membagikannya, atau dengan memanen kredensial domain yang di-cache di workstation dan sistem lain di jaringan. Kredensial yang dicuri ini memberi penyerang kemampuan untuk bergerak secara lateral dalam lingkungan saat mereka berputar dari mesin ke mesin — baik di tempat maupun cloud — hingga mereka mencapai aset penting bisnis.

Dalam majalah Pelanggaran Uber kembali pada bulan September, penyerang menemukan kredensial dalam skrip PowerShell tertentu. Tapi ada banyak cara yang kurang mencolok, namun sama merusaknya, penyerang dapat menemukan kredensial yang memungkinkan mereka mengakses lingkungan. Ini termasuk kredensial lokal umum, pengguna lokal dengan kata sandi serupa, dan kredensial yang disimpan dalam file di jaringan bersama.

Dalam penelitian kami, kami menghadapi pertanyaan tentang jenis informasi apa yang dapat diekstraksi dari mesin yang disusupi — tanpa mengeksploitasi kerentanan apa pun — untuk bergerak secara lateral atau mengekstrak informasi sensitif. Semua alat yang kami gunakan di sini tersedia di kami GitHub gudang.

Organisasi mengandalkan beberapa alat untuk mengautentikasi ke server dan database menggunakan protokol SSH, FTP, Telnet, atau RDP — dan banyak dari alat ini menyimpan kredensial untuk mempercepat autentikasi. Kami melihat tiga alat tersebut — WinSCP, Robomongo, dan MobaXterm — untuk menunjukkan bagaimana penyerang dapat mengekstrak kredensial non-cleartext.

WinSCP: Kredensial yang Dikaburkan

Saat pengontrol domain tidak tersedia, pengguna dapat mengakses sumber daya sistem menggunakan kredensial cache yang disimpan secara lokal setelah logon domain berhasil. Karena pengguna sebelumnya diotorisasi, pengguna dapat masuk ke mesin menggunakan akun domain melalui kredensial yang di-cache meskipun pengontrol domain yang mengautentikasi pengguna di masa lalu tidak tersedia.

WinSCP menawarkan opsi untuk menyimpan detail kredensial yang digunakan untuk terhubung ke mesin jarak jauh melalui SSH. Meskipun kredensial disamarkan saat disimpan di registri Windows (ComputerHKEY_CURRENT_USERSOFTWAREMartin PrikrylWinSCP 2Sessions), kredensial tersebut tidak dienkripsi sama sekali. Siapa pun yang mengetahui algoritme yang digunakan untuk mengaburkan dapat memperoleh akses ke kredensial.

Karena kode sumber WinSCP tersedia di GitHub, kami dapat menemukan algoritme obfuscation. Kami menggunakan alat yang menerapkan algoritme yang sama untuk mengaburkan kredensial, dan kami memperoleh akses ke kredensial dalam teks-jelas.

Menerapkan algoritme kebingungan untuk mengamankan kredensial yang disimpan bukanlah praktik terbaik, karena dapat dengan mudah dibalik dan menyebabkan pencurian kredensial.

Robomongo: Bukan Kunci Rahasia

Robomongo (sekarang Robo 3T) adalah klien MongoDB yang digunakan untuk terhubung ke server database Mongo. Saat Anda menyimpan kredensial Anda, mereka dienkripsi dan disimpan dalam robo3t.json berkas JSON. Kunci rahasia yang digunakan untuk mengenkripsi kredensial juga disimpan secara lokal, dalam teks-jelas, di a robo3t.key file.

Itu berarti penyerang yang memperoleh akses ke mesin dapat menggunakan kunci yang disimpan dalam teks-jelas untuk mendekripsi kredensial.

Kami melihat kode sumber Robomongo di GitHub untuk memahami bagaimana kunci digunakan untuk mengenkripsi kata sandi dan mengetahui bahwa ia menggunakan lib SimpleCrypt dari Qt. Meskipun Robomongo menggunakan enkripsi untuk menyimpan kredensial dengan aman, fakta bahwa kunci rahasia disimpan dalam teks jelas bukanlah praktik terbaik. Penyerang berpotensi membacanya, karena setiap pengguna yang memiliki akses ke workstation dapat mendekripsi kredensial. Bahkan jika informasi dikodekan dengan cara yang tidak dapat dibaca manusia, teknik tertentu dapat menentukan pengkodean mana yang digunakan, kemudian memecahkan kode informasi tersebut.

MobaXterm: Mendekripsi Kata Sandi

MobaXterm adalah alat yang ampuh untuk terhubung ke mesin jarak jauh menggunakan berbagai protokol seperti SSH, Telnet, RDP, FTP, dan sebagainya. Seorang pengguna yang ingin menyimpan kredensial dalam MobaXterm akan diminta untuk membuat kata sandi utama untuk melindungi data sensitif mereka. Secara default, MobaXterm meminta kata sandi utama hanya di komputer baru.

Itu berarti kata sandi utama disimpan di suatu tempat, dan MobaXterm akan mengambilnya untuk mengakses kredensial terenkripsi. Kami menggunakan Procmon dari Sysinternals Suite untuk memetakan semua kunci registri dan file yang diakses oleh MobaXterm, dan kami menemukan kata sandi utama yang tersimpan di registri Windows (ComputerHKEY_CURRENT_USERSOFTWAREMobatekMobaXtermM). Kredensial dan kata sandi masing-masing disimpan dalam kunci registri C dan P.

Awalnya, kami tidak dapat mendekripsi kata sandi utama, yang dienkripsi menggunakan DPAPI. Kami akhirnya mengetahui bahwa 20 byte DPAPI pertama, yang selalu sama saat menggunakan DPAPI, telah dihapus. Saat kami menambahkan 20 byte pertama, kami dapat mendekripsi cipher DPAPI untuk mendapatkan hash SHA512 dari kata sandi utama. Hash ini digunakan untuk mengenkripsi dan mendekripsi kredensial.

Di sini, kunci enkripsi yang digunakan untuk menyimpan kredensial dengan aman disimpan menggunakan DPAPI. Artinya, hanya pengguna yang menyimpan kredensial yang dapat mengaksesnya. Namun, pengguna dengan akses administrator, atau penyerang yang mendapatkan akses ke sesi korban, juga dapat mendekripsi kredensial yang disimpan di mesin.

Ketahui Risikonya

Pengembang, DevOps, dan TI menggunakan berbagai alat untuk terhubung ke mesin jarak jauh dan mengelola detail akses ini. Vendor harus menyimpan informasi sensitif ini dengan cara yang paling aman. Namun, enkripsi selalu ada di sisi klien, dan penyerang dapat mereplikasi perilaku alat untuk mendekripsi kredensial.

Seperti biasa, tidak ada solusi ajaib yang bisa menyelesaikan setiap masalah yang telah kita bahas di sini. Namun, organisasi mungkin mulai dengan memeriksa layanan yang mereka gunakan sekarang. Mereka dapat membuat matriks risiko yang akurat dan lebih siap menghadapi pelanggaran data dengan memiliki pemahaman yang lebih kuat tentang jenis data sensitif dan kredensial yang mereka simpan.

Stempel Waktu:

Lebih dari Bacaan gelap