Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Kami kerap menulis tentang cara penggodam sering bergantung pada mengeksploitasi kaedah penggodaman tanpa kod berniat jahatuntuk mengelakkan pengesanan. Mereka secara literal "bertahan di padang rumput", menggunakan alat Windows standard, dengan itu memintas antivirus dan utiliti lain untuk mengesan aktiviti berniat jahat. Kami, sebagai pembela, kini terpaksa berhadapan dengan akibat malang daripada teknik penggodaman yang bijak itu: pekerja yang mempunyai kedudukan yang baik boleh menggunakan pendekatan yang sama untuk mencuri data secara rahsia (harta intelek syarikat, nombor kad kredit). Dan jika dia tidak tergesa-gesa, tetapi bekerja dengan perlahan dan senyap, ia akan menjadi sangat sukar - tetapi masih mungkin jika dia menggunakan pendekatan yang betul dan yang sesuai. Tools, β€” untuk mengenal pasti aktiviti tersebut.

Sebaliknya, saya tidak mahu memburukkan pekerja kerana tiada siapa yang mahu bekerja dalam persekitaran perniagaan terus dari Orwell 1984. Nasib baik, terdapat beberapa langkah praktikal dan penggodaman hayat yang boleh menyukarkan kehidupan orang dalam. Kami akan pertimbangkan kaedah serangan rahsia, digunakan oleh penggodam oleh pekerja dengan beberapa latar belakang teknikal. Dan sedikit lagi kita akan membincangkan pilihan untuk mengurangkan risiko sedemikian - kita akan mengkaji kedua-dua pilihan teknikal dan organisasi.

Apa yang salah dengan PsExec?

Edward Snowden, betul atau salah, telah menjadi sinonim dengan kecurian data orang dalam. By the way, jangan lupa tengok nota ini tentang orang dalam lain yang juga layak mendapat status kemasyhuran. Satu perkara penting yang patut ditekankan tentang kaedah yang digunakan Snowden ialah, sepanjang pengetahuan kami, beliau tidak memasang tiada perisian hasad luaran!

Sebaliknya, Snowden menggunakan sedikit kejuruteraan sosial dan menggunakan kedudukannya sebagai pentadbir sistem untuk mengumpul kata laluan dan membuat bukti kelayakan. Tiada yang rumit - tiada mimikatz, serangan man-in-the-middle atau metasploit.

Kakitangan organisasi tidak selalu berada dalam kedudukan unik Snowden, tetapi terdapat beberapa pengajaran yang boleh dipelajari daripada konsep "survival by grazing" yang perlu diberi perhatian - untuk tidak terlibat dalam sebarang aktiviti berniat jahat yang boleh dikesan, dan terutamanya. berhati-hati dengan penggunaan kelayakan. Ingat pemikiran ini.

Psexec dan sepupunya crackmapexec telah mengagumkan ramai pentester, penggodam dan blogger keselamatan siber. Dan apabila digabungkan dengan mimikatz, psexec membenarkan penyerang untuk bergerak dalam rangkaian tanpa perlu mengetahui kata laluan cleartext.

Mimikatz memintas cincang NTLM daripada proses LSASS dan kemudian melepasi token atau bukti kelayakan - yang dipanggil. serangan "lulus hash". – dalam psexec, membenarkan penyerang log masuk ke pelayan lain sebagai daripada yang lain pengguna. Dan dengan setiap langkah berikutnya ke pelayan baharu, penyerang mengumpul bukti kelayakan tambahan, mengembangkan julat keupayaannya dalam mencari kandungan yang tersedia.

Apabila saya mula bekerja dengan psexec ia kelihatan ajaib kepada saya - terima kasih Mark Russinovich, pembangun psexec yang cemerlang - tetapi saya juga tahu tentangnya bising komponen. Dia tidak pernah berahsia!

Fakta menarik pertama tentang psexec ialah ia menggunakan sangat kompleks Protokol fail rangkaian SMB daripada Microsoft. Menggunakan SMB, psexec memindahkan kecil binari fail ke sistem sasaran, meletakkannya dalam folder C:Windows.

Seterusnya, psexec mencipta perkhidmatan Windows menggunakan binari yang disalin dan menjalankannya di bawah nama PSEXECSVC yang sangat "tidak dijangka". Pada masa yang sama, anda sebenarnya boleh melihat semua ini, seperti yang saya lakukan, dengan menonton mesin jauh (lihat di bawah).

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Kad panggilan Psexec: perkhidmatan "PSEXECSVC". Ia menjalankan fail binari yang diletakkan melalui SMB dalam folder C:Windows.

