Masalah Privasi Data Direktori Aktif



Saya melakukan pengujian penetrasi menggunakan PowerView dan menggunakannya untuk mengambil informasi pengguna dari Active Directory (selanjutnya disebut sebagai AD). Pada waktu itu, saya fokus mengumpulkan informasi tentang keanggotaan dalam grup keamanan, dan kemudian menggunakan informasi ini untuk menavigasi jaringan. Dalam kasus apa pun, AD berisi data rahasia tentang karyawan, beberapa di antaranya benar-benar tidak boleh diakses oleh semua orang di organisasi. Bahkan, pada sistem file Windows ada masalah Semua orang yang setara, yang juga dapat dieksploitasi oleh penyerang internal dan eksternal.

Tetapi sebelum kita berbicara tentang masalah privasi dan cara memperbaikinya, mari kita lihat data yang disimpan dalam AD.

Direktori Aktif adalah Facebook Perusahaan


Tetapi dalam hal ini, Anda sudah berteman dengan semua orang! Anda mungkin tidak mencari tahu tentang film, buku, dan restoran favorit rekan kerja Anda, tetapi AD berisi kontak sensitif
data dan bidang lain yang dapat digunakan oleh peretas dan bahkan orang dalam tanpa keterampilan teknis khusus.

Administrator sistem, tentu saja, terbiasa dengan tangkapan layar di bawah ini. Ini adalah antarmuka Pengguna dan Komputer Direktori Aktif (ADUC), di mana mereka menginstal dan mengedit informasi pengguna dan menetapkan pengguna ke grup yang sesuai.



AD berisi bidang dengan nama karyawan, alamat dan nomor telepon, sehingga terlihat seperti direktori telepon. Tetapi ada banyak lagi! Tab lain juga memiliki alamat email dan alamat web, atasan langsung, dan catatan.

Haruskah setiap orang di organisasi melihat informasi ini, terutama di era OSINT , ketika setiap bagian baru membuat mencari informasi tambahan lebih mudah?

Tentu tidak! Masalahnya diperburuk ketika data dari manajemen senior tersedia untuk semua karyawan.

PowerView untuk semua orang


Di sinilah PowerView berperan. Ini menyediakan antarmuka PowerShell yang sangat nyaman untuk fungsi Win32 yang mendasarinya (dan membingungkan) yang mengakses AD. Singkatnya:
ini membuat mendapatkan bidang AD semudah memasukkan cmdlet yang sangat singkat.

Mari kita ambil contoh pengumpulan informasi tentang karyawan Cruella Deville, yang merupakan salah satu pemimpin perusahaan. Untuk melakukan ini, gunakan cmdlet PowerView get-NetUser:



Menginstal PowerView bukan masalah serius - lihat sendiri di halaman github . Dan yang lebih penting, Anda tidak perlu hak tinggi untuk menjalankan banyak perintah PowerView, seperti get-NetUser. Dengan demikian, karyawan yang termotivasi, tetapi tidak terlalu teknis dapat mulai mencari-cari di AD tanpa banyak usaha.

Dari tangkapan layar di atas, dapat dilihat bahwa orang dalam dapat dengan cepat belajar banyak tentang Cruella. Apakah Anda juga memperhatikan bahwa bidang "info" menampilkan informasi tentang kebiasaan dan kata sandi pribadi pengguna?

Ini bukan probabilitas teoretis. Dari dialog dengan pentester lain, saya mengetahui bahwa mereka memindai AD untuk mencari kata sandi dalam bentuk yang tidak dienkripsi, dan seringkali upaya ini, sayangnya, berhasil. Mereka tahu bahwa perusahaan ceroboh tentang informasi dalam AD, dan biasanya mereka tidak tahu tentang topik berikutnya - izin dalam AD.

Active Directory memiliki ACL sendiri


Antarmuka Pengguna dan Komputer AD memungkinkan Anda untuk mengatur izin untuk objek AD. Ada ACL dalam AD, dan administrator dapat menetapkan atau menolak akses melalui mereka. Anda perlu mengklik "Advanced" di menu ADUC View, dan kemudian ketika Anda membuka pengguna, Anda akan melihat tab "Security" di mana Anda mengatur ACL.

Dalam skrip Cruella saya, saya tidak ingin semua Pengguna yang Diotentikasi dapat melihat informasi pribadinya, jadi saya menolak mereka membaca akses:



Dan sekarang pengguna biasa akan melihat ini jika mereka mencoba Get-NetUser di PowerView:



Saya berhasil menyembunyikan informasi yang berguna secara sadar dari mata yang mengintip. Agar tetap dapat diakses oleh pengguna yang relevan, saya membuat ACL lain untuk memungkinkan anggota VIP (Cruella dan kolega tingkat tinggi lainnya) mengakses data sensitif ini. Dengan kata lain, saya menerapkan izin AD berdasarkan model peran, yang membuat data sensitif tidak dapat diakses oleh sebagian besar karyawan, termasuk orang dalam.

Namun, Anda dapat membuat keanggotaan grup tidak terlihat oleh pengguna dengan mengatur ACL yang sesuai untuk objek grup dalam AD. Ini akan membantu dalam hal privasi dan keamanan.

Dalam seri pentest epik saya , saya menunjukkan bagaimana Anda dapat menavigasi sistem dengan menjelajahi keanggotaan grup menggunakan PowerViews Get-NetGroupMember. Dalam skenario saya, saya membatasi akses baca ke keanggotaan dalam grup tertentu. Anda melihat hasil dari perintah sebelum dan sesudah perubahan:



Saya berhasil menyembunyikan keanggotaan Cruella dan Monty Burns di grup VIP, yang mempersulit eksplorasi infrastruktur oleh peretas dan orang dalam.

Posting ini dimaksudkan untuk memotivasi Anda untuk mempelajari bidang ini lebih dekat.
AD dan izin terkait. AD adalah sumber yang bagus, tetapi pikirkan bagaimana Anda melakukannya
ingin berbagi informasi rahasia dan data pribadi, terutama
ketika datang ke orang pertama dari organisasi Anda.

Source: https://habr.com/ru/post/id479814/


All Articles