Remote Desktop melalui mata penyerang

1. Pendahuluan

Perusahaan yang tidak memiliki sistem akses jarak jauh segera menerapkannya beberapa bulan yang lalu. Tidak semua administrator siap menghadapi “panas” seperti ini, yang mengakibatkan kelemahan keamanan: konfigurasi layanan yang salah atau bahkan instalasi perangkat lunak versi lama dengan kerentanan yang ditemukan sebelumnya. Bagi sebagian orang, kelalaian ini telah menjadi bumerang, bagi sebagian lainnya lebih beruntung, namun setiap orang pasti harus menarik kesimpulan. Loyalitas terhadap pekerjaan jarak jauh telah meningkat secara eksponensial, dan semakin banyak perusahaan yang menerima pekerjaan jarak jauh sebagai format yang dapat diterima secara berkelanjutan.

Jadi, ada banyak pilihan untuk menyediakan akses jarak jauh: berbagai VPN, RDS dan VNC, TeamViewer dan lain-lain. Administrator memiliki banyak pilihan, berdasarkan spesifikasi pembangunan jaringan perusahaan dan perangkat di dalamnya. Solusi VPN tetap menjadi yang paling populer, namun banyak perusahaan kecil memilih RDS (Remote Desktop Services), solusi ini lebih sederhana dan lebih cepat untuk diterapkan.

Pada artikel ini kita akan berbicara lebih banyak tentang keamanan RDS. Mari kita membuat gambaran singkat tentang kerentanan yang diketahui, dan juga mempertimbangkan beberapa skenario untuk meluncurkan serangan terhadap infrastruktur jaringan berdasarkan Active Directory. Kami berharap artikel kami akan membantu seseorang mengatasi bug dan meningkatkan keamanan.

2. Kerentanan RDS/RDP terkini

Perangkat lunak apa pun mengandung kesalahan dan kerentanan yang dapat dieksploitasi oleh penyerang, tidak terkecuali RDS. Microsoft sering melaporkan kerentanan baru akhir-akhir ini, jadi kami memutuskan untuk memberikan gambaran singkatnya:

Kerentanan ini menempatkan pengguna yang terhubung ke server yang disusupi dalam risiko. Penyerang dapat memperoleh kendali atas perangkat pengguna atau mendapatkan pijakan dalam sistem untuk mendapatkan akses jarak jauh permanen.

Kelompok kerentanan ini memungkinkan penyerang yang tidak diautentikasi mengeksekusi kode arbitrer dari jarak jauh di server yang menjalankan RDS menggunakan permintaan yang dibuat khusus. Mereka juga dapat digunakan untuk membuat worm—malware yang secara independen menginfeksi perangkat tetangga di jaringan. Oleh karena itu, kerentanan ini dapat membahayakan seluruh jaringan perusahaan, dan hanya pembaruan yang tepat waktu yang dapat menyelamatkannya.

Perangkat lunak akses jarak jauh semakin mendapat perhatian baik dari peneliti maupun penyerang, sehingga kita mungkin akan segera mendengar tentang kerentanan serupa lainnya.

Kabar baiknya adalah tidak semua kerentanan dapat dieksploitasi secara publik. Kabar buruknya adalah tidak akan sulit bagi penyerang yang ahli untuk menulis eksploitasi untuk kerentanan berdasarkan deskripsi, atau menggunakan teknik seperti Patch Diffing (rekan kami menulis tentang hal ini di Artikel). Oleh karena itu, kami menyarankan Anda memperbarui perangkat lunak secara rutin dan memantau munculnya pesan baru tentang kerentanan yang ditemukan.

3. Serangan

Kami beralih ke bagian kedua artikel ini, di mana kami akan menunjukkan bagaimana serangan terhadap infrastruktur jaringan berdasarkan Active Directory dimulai.

Metode yang dijelaskan berlaku untuk model penyerang berikut: penyerang yang memiliki akun pengguna dan memiliki akses ke Remote Desktop Gateway - server terminal (seringkali dapat diakses, misalnya, dari jaringan eksternal). Dengan menggunakan metode ini, penyerang akan dapat melanjutkan serangan terhadap infrastruktur dan mengkonsolidasikan kehadirannya di jaringan.

Konfigurasi jaringan dalam setiap kasus mungkin berbeda, tetapi teknik yang dijelaskan cukup universal.

Contohnya meninggalkan lingkungan terbatas dan meningkatkan hak istimewa

Saat mengakses Remote Desktop Gateway, penyerang kemungkinan besar akan menghadapi semacam lingkungan terbatas. Saat Anda terhubung ke server terminal, sebuah aplikasi diluncurkan di dalamnya: jendela untuk menghubungkan melalui protokol Desktop Jarak Jauh untuk sumber daya internal, Explorer, paket kantor, atau perangkat lunak lainnya.

Tujuan penyerang adalah mendapatkan akses untuk menjalankan perintah, yaitu meluncurkan cmd atau PowerShell. Beberapa teknik escape sandbox Windows klasik dapat membantu dalam hal ini. Mari kita pertimbangkan lebih jauh.

Opsi 1. Penyerang memiliki akses ke jendela koneksi Remote Desktop di dalam Remote Desktop Gateway:

Remote Desktop melalui mata penyerang

