Metasploit Framework, Bahagian 2

Nota Editor: Dokumen ini telah ditulis semula sepenuhnya, menggabungkan beberapa pepijat yang penting dari artikel sebelum ini, dan membincangkan perubahan dengan MSF versi 2,2 .
Terjemahan Nota: terjemahan Perancis dokumen ini juga disediakan (PDF), sebagai tambahan kepada Kursus Crash (PDF) terjemahan pada MSF, juga dalam bahasa Perancis.

1. Pengenalan

Dalam bahagian pertama daripada siri artikel ini, kita membincangkan bagaimana bertulis eksploitasi masih satu proses yang menyakitkan dan mengambil masa yang lama . Kami membincangkan halangan-halangan yang biasa dihadapi semasa pembangunan mengeksploitasi dan bagaimana Rangka Kerja Metasploit boleh menyelesaikan beberapa masalah. Artikel ini akan bermula dengan pengenalan ringkas kepada antara muka konsol dan menerangkan bagaimana untuk memilih dan menggunakan modul mengeksploitasi. Kami akan meliputi sistem persekitaran, bagaimana ia berfungsi, dan apa ciri-ciri yang boleh diaktifkan melaluinya.

2. Kaki anda Basah

MSF dipasang mempunyai tiga persekitaran kerja, msfconsole, antara muka msfcli dan antara muka msfweb. Walau bagaimanapun, kerja-kerja utama (dan pilihan) kawasan untuk MSF msfconsole. Ia adalah antara muka baris arahan yang cekap yang mempunyai set arahan sendiri dan sistem persekitaran. Walaupun Rangka Kerja direka untuk berjalan di sistem Unix seperti, seperti Linux atau BSD, ia juga akan berjalan pada Windows melalui persekitaran Cygwin. Pemasang Windows, dari metasploit.com laman web, termasuk versi pra-dikonfigurasikan dan Kerry Cygwin.
Semasa pengawalan msfconsole, cek piawai dilakukan. Jika semua kerja-kerja daripada denda, kita akan lihat paparan seperti yang ditunjukkan dalam Rajah 1.

Rajah 1
Sekarang command prompt (MSF) untuk msfconsole aktif. Konsol sangat fleksibel, dan jika pengguna memasuki mana-mana perintah yang tidak diketahui, ia akan mencari pembolehubah PATH persekitaran untuk laksana apa-apa yang hampir sama. Jika fail padanan ditemui disempurnakan seperti arahan segera standard.
Mengikut naluri, menaip arahan membantu memaparkan satu senarai arahan yang ada seperti yang ditunjukkan dalam Rajah 2.

Rajah 2
Menunjukkan arahan mengeksploitasi menyenaraikan eksploitasi yang sedia ada . Terdapat eksploitasi jauh untuk pelbagai platform dan aplikasi seperti Windows, Linux, IIS, Apache, dan sebagainya, yang membantu untuk menguji fleksibiliti dan memahami kerja MSF. Ini ditunjukkan dalam Rajah 3, di bawah.

Rajah 3
Seperti yang anda mungkin sudah perhatikan, pemasangan lalai Metasploit Framework 2.0 dilengkapi dengan 18 eksploitasi dan 27 payloads, yang cukup stok penimbal mengesankan.
Untuk senarai yang hadir payloads, melaksanakan arahan tunjuk payloads. Payloads kemas, cekap dan sangat yang ditulis dengan baik. Payloads ini mencapai pelbagai tugas, seperti mengikat shell arahan ke pelabuhan mendengar, menambah akaun pengguna yang baru, atau mengupload dan melaksanakan program pilihan anda. MSF walaupun mempunyai sokongan untuk penciptaan muatan dinamik, menggunakan perpustakaan InlineEgg seperti yang ditunjukkan dalam Rajah 4.

