Peretasan Kata Sandi Tersembunyi dengan Smbexec

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Kami menulis secara rutin tentang bagaimana peretas sering kali mengandalkan eksploitasi metode peretasan tanpa kode berbahayauntuk menghindari deteksi. Mereka secara harfiah "bertahan hidup di padang rumput", menggunakan alat Windows standar, sehingga melewati antivirus dan utilitas lain untuk mendeteksi aktivitas berbahaya. Kami, sebagai pembela HAM, kini terpaksa menghadapi konsekuensi yang tidak menguntungkan dari teknik peretasan yang cerdik tersebut: karyawan yang memiliki posisi baik dapat menggunakan pendekatan yang sama untuk mencuri data secara diam-diam (kekayaan intelektual perusahaan, nomor kartu kredit). Dan jika dia tidak terburu-buru, tetapi bekerja perlahan dan diam-diam, itu akan sangat sulit - tetapi masih mungkin jika dia menggunakan pendekatan yang tepat dan tepat. Alat, — untuk mengidentifikasi aktivitas tersebut.

Di sisi lain, saya tidak ingin menjelek-jelekkan karyawan karena tidak ada seorang pun yang ingin bekerja di lingkungan bisnis sejak era Orwell tahun 1984. Untungnya, ada sejumlah langkah praktis dan kiat-kiat hidup yang dapat membuat hidup lebih sulit bagi orang dalam. Kami akan mempertimbangkannya metode serangan rahasia, digunakan oleh peretas oleh karyawan dengan latar belakang teknis tertentu. Dan sedikit lebih jauh kita akan membahas pilihan untuk mengurangi risiko tersebut - kita akan mempelajari pilihan teknis dan organisasi.

Apa yang salah dengan PsExec?

Edward Snowden, benar atau salah, telah menjadi identik dengan pencurian data orang dalam. Ngomong-ngomong, jangan lupa untuk melihatnya catatan ini tentang orang dalam lain yang juga berhak mendapatkan status ketenaran. Satu hal penting yang perlu ditekankan mengenai metode yang digunakan Snowden adalah, sejauh pengetahuan kami, dialah yang melakukan hal tersebut tidak menginstal tidak ada perangkat lunak berbahaya eksternal!

Sebaliknya, Snowden menggunakan sedikit rekayasa sosial dan menggunakan posisinya sebagai administrator sistem untuk mengumpulkan kata sandi dan membuat kredensial. Tidak ada yang rumit - tidak ada meniru, serangan laki-laki di tengah или metasploit.

Karyawan organisasi tidak selalu berada dalam posisi unik Snowden, namun ada sejumlah pelajaran yang dapat dipetik dari konsep "bertahan hidup dengan merumput" yang harus diwaspadai - untuk tidak terlibat dalam aktivitas jahat apa pun yang dapat dideteksi, dan khususnya hati-hati dengan penggunaan kredensial. Ingat pemikiran ini.

Psexec dan sepupunya crackmaexec telah mengesankan banyak pentester, peretas, dan blogger keamanan siber. Dan ketika dikombinasikan dengan mimikatz, psexec memungkinkan penyerang untuk bergerak dalam jaringan tanpa perlu mengetahui kata sandi teks yang jelas.

Mimikatz mencegat hash NTLM dari proses LSASS dan kemudian meneruskan token atau kredensial - yang disebut. serangan "lewati hash". – di psexec, memungkinkan penyerang untuk masuk ke server lain sebagai dari yang lain pengguna. Dan dengan setiap perpindahan selanjutnya ke server baru, penyerang mengumpulkan kredensial tambahan, memperluas jangkauan kemampuannya dalam mencari konten yang tersedia.

Ketika saya pertama kali mulai bekerja dengan psexec, rasanya ajaib bagi saya - terima kasih Mark Russinovich, pengembang psexec yang brilian - tetapi saya juga tahu tentang miliknya bising komponen. Dia tidak pernah tertutup!

Fakta menarik pertama tentang psexec adalah penggunaannya sangat kompleks Protokol file jaringan SMB dari Microsoft. Menggunakan SMB, psexec mentransfer dalam jumlah kecil biner file ke sistem target, menempatkannya di folder C:Windows.

Selanjutnya, psexec membuat layanan Windows menggunakan biner yang disalin dan menjalankannya dengan nama yang sangat “tidak terduga” PSEXECSVC. Pada saat yang sama, Anda sebenarnya dapat melihat semua ini, seperti yang saya lakukan, dengan mengamati mesin jarak jauh (lihat di bawah).

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Kartu panggil Psexec: layanan "PSEXECSVC". Ini menjalankan file biner yang ditempatkan melalui SMB di folder C:Windows.

Sebagai langkah terakhir, file biner yang disalin akan terbuka koneksi RPC ke server target dan kemudian menerima perintah kontrol (melalui shell cmd Windows secara default), meluncurkannya dan mengarahkan input dan output ke mesin rumah penyerang. Dalam hal ini, penyerang melihat baris perintah dasar - sama seperti jika dia terhubung langsung.

Banyak komponen dan proses yang sangat bising!

Bagian dalam psexec yang kompleks menjelaskan pesan yang membingungkan saya selama pengujian pertama saya beberapa tahun lalu: "Memulai PSEXECSVC..." diikuti dengan jeda sebelum prompt perintah muncul.

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Psexec dari Impacket sebenarnya menunjukkan apa yang terjadi di balik terpal.

Tidak mengherankan: psexec melakukan banyak pekerjaan di balik terpal. Jika Anda tertarik dengan penjelasan lebih detailnya, simak di sini dengan ini deskripsi yang luar biasa.

Tentunya, ketika digunakan sebagai alat administrasi sistem tujuan awal psexec, tidak ada yang salah dengan “dengung” semua mekanisme Windows ini. Namun bagi penyerang, psexec akan menimbulkan komplikasi, dan bagi orang dalam yang berhati-hati dan licik seperti Snowden, psexec atau utilitas serupa akan menimbulkan risiko yang terlalu besar.

Dan kemudian datanglah Smbexec

SMB adalah cara yang cerdas dan rahasia untuk mentransfer file antar server, dan peretas telah menyusup ke SMB secara langsung selama berabad-abad. Saya rasa semua orang sudah tahu bahwa itu tidak sepadan buka Port SMB 445 dan 139 ke Internet, bukan?

Di Defcon 2013, Eric Millman (brav0hax) disajikan smbexec, sehingga pentester dapat mencoba peretasan UKM secara sembunyi-sembunyi. Saya tidak tahu keseluruhan ceritanya, tapi kemudian Ipacket menyempurnakan smbexec. Faktanya, untuk pengujian saya, saya mengunduh skrip dari Ipacket dengan Python dari Github.

Berbeda dengan psexec, smbexec menghindari mentransfer file biner yang mungkin terdeteksi ke mesin target. Sebaliknya, perusahaan utilitas hidup sepenuhnya dari padang rumput hingga peluncuran lokal Baris perintah Windows.

Begini fungsinya: ia meneruskan perintah dari mesin penyerang melalui SMB ke file input khusus, lalu membuat dan menjalankan baris perintah kompleks (seperti layanan Windows) yang tampak familier bagi pengguna Linux. Singkatnya: ia meluncurkan shell cmd Windows asli, mengalihkan output ke file lain, dan kemudian mengirimkannya melalui SMB kembali ke mesin penyerang.

Cara terbaik untuk memahami hal ini adalah dengan melihat baris perintah, yang dapat saya peroleh dari log peristiwa (lihat di bawah).

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Bukankah ini cara terbaik untuk mengalihkan I/O? Omong-omong, pembuatan layanan memiliki ID peristiwa 7045.

Seperti psexec, ini juga menciptakan layanan yang melakukan semua pekerjaan, tetapi layanan setelahnya DIHAPUS – hanya digunakan sekali untuk menjalankan perintah dan kemudian menghilang! Petugas keamanan informasi yang memantau mesin korban tidak akan dapat mendeteksi jelas Indikator serangan: Tidak ada file berbahaya yang diluncurkan, tidak ada layanan persisten yang diinstal, dan tidak ada bukti penggunaan RPC karena SMB adalah satu-satunya alat transfer data. Cemerlang!

Dari sisi penyerang, “pseudo-shell” tersedia dengan penundaan antara pengiriman perintah dan penerimaan respons. Namun ini cukup bagi penyerang - baik peretas internal maupun eksternal yang sudah memiliki pijakan - untuk mulai mencari konten menarik.

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Untuk mengeluarkan data kembali dari mesin target ke mesin penyerang, digunakan klien kecil. Ya, itu Samba yang sama utilitas, tetapi hanya dikonversi ke skrip Python oleh Impacket. Faktanya, smbclient memungkinkan Anda menghosting transfer FTP secara diam-diam melalui SMB.

Mari kita mundur selangkah dan memikirkan manfaatnya bagi karyawan. Dalam skenario fiktif saya, katakanlah seorang blogger, analis keuangan, atau konsultan keamanan bergaji tinggi diperbolehkan menggunakan laptop pribadi untuk bekerja. Sebagai hasil dari suatu proses ajaib, dia tersinggung pada perusahaan dan “menjadi buruk”. Tergantung pada sistem operasi laptop, ia menggunakan versi Python dari Impact, atau smbexec atau smbclient versi Windows sebagai file .exe.

Seperti Snowden, dia mengetahui kata sandi pengguna lain dengan melihat dari balik bahunya, atau dia beruntung dan menemukan file teks dengan kata sandi tersebut. Dan dengan bantuan kredensial ini, dia mulai menggali sistem pada tingkat hak istimewa yang baru.

Meretas DCC: Kami tidak membutuhkan Mimikatz yang "bodoh".

Pada postingan saya sebelumnya tentang pentesting, saya sangat sering menggunakan mimikatz. Ini adalah alat yang hebat untuk menyadap kredensial - hash NTLM dan bahkan kata sandi teks yang jelas disembunyikan di dalam laptop, menunggu untuk digunakan.
Waktu telah berubah. Alat pemantauan menjadi lebih baik dalam mendeteksi dan memblokir mimikatz. Administrator keamanan informasi kini juga memiliki lebih banyak pilihan untuk mengurangi risiko yang terkait dengan serangan pass the hash (PtH).
Jadi apa yang harus dilakukan karyawan cerdas untuk mengumpulkan kredensial tambahan tanpa menggunakan mimikatz?

Kit Ipacket mencakup utilitas yang disebut rahasiadump, yang mengambil kredensial dari Cache Kredensial Domain, atau disingkat DCC. Pemahaman saya adalah jika pengguna domain masuk ke server tetapi pengontrol domain tidak tersedia, DCC mengizinkan server untuk mengautentikasi pengguna. Bagaimanapun, secretdump memungkinkan Anda membuang semua hash ini jika tersedia.

Hash DCC adalah bukan hash NTML dan mereka tidak dapat digunakan untuk serangan PtH.

Nah, Anda bisa mencoba meretasnya untuk mendapatkan kata sandi aslinya. Namun, Microsoft menjadi lebih pintar dengan DCC dan hash DCC menjadi sangat sulit untuk dipecahkan. Ya saya punya hashcat, "penebak kata sandi tercepat di dunia", namun memerlukan GPU agar dapat berjalan secara efektif.

Sebaliknya, cobalah berpikir seperti Snowden. Seorang karyawan dapat melakukan rekayasa sosial tatap muka dan mungkin mencari tahu beberapa informasi tentang orang yang kata sandinya ingin dia pecahkan. Misalnya, cari tahu apakah akun online orang tersebut pernah diretas dan periksa kata sandi teks jelasnya untuk mencari petunjuk.

Dan inilah skenario yang saya putuskan untuk ikuti. Misalkan orang dalam mengetahui bahwa bosnya, Cruella, telah diretas beberapa kali di sumber web yang berbeda. Setelah menganalisis beberapa kata sandi tersebut, dia menyadari bahwa Cruella lebih suka menggunakan format nama tim bisbol "Yankees" diikuti dengan tahun berjalan - "Yankees2015".

Jika sekarang Anda mencoba mereproduksi ini di rumah, Anda dapat mengunduh yang kecil, "C" kode, yang mengimplementasikan algoritma hashing DCC, dan mengkompilasinya. John the Ripper, omong-omong, menambahkan dukungan untuk DCC, sehingga bisa juga digunakan. Mari kita asumsikan bahwa orang dalam tidak mau repot mempelajari John the Ripper dan suka menjalankan "gcc" pada kode C lama.

Berpura-pura berperan sebagai orang dalam, saya mencoba beberapa kombinasi berbeda dan akhirnya menemukan bahwa kata sandi Cruella adalah "Yankees2019" (lihat di bawah). Misi terselesaikan!

Peretasan Kata Sandi Tersembunyi dengan Smbexec

Sedikit rekayasa sosial, sedikit ramalan, dan sedikit Maltego dan Anda sudah siap untuk memecahkan hash DCC.

Saya sarankan kita akhiri di sini. Kami akan kembali ke topik ini di postingan lain dan melihat metode serangan yang lebih lambat dan tersembunyi, terus mengembangkan rangkaian utilitas Ipacket yang luar biasa.

Sumber: www.habr.com

Tambah komentar