
Kami melanjutkan percakapan untuk kasus-kasus menarik dalam karya pentester. Dalam
posting terakhir
, kami berbicara tentang pengujian penetrasi eksternal, hari ini kita akan berbicara tentang tes pentest internal paling menarik yang telah kami terapkan baru-baru ini. Esensi mereka adalah bahwa kita harus, berada dalam batas internal pelanggan, menerima hak istimewa maksimum dalam domain dan mendapatkan data penting apa pun. Kebetulan itu mengejutkan. Tetapi hal pertama yang pertama.
Kasus 1. Pengelola kata sandi baik, tetapi harus dapat digunakan
Kami melakukan pengujian penetrasi internal untuk klien besar yang sudah melatih sysadmin dan layanan IS. Dalam perjalanan pekerjaan, kami menerima beberapa akun yang dengannya kami sudah dapat masuk ke jaringan dan terhubung ke mesin-mesin pengguna lain. Pada titik tertentu, mereka menetap di mobil salah satu administrator sistem dan menemukan eldorado di sana. Administrator sistem menggunakan kata sandi yang sangat rumit (akan sulit untuk menemukan yang seperti itu) dan bahkan menyimpannya di keepass. Tapi ini nasib buruk: pengelola kata sandi itu sendiri tidak pernah diblokir - tidak setelah 15 menit, atau pada saat kunci layar. Dengan bonus ini, kami mendapatkan hak administratif dalam sistem pelanggan kritis tanpa kebisingan dan debu.
Klien lain memiliki kasus serupa. Juga password yang rumit, juga keepass, meskipun masih ada kunci otomatis setelah 15 menit. Bagaimana kita bisa menggunakan ini? Mereka menunggu sampai administrator mengunci desktop dan pergi (untuk makan siang?). Lalu itu masalah kecil.
Jika Anda menggunakan pengelola kata sandi, gunakan dengan bijak - nyalakan opsi kunci dengan layar kunci dan tanpa aktivitas selama 1-5 menit.
Kasus 2. Karyawan yang diberhentikan
Sangat sering selama pentest internal kita mendapatkan akses dengan memilih kata sandi - pengguna biasanya terlalu malas untuk menghasilkan kombinasi yang kompleks, terutama ketika kebijakan kata sandi mengharuskan pembaruan setiap bulan. Seringkali angkanya hanya berubah - jadi, superpassword_03.2019 sebulan kemudian berubah menjadi superpassword_04.2019 dan semakin jauh ke bawah daftar.
Tetapi kadang-kadang pelanggan datang tiba-tiba. Jadi, melakukan serangan penyemprotan kata sandi di salah satu perusahaan, kami mendapat sejumlah akun dan salah satunya menarik bagi kami: dia memiliki hak yang cukup luas, meskipun bukan hak admin. Kata sandi yang mudah dibuat untuknya (qaz12345), dan komentar pada entri ini dalam AD menunjukkan bahwa karyawan dipecat - dihakimi berdasarkan tanggal, hampir setahun yang lalu. Artinya, setelah pemberhentian, akun itu tidak diblokir, tetapi cukup mengatur ulang kata sandi ke "default" dan mengatur opsi "ubah kata sandi pada login pertama". Demi kebahagiaan pelanggan, kami adalah orang pertama yang diundang untuk melakukan ini.
Kasus 3. Tambalan? Nah, jangan
Bagian tersulit dari pentest internal adalah mendapatkan akun pertama. Ada banyak alat dan cara untuk melakukan ini, dimulai dengan peragaan busana spionase di kantor mencari stiker yang dihargai dengan kata sandi dan menangkap orang yang dirugikan dengan kantor Wi-Fi hasil kloning, berakhir dengan serangan terhadap Kerberos dan pemecahan kata sandi akun. Tetapi kadang-kadang, bahkan dengan pemindaian awal, Anda dapat menemukan perangkat lunak yang belum ada yang diperbarui selama sepuluh ribu tahun (mengapa repot-repot memperbarui perangkat lunak dalam infrastruktur internal?).
Dalam satu proyek seperti itu, mereka menemukan perangkat lunak manajemen dari HP, di mana RCE ditemukan tanpa otentikasi - dari sana mereka mendapat bagian dari akun.
Β― \ _ (γ) _ / Β―
Tampaknya semuanya akan menjadi lebih sederhana - Mimikatz, dan masalahnya ada di topi, tetapi ternyata akun yang diterima tidak memiliki hak istimewa yang kami butuhkan. Seperti yang mereka katakan, kekuatan kami adalah dalam kesiapan untuk cloud: menggunakan keajaiban nmap dan skrip smb-enum-share, kami menemukan bahwa salah satu akun memiliki hak admin lokal di server pengujian, di mana administrator domain terlibat secara aktif pada saat itu =).
Kasus 4. Kunci
Akhirnya, mari kita bicara sedikit tentang kemungkinan pemblokiran akses. Bekerja pada "vnutryanka" yang paling sering kami lakukan dengan akses jarak jauh. Skema terlihat seperti ini: kita terhubung ke VPN, kita mendapatkan alamat internal, kemudian kita berpegang teguh pada mesin yang dialokasikan untuk kita melalui RDP. Dan dengan mesin ini kami sudah mulai melakukan pekerjaan, tetapi untuk ini kami perlu menyampaikan alat kami. Banyak klien kami menggunakan server proxy dengan daftar situs putih, kadang-kadang bahkan dengan daftar putih port, untuk mengakses Internet (misalnya, Anda dapat terhubung ke situs web dengan port 80, tetapi Anda tidak dapat lagi terhubung ke 8081). Ini benar-benar membuat pekerjaan sedikit lebih sulit, terutama jika copy-paste melalui RDP dilarang.
Tetapi di mana dalam bisnis kami tanpa nuansa. Satu klien memiliki aturan yang sangat ketat dan kami tidak diizinkan untuk mengisi alat kami dengan cara resmi, sehingga dapat dikatakan, mereka mencegah penetrasi melalui "pintu masuk utama". Seperti, ini mesin virtual dan hak minimal untuk Anda - menderita seperti peretas sejati.
Saya tidak harus menderita lama. Proxy benar-benar banyak diblokir, bahkan tidak mungkin untuk hanya terhubung ke server http-nya (tidak ada dalam daftar putih), copy-paste dilarang, browser menolak untuk pergi ke mana pun kecuali http (80 / tcp) dan https (443 / tcp), dan tempat lain selain portal internal. Kami mencoba melewati PowerShell - itu juga tidak berfungsi, itu tidak berjalan tanpa proxy, dan proxy melarangnya. Tetapi utilitas FTP bawaan Windows berfungsi dengan baik - tidak ada aturan pada firewall yang akan memblokir lalu lintas tersebut. Jadi kami menyeret semua alat kami di dalam perimeter dan mampu melakukan pekerjaan dengan baik.
Pada akhirnya
Saya akan mengulangi rekomendasi dari bagian sebelumnya, karena pengulangan adalah ibu dari ajaran yang
gagap . Lakukan pengujian penetrasi berkala - mereka akan membantu Anda menemukan titik-titik halus di pertahanan Anda, seperti, misalnya, dalam kasus 3. Anda dapat mempertimbangkan bahwa tidak perlu menambal sistem dalam perimeter internal, tetapi kadang-kadang itu menyebabkan konsekuensi yang serius.
Bangun sistem manajemen tambalan - tidak hanya menghilangkan kerentanan "profil tinggi" (seperti EternalBlue atau BlueKeep), tetapi juga kurang dikenal, tetapi tidak kurang berbahaya dalam hal operasi mereka (seperti halnya dengan HP AM). Singkatnya, catat semua sistem Anda.