Rajah 4
Maklumat khusus mengenai mengeksploitasi 1 boleh dimusnahkan dengan exploit_name arahan mengeksploitasi info yang menyediakan maklumat seperti sasaran disediakan, keperluan mengeksploitasi, butir-butir kelemahan sendiri, dan juga rujukan di mana anda boleh mendapatkan maklumat lanjut ! Ini ditunjukkan dalam Rajah 5.

Rajah 5
Dalam cara yang sama, maklumat tentang muatan tertentu boleh diperolehi oleh payload_name arahan muatan info. Bermula dengan 2.2 versi MSF, anda boleh menggunakan module_name info, tanpa perlu menyatakan jenis, seperti yang ditunjukkan dalam Rajah 6.

Rajah 6

3. Menggunakan Mengeksploitasi Sesuatu

Sekarang kita akan menerangkan prosedur untuk memilih mengeksploitasi tertentu dan kemudian menjalankannya. Exploit_name arahan penggunaan mengaktifkan persekitaran mengeksploitasi untuk exploit_name mengeksploitasi.
Jika anda memilih Microsoft RPC Dcom MSO3-026 mengeksploitasi menggunakan nama msrpc_dcom_ms03_026, anda mungkin perasan perubahan segera dari MSF> MSF msrpc_dcom_ms03_026>. Ini memberitahu bahawa kami sedang bekerja dalam persekitaran sementara mengeksploitasi bahawa. Arahan menunjukkan boleh digunakan untuk melihat maklumat tentang mengeksploitasi semasa. Arahan menunjukkan pilihan yang memaparkan pelbagai parameter yang diperlukan untuk menggunakan mengeksploitasi, seperti yang ditunjukkan dalam Rajah 7.

Rajah 7
Ia jelas bahawa mengeksploitasi ini memerlukan dua parameter, RHOST (alamat sasaran) dan RPORT (dan pelabuhan sasaran, mungkir 135 dalam kes ini). Arahan menunjukkan sasaran akan menyenaraikan semua sasaran yang ada untuk modul mengeksploitasi yang dipilih. Seperti yang anda boleh lihat, modul ini hanya mempunyai satu sasaran, yang bekerja pada NT 4.0 SP6, ditambah semua versi Windows 2000, dan semua versi Windows XP.
Arahan menunjukkan payloads akan menyenaraikan semua payloads yang serasi dengan mengeksploitasi dipilih. MSF melakukan pekerjaan yang baik menghalang anda dari menggunakan muatan yang salah untuk mengeksploitasi yang diberikan.
Kita mesti menetapkan setiap pilihan yang disenaraikan sebagai 'dikehendaki' sebelum kita boleh menggunakan mengeksploitasi ini. Ini mengeksploitasi kita hanya mempunyai pilihan sasaran tunggal, jadi kami menetapkan pembolehubah SASARAN 0, dengan arahan yang ditetapkan 0 SASARAN. Eksploitasi Ramai yang memilih sasaran lalai yang munasabah untuk anda. Kami kini menetapkan alamat IP pelayan sasaran dengan arahan yang ditetapkan 192.168.0.27 RHOST.
Seterusnya kita perlu untuk menetapkan muatan yang diperlukan (shellcode) untuk mengeksploitasi. Di sini kita menetapkan muatan Winbind, menggunakan set arahan muatan Winbind. Nama-nama muatan boleh menukar antara versi MSF, jadi sentiasa menyemak output payloads menunjukkan selepas menaik taraf. Ini muatan tertentu akan menyebabkan pelayan untuk mendengar pelabuhan dan bertelur shell arahan apabila sambungan dibuat. Ini memaparkan fleksibiliti extensible sistem muatan MSF. Tiap-tiap mengeksploitasi tunggal yang dimasukkan ke dalam MSF membolehkan payloads sewenang-wenangnya untuk dipilih dan digunakan, walaupun adat yang anda membangunkan diri anda. Notis perubahan segera dari MSF msrpc_dcom_ms03_026> MSF msrpc_dcom_ms03_026 (Winbind)> selepas memilih muatan. Sekarang kita menggunakan arahan tunjuk pilihan untuk memeriksa pilihan mana yang telah ditetapkan dan yang dikehendaki ditetapkan. Seperti yang kita dapat lihat, kita masih perlu untuk membekalkan nilai bagi pemboleh ubah LPORT seperti yang ditunjukkan dalam Rajah 8. Kami menetapkan ia menggunakan arahan yang ditetapkan LPORT 1536 .