Menu "Tampilkan Opsi" terbuka. Opsi muncul untuk memanipulasi file konfigurasi koneksi:

Remote Desktop melalui mata penyerang

Dari jendela ini Anda dapat dengan mudah mengakses Explorer dengan mengklik salah satu tombol “Buka” atau “Simpan”:

Remote Desktop melalui mata penyerang

Penjelajah terbuka. “Bilah alamat”-nya memungkinkan untuk meluncurkan file yang dapat dieksekusi yang diizinkan, serta membuat daftar sistem file. Ini dapat berguna bagi penyerang jika drive sistem disembunyikan dan tidak dapat diakses secara langsung:

Remote Desktop melalui mata penyerang

Video demo

Skenario serupa dapat direproduksi, misalnya, ketika menggunakan Excel dari rangkaian Microsoft Office sebagai perangkat lunak jarak jauh.

Video demo

Selain itu, jangan lupakan makro yang digunakan pada office suite ini. Rekan-rekan kami melihat masalah keamanan makro dalam hal ini Artikel.

Opsi 2. Menggunakan input yang sama seperti pada versi sebelumnya, penyerang meluncurkan beberapa koneksi ke desktop jarak jauh dengan akun yang sama. Saat Anda menyambung kembali, yang pertama akan ditutup, dan sebuah jendela dengan pemberitahuan kesalahan akan muncul di layar. Tombol bantuan di jendela ini akan memanggil Internet Explorer di server, setelah itu penyerang dapat membuka Explorer.

Video demo

Opsi 3. Jika pembatasan peluncuran file yang dapat dieksekusi dikonfigurasi, penyerang mungkin menghadapi situasi di mana kebijakan grup melarang administrator menjalankan cmd.exe.

Ada cara untuk menyiasatinya dengan menjalankan file bat di desktop jarak jauh dengan konten seperti cmd.exe /K <command>. Kesalahan saat memulai cmd dan contoh sukses mengeksekusi file bat ditunjukkan pada gambar di bawah.

Remote Desktop melalui mata penyerang

Opsi 4. Melarang peluncuran aplikasi menggunakan daftar hitam berdasarkan nama file yang dapat dieksekusi bukanlah obat mujarab; hal itu dapat dielakkan.

Pertimbangkan skenario berikut: kami telah menonaktifkan akses ke baris perintah, mencegah peluncuran Internet Explorer dan PowerShell menggunakan kebijakan grup. Penyerang mencoba meminta bantuan - tidak ada tanggapan. Mencoba meluncurkan PowerShell melalui menu konteks jendela modal, dipanggil dengan menekan tombol Shift - pesan yang menunjukkan bahwa peluncuran dilarang oleh administrator. Mencoba meluncurkan PowerShell melalui bilah alamat - sekali lagi tidak ada respons. Bagaimana cara melewati batasan tersebut?

Cukup salin powershell.exe dari folder C:WindowsSystem32WindowsPowerShellv1.0 ke folder pengguna, ubah namanya menjadi selain powershell.exe, dan opsi peluncuran akan muncul.

Secara default, saat menyambung ke desktop jarak jauh, akses ke disk lokal klien disediakan, tempat penyerang dapat menyalin PowerShell.exe dan menjalankannya setelah mengganti namanya.

Video demo

Kami hanya memberikan beberapa cara untuk melewati batasan; Anda dapat menemukan lebih banyak skenario, namun semuanya memiliki satu kesamaan: akses ke Windows Explorer. Ada banyak aplikasi yang menggunakan alat manipulasi file Windows standar, dan bila ditempatkan di lingkungan terbatas, teknik serupa dapat digunakan.

4. Rekomendasi dan kesimpulan

Seperti yang bisa kita lihat, bahkan dalam lingkungan terbatas pun terdapat ruang untuk pengembangan serangan. Namun, Anda dapat membuat hidup penyerang menjadi lebih sulit. Kami memberikan rekomendasi umum yang akan berguna baik dalam opsi yang telah kami pertimbangkan maupun dalam kasus lain.

  • Batasi peluncuran program ke daftar hitam/putih menggunakan kebijakan grup.
    Namun, dalam sebagian besar kasus, kode masih dapat dijalankan. Kami menyarankan Anda membiasakan diri dengan proyek ini LOLBA, untuk mendapatkan gambaran tentang cara-cara tidak terdokumentasi dalam memanipulasi file dan mengeksekusi kode pada sistem.
    Kami menyarankan untuk menggabungkan kedua jenis pembatasan: misalnya, Anda dapat mengizinkan peluncuran file yang dapat dieksekusi yang ditandatangani oleh Microsoft, tetapi membatasi peluncuran cmd.exe.
  • Nonaktifkan tab pengaturan Internet Explorer (dapat dilakukan secara lokal di registri).
  • Nonaktifkan bantuan bawaan Windows melalui regedit.
  • Nonaktifkan kemampuan untuk memasang disk lokal untuk koneksi jarak jauh jika batasan tersebut tidak penting bagi pengguna.
  • Batasi akses ke drive lokal mesin jarak jauh, sisakan akses hanya ke folder pengguna.

Kami harap artikel ini menarik bagi Anda, dan secara maksimal, artikel ini akan membantu membuat pekerjaan jarak jauh di perusahaan Anda lebih aman.

Sumber: www.habr.com

Tambah komentar