Sebagai langkah terakhir, fail binari yang disalin dibuka sambungan RPC ke pelayan sasaran dan kemudian menerima arahan kawalan (melalui cangkerang cmd Windows secara lalai), melancarkannya dan mengalihkan input dan output ke mesin rumah penyerang. Dalam kes ini, penyerang melihat baris arahan asas - sama seperti dia disambungkan secara langsung.

Banyak komponen dan proses yang sangat bising!

Bahagian dalaman psexec yang kompleks menerangkan mesej yang membingungkan saya semasa ujian pertama saya beberapa tahun lalu: "Memulakan PSEXECSVC..." diikuti dengan jeda sebelum gesaan arahan muncul.

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Psexec Impacket sebenarnya menunjukkan apa yang berlaku di bawah hud.

Tidak menghairankan: psexec melakukan banyak kerja di bawah hud. Jika anda berminat dengan penjelasan yang lebih terperinci, lihat di sini ini penerangan yang indah.

Jelas sekali, apabila digunakan sebagai alat pentadbiran sistem, iaitu tujuan asal psexec, tidak ada yang salah dengan "berdengung" semua mekanisme Windows ini. Walau bagaimanapun, bagi penyerang, psexec akan menimbulkan komplikasi, dan bagi orang dalam yang berhati-hati dan licik seperti Snowden, psexec atau utiliti yang serupa akan menjadi terlalu berisiko.

Dan kemudian datang Smbexec

SMB ialah cara yang bijak dan rahsia untuk memindahkan fail antara pelayan, dan penggodam telah menyusup masuk ke SMB secara langsung selama berabad-abad. Saya rasa semua orang sudah tahu bahawa ia tidak berbaloi buka SMB port 445 dan 139 ke Internet, bukan?

Di Defcon 2013, Eric Millman (brav0hax) dibentangkan smbexec, supaya pentester boleh mencuba penggodaman SMB secara senyap. Saya tidak tahu keseluruhan cerita, tetapi kemudian Impacket memperhalusi smbexec. Malah, untuk ujian saya, saya memuat turun skrip daripada Impacket dalam Python daripada Github.

Tidak seperti psexec, smbexec mengelak memindahkan fail binari yang berpotensi dikesan ke mesin sasaran. Sebaliknya, utiliti itu hidup sepenuhnya dari padang rumput hingga pelancaran tempatan baris arahan Windows.

Inilah yang dilakukannya: ia menghantar arahan daripada mesin penyerang melalui SMB ke fail input khas, dan kemudian mencipta dan menjalankan baris arahan yang kompleks (seperti perkhidmatan Windows) yang kelihatan biasa kepada pengguna Linux. Ringkasnya: ia melancarkan shell Windows cmd asli, mengubah hala output ke fail lain, dan kemudian menghantarnya melalui SMB kembali ke mesin penyerang.

Cara terbaik untuk memahami perkara ini adalah dengan melihat baris arahan, yang saya dapat tangani daripada log peristiwa (lihat di bawah).

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Bukankah ini cara terbaik untuk mengubah hala I/O? By the way, penciptaan perkhidmatan mempunyai ID acara 7045.

Seperti psexec, ia juga mencipta perkhidmatan yang melakukan semua kerja, tetapi perkhidmatan selepas itu dikeluarkan – ia digunakan sekali sahaja untuk menjalankan arahan dan kemudian hilang! Pegawai keselamatan maklumat yang memantau mesin mangsa tidak akan dapat mengesan jelas Penunjuk serangan: Tiada fail berniat jahat sedang dilancarkan, tiada perkhidmatan berterusan sedang dipasang, dan tiada bukti RPC digunakan kerana SMB adalah satu-satunya cara pemindahan data. Cemerlang!

Dari pihak penyerang, "pseudo-shell" tersedia dengan kelewatan antara menghantar arahan dan menerima respons. Tetapi ini sudah cukup untuk penyerang - sama ada orang dalam atau penggodam luaran yang sudah bertapak - untuk mula mencari kandungan yang menarik.

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Untuk mengeluarkan data kembali dari mesin sasaran ke mesin penyerang, ia digunakan smbclient. Ya, ia adalah Samba yang sama utiliti, tetapi hanya ditukar kepada skrip Python oleh Impacket. Malah, smbclient membenarkan anda mengehos secara rahsia pemindahan FTP melalui SMB.

Mari kita berundur dan fikirkan apa yang boleh dilakukan oleh ini untuk pekerja. Dalam senario rekaan saya, katakan seorang blogger, penganalisis kewangan atau perunding keselamatan bergaji tinggi dibenarkan menggunakan komputer riba peribadi untuk bekerja. Akibat daripada beberapa proses ajaib, dia tersinggung dengan syarikat itu dan "semuanya menjadi buruk." Bergantung pada sistem pengendalian komputer riba, ia sama ada menggunakan versi Python daripada Impact, atau versi Windows smbexec atau smbclient sebagai fail .exe.

Seperti Snowden, dia mengetahui kata laluan pengguna lain sama ada dengan melihat ke atas bahunya, atau dia bernasib baik dan terjumpa fail teks dengan kata laluan itu. Dan dengan bantuan kelayakan ini, dia mula menggali sekitar sistem pada tahap keistimewaan yang baharu.

Menggodam DCC: Kami tidak memerlukan Mimikatz yang "bodoh".

Dalam catatan saya sebelum ini mengenai pentesting, saya sering menggunakan mimikatz. Ini ialah alat yang hebat untuk memintas bukti kelayakan - cincang NTLM dan juga kata laluan teks jelas tersembunyi di dalam komputer riba, hanya menunggu untuk digunakan.
Zaman dah berubah. Alat pemantauan telah menjadi lebih baik dalam mengesan dan menyekat mimikatz. Pentadbir keselamatan maklumat juga kini mempunyai lebih banyak pilihan untuk mengurangkan risiko yang berkaitan dengan lulus serangan hash (PtH).
Jadi apakah yang perlu dilakukan oleh pekerja pintar untuk mengumpul kelayakan tambahan tanpa menggunakan mimikatz?

Kit Impacket termasuk utiliti yang dipanggil secretsdump, yang mendapatkan semula bukti kelayakan daripada Cache Kredensial Domain, atau singkatannya DCC. Pemahaman saya ialah jika pengguna domain log masuk ke pelayan tetapi pengawal domain tidak tersedia, DCC membenarkan pelayan untuk mengesahkan pengguna. Bagaimanapun, secretsdump membenarkan anda membuang semua cincang ini jika ia tersedia.

Cincang DCC ialah bukan cincang NTML dan tidak boleh digunakan untuk serangan PtH.

Nah, anda boleh cuba menggodamnya untuk mendapatkan kata laluan asal. Walau bagaimanapun, Microsoft telah menjadi lebih bijak dengan DCC dan cincang DCC telah menjadi sangat sukar untuk dipecahkan. Ya saya ada hashcat, "peneka kata laluan terpantas di dunia," tetapi memerlukan GPU untuk berjalan dengan berkesan.

Sebaliknya, mari kita cuba berfikir seperti Snowden. Seorang pekerja boleh menjalankan kejuruteraan sosial secara bersemuka dan mungkin mengetahui beberapa maklumat tentang orang yang kata laluannya ingin dipecahkan. Sebagai contoh, ketahui sama ada akaun dalam talian orang itu pernah digodam dan semak kata laluan teks jelas mereka untuk sebarang petunjuk.

Dan ini adalah senario yang saya memutuskan untuk pergi bersama. Katakan bahawa orang dalam mengetahui bahawa bosnya, Cruella, telah digodam beberapa kali pada sumber web yang berbeza. Selepas menganalisis beberapa kata laluan ini, dia menyedari bahawa Cruella lebih suka menggunakan format nama pasukan besbol "Yankees" diikuti dengan tahun semasa - "Yankees2015".

Jika anda kini cuba menghasilkan semula ini di rumah, maka anda boleh memuat turun kecil, "C" kod, yang melaksanakan algoritma pencincangan DCC dan menyusunnya. John the Ripper, dengan cara ini, menambah sokongan untuk DCC, jadi ia juga boleh digunakan. Katakan bahawa orang dalam tidak mahu bersusah payah mempelajari John the Ripper dan suka menjalankan "gcc" pada kod C warisan.

Berpura-pura sebagai orang dalam, saya mencuba beberapa kombinasi berbeza dan akhirnya dapat mengetahui bahawa kata laluan Cruella ialah "Yankees2019" (lihat di bawah). Misi selesai!

Penggodaman Kata Laluan Tersembunyi dengan Smbexec

Sedikit kejuruteraan sosial, sedikit ramalan nasib dan sedikit Maltego dan anda sedang dalam perjalanan untuk memecahkan cincang DCC.

Saya cadangkan kita berakhir di sini. Kami akan kembali kepada topik ini dalam siaran lain dan melihat kaedah serangan yang lebih perlahan dan senyap, terus membina set utiliti terbaik Impacket.

Sumber: www.habr.com

Tambah komen