Rajah 8
Pembolehubah EXITFUNC boleh didapati untuk hampir setiap muatan Windows. Ini kawalan berubah-ubah bagaimana muatan yang akan membersihkan selepas dirinya sebaik sahaja ia memenuhi tugasnya. Agak kelemahan beberapa boleh dieksploitasi berulang kali, hanya dengan menggunakan nilai yang berlainan bagi EXITFUNC. Mujurlah, anda jarang perlu bimbang tentang perkara ini sebagai eksploitasi banyak secara automatik memilih nilai yang terbaik untuk anda. Kecuali anda tahu apa yang anda lakukan, nilai ini tidak seharusnya menetapkan. Menetapkan nilai yang salah boleh melampiaskan malapetaka di sistem dieksploitasi.
Banyak eksploitasi dan payloads mempunyai satu lagi pilihan, yang dipanggil pilihan lanjutan. Ini boleh dipaparkan dengan menunjukkan arahan maju. Pilihan Advanced boleh melaksanakan tugas-tugas seperti mengubahsuai permintaan mengeksploitasi untuk mengelakkan tandatangan IDS, menukar tetapan kekerasan, atau menyatakan alamat kembali yang tepat untuk digunakan.
Pada ketika ini, semuanya telah siap dan semua pemboleh ubah yang telah ditetapkan. Kami membuat pemeriksaan akhir pada mengeksploitasi dengan arahan pilihan menunjukkan dan mengesahkan bahawa kita adalah baik untuk pergi.
Semuanya kelihatan sempurna. Ia menunjukkan masa!
Arahan mengeksploitasi sebenarnya melancarkan serangan itu, melakukan apa yang perlu lakukan untuk mempunyai muatan yang disempurnakan bagi sistem jauh .
Arahan cek boleh digunakan sama ada atau tidak sistem sasaran terdedah kepada serangan. Ciri periksa tidak boleh didapati dengan mengeksploitasi setiap, tetapi boleh berguna apabila anda cuba untuk menentukan sama ada satu sistem bertampal sebelum cuba untuk mengeksploitasi.

4. Menambah Exploit Baru / Modul

Menambah eksploitasi baru untuk MSF adalah mudah. Mengeksploitasi MSF serasi jauh untuk IIS 5.x SSL Penimbal Limpahan PCT awam dikeluarkan pada 24/04/2004 ( http://www.k-otik.com/exploits/04242004.iis5x_ssl_pct.pm.php ). Bagi maksud Perkara ini, kami akan menambah mengeksploitasi untuk stok penimbal MSF kami.
Selepas memuat turun mengeksploitasi, pengguna mesti ambil perhatian penamaan modul Perl untuk mengeksploitasi. Nama fail mesti sama dengan nama pakej, dalam erti kata lain, MSF:: Mengeksploitasi:: iis5x_ssl_pct harus disimpan sebagai iis5x_ssl_pct.pm. Sekarang salinan modul kepada eksploitasi Subdirektori (sekiranya anda menggunakan Windows / home/framework-2.0/exploits). Dengan seberapa segera sebagai fail disalin, ia sedia untuk digunakan, dan anda tidak perlu memulakan semula konsol. Gunakan arahan tunjuk eksploitasi untuk mengesahkan bahawa modul yang telah diisi dengan betul.
  MSF> show eksploitasi Metasploit Framework loaded Exploit ==================================== apache_chunked_win32 Apache gdi32.dll Chunked Pengekodan exchange2000_xexch50 Pertukaran Heap 2000 MS03-46 Limpahan ia_webmail IA WebMail 3.x Penimbal Limpahan iis50_nsiislog_post IIS 5,0 nsiislog.dll POST Limpahan iis50_printer_overflow IIS 5,0 Printer Penimbal Limpahan iis50_webdav_ntdll IIS 5,0 WebDAV NTDLL.DLL Limpahan iis5x_ssl_pct IIS 5.x SSL PCT Limpahan imail_ldap IMail Penimbal Perkhidmatan LDAP Limpahan msrpc_dcom_ms03_026 Microsoft RPC Dcom MSO3-026 mssql2000_resolution MSSQL 2000 Limpahan Resolusi poptop_negative_read PoPToP Baca Limpahan negatif ... 
Mengeksploitasi telah berjaya ditambah ke dalam senarai. Mengeksploitasi dijalankan dalam cara yang sama seperti mengeksploitasi mana-mana lain di MSF. Versi 2.2 daripada MSF membenarkan pengguna untuk menyimpan direktori mereka sendiri eksploitasi, payloads, pengekod, dan nops. Pemasangan mengeksploitasi baru boleh sama ada seluruh sistem, atau setiap pengguna.

5. Console Persekitaran

Dalam perenggan sebelum ini, kami telah membuat cukup rujukan beberapa pembolehubah dan persekitaran, tanpa menjelaskan apa yang mereka. Persekitaran hanya ruang nama bagi pemboleh ubah. Apabila anda menetapkan pembolehubah dalam MSF, ia juga memberi masukan baru dalam persekitaran semasa anda. Persekitaran yang digunakan untuk menentukan parameter mengeksploitasi dan mengkonfigurasi pelbagai bahagian sistem. MSF terbahagi kepada dua persekitaran logik, Alam Sekitar Global dan Alam Sekitar sementara. Mengeksploitasi setiap, apabila dipilih, mempunyai persekitaran yang sementara yang mengatasi persekitaran global.

5.1 Alam Sekitar Global

Persekitaran global diakses melalui setg dan unsetg arahan. Calling setg memaparkan persekitaran global semasa dan memanggil rasa unsetg daripada semua tetapan persekitaran global.
Seperti yang ditunjukkan di bawah dalam Rajah 9, kita menetapkan nilai LPORT LHOST, dan muatan dalam persekitaran global dengan nilai-nilai kekal dan menyimpan perubahan dengan arahan save .

Rajah 9
Arahan save menulis semua persekitaran semasa ke fail pada cakera. Versi 2.0 dan 2.1 tempat ini data ke dalam fail $ HOME / .msfconfig, dan versi 2,2 tempat persekitaran yang disimpan ke dalam HOME $ / .msf / config. Persekitaran yang disimpan dimuatkan masa depan mana-mana antara muka pengguna MSF adalah bermula. Ia adalah amalan biasa untuk menetapkan persekitaran global seperti LHOST dan LPORT dan menyimpannya ke dalam cakera, menghapuskan keperluan untuk menetapkan mereka atas dasar per-mengeksploitasi.

5.2 Alam Sekitar sementara

Persekitaran sementara sub-persekitaran yang mengatasi tetapan global. Persekitaran sementara adalah terikat untuk mengeksploitasi yang sedang dipilih. Persekitaran Tiap-tiap mengeksploitasi diasingkan daripada yang lain, membenarkan pengguna untuk mudah bertukar-tukar antara eksploitasi dipratatarajahkan dengan arahan penggunaan.

5,3 Alam Sekitar Tetapan Lanjutan

MSF menyediakan cukup tetapan beberapa maju yang dikonfigurasikan melalui pembolehubah persekitaran. Tetapan ini termasuk sistem pembalakan, pilihan soket, dan parameter debugging.

5.3.1 Pembalakan Pilihan

Ciri-ciri pembalakan boleh diaktifkan dengan menetapkan Pembalakan yang berubah-ubah (nama global serta sebagai sementara) kepada nilai bukan sifar. Direktori untuk kayu-kayu balak yang ditetapkan oleh perubahan LogDir (global serta sebagai nama sementara) pembolehubah yang mungkir $ HOME / .msflogs. Utiliti msflogdump boleh digunakan untuk melihat log sesi. Bermula dengan versi 2.2, kayu-kayu balak yang disimpan di dalam $ HOME / .msf / log.

5.3.2 Soket Pilihan

Tamat masa dan tetapan proksi pelbagai boleh diubah dengan menetapkan pembolehubah persekitaran yang berikut.
MSF:: Socket:: proksi (nama global) atau proksi (nama sementara): pembolehubah ini boleh digunakan untuk menetapkan proksi (SOCKS4 dan HTTP) tetapan untuk sambungan rangkaian. Ia menyokong rantaian proksi yang boleh dinyatakan dalam jenis rantaian format: host: port dan dipisahkan oleh koma bagi setiap pelayan proksi.
MSF:: Soket:: RecvTimeout (nama global) atau RecvTimeout (nama sementara): Ini menentukan bilangan maksimum saat yang dibenarkan untuk membaca dari soket .
MSF:: Socket:: ConnectTimeout (nama global) atau ConnectTimeout (nama sementara): Ini adalah untuk menentukan tempoh tamat masa menyambung soket (mungkir hingga 10 saat).
MSF:: Socket:: RecvTimeoutLoop (nama global) atau RecvTimeoutLoop (nama sementara): Set masa maksimum (dalam saat) untuk menunggu sambungan sebelum soket ditutup. Gelung ini diaktifkan semula pada setiap data menerima.

5.3.3 Penyahpepijat Pilihan

Persekitaran yang berubah-ubah DebugLevel menetapkan tahap debugging dan pilihan yang terlalu banyak kata untuk Rangka Kerja dan modul. Terlalu banyak kata bertambah bergantung kepada nilai pemboleh ubah, antara di antara 0 dan 5.

5.3.4 Pilihan Muatan

Secara lalai, proses pengekodan akan kitaran melalui semua modul sehingga ia mendapati yang mengelakkan ciri-ciri tertentu yang terhad yang ditetapkan untuk mengeksploitasi semasa. Keutamaan modul pengekodan boleh ditetapkan dalam suatu perintah yang dipisahkan oleh koma dalam Pengekodan variabel persekitaran. Dengan cara yang sama, pemboleh ubah Nov digunakan untuk menentukan NOP menjana rutin keutamaan. Ini amat berguna apabila anda perlu untuk mengelakkan IDS tandatangan yang tertentu.
Pemboleh ubah RandomNops memberitahu modul NOP penjana menggunakan urutan randomizes NOP seperti arahan dan bukannya opcode NOP standard . Ini boleh juga digunakan untuk mengelakkan tandatangan IDS. Versi 2,2 termasuk sokongan untuk generasi NOP rawak pintar, di mana mengeksploitasi masing-masing boleh menentukan daftar yang tidak boleh diubah suai oleh opcodes seperti NOP.

6. Kesimpulan

Setelah membaca bahagian kedua artikel ini, anda perlu memahami pepejal apa Rangka Kerja Metasploit dan bagaimana anda boleh mula menggunakannya. Kami menyifatkan antara muka msfconsole, proses umum untuk memilih dan menggunakan mengeksploitasi, dan bagaimana kerja-kerja sistem persekitaran.
Artikel ini membuka jalan untuk bahagian ketiga dan terakhir siri artikel ini . Dalam bahagian ketiga, kami akan menjelaskan antara muka pengguna yang lain, utiliti pembantu yang dimasukkan, dan beberapa garis panduan asas untuk membangunkan modul mengeksploitasi anda sendiri. Kami akan membincangkan potensi masa depan dengan menjangkakan ciri-ciri baru yang akan dimasukkan ke dalam rangka kerja.

No comments:

Post a Comment