Cara Menggunakan Skrip Enjin Skrip NMAP (NSE) di Linux

Cara Menggunakan Skrip Enjin Skrip NMAP (NSE) di Linux

NMAP adalah pengimbas keselamatan rangkaian dan penjelajahan rangkaian baris baris yang popular, kuat dan silang platform. Ia juga boleh membantu anda mendapatkan gambaran keseluruhan sistem yang menghubungkan rangkaian anda; Anda boleh menggunakannya untuk mengetahui semua alamat IP tuan rumah hidup, imbas pelabuhan dan perkhidmatan terbuka yang berjalan pada tuan rumah, dan banyak lagi.

Salah satu ciri menarik Nmap adalah Enjin Skrip NMAP (Nse), yang membawa lebih banyak fleksibiliti dan kecekapan kepadanya. Ini membolehkan anda menulis skrip anda sendiri dalam bahasa pengaturcaraan Lua, dan mungkin berkongsi skrip ini dengan pengguna Nmap lain di luar sana.

Baca juga: 29 Contoh Praktikal Perintah NMAP untuk Linux

Terdapat empat jenis skrip NSE, iaitu:

  • Skrip prerule - Adakah skrip yang dijalankan sebelum mana -mana operasi imbasan NMAP, mereka dilaksanakan apabila NMAP belum mengumpulkan sebarang maklumat mengenai sasaran.
  • Skrip tuan rumah - Adakah skrip dilaksanakan selepas NMAP telah melakukan operasi biasa seperti penemuan tuan rumah, pengimbasan pelabuhan, pengesanan versi, dan pengesanan OS terhadap tuan rumah sasaran.
  • Skrip Perkhidmatan - Adakah skrip berjalan menentang perkhidmatan tertentu yang mendengar pada tuan rumah sasaran.
  • Skrip postrul - Adakah skrip dijalankan selepas NMAP telah mengimbas semua tuan rumah sasarannya.

Kemudian skrip ini dikumpulkan di bawah pelbagai kategori termasuk yang untuk pengesahan (auth), menemui tuan rumah (siaran), serangan kekerasan untuk meneka kelayakan pengesahan (kasar), menemui lebih banyak mengenai rangkaian (penemuan), menyebabkan penafian perkhidmatan (dos), mengeksploitasi beberapa kelemahan (mengeksploitasi), dan lain-lain. Sejumlah skrip tergolong dalam kategori lalai.

Catatan: Sebelum kita bergerak lagi, anda harus mengambil nota mengenai perkara -perkara utama ini:

  • Jangan laksanakan skrip dari pihak ketiga tanpa melihat secara kritis atau hanya jika anda mempercayai penulis. Ini kerana skrip ini tidak dijalankan di dalam kotak pasir dan dengan itu boleh merosakkan sistem anda secara tidak disangka -sangka atau secara tidak sengaja atau menyerang privasi anda.
  • Kedua, banyak skrip ini mungkin dijalankan sama ada prerule atau postrule Skrip. Memandangkan ini, disarankan untuk menggunakan prerule untuk tujuan konsistensi.
  • NMAP menggunakan Skrip/Skrip.db pangkalan data untuk mengetahui skrip dan kategori lalai yang ada.

Untuk melihat lokasi semua skrip NSE yang ada, jalankan utiliti cari di terminal, seperti ini:

$ cari *.nse /usr/share/nmap/scripts/acarsd-info.NSE/USR/SHARE/NMAP/SCRIPTS/ALAMAT-INFO.NSE/USR/SHARE/NMAP/SCRIPTS/AFP-BRUTE.NSE/USR/SHARE/NMAP/SCRIPTS/AFP-LS.NSE/USR/SHARE/NMAP/SCRIPTS/AFP-PATH-VULN.NSE/USR/SHARE/NMAP/SCRIPTS/AFP-SERVERINFO.NSE/USR/SHARE/NMAP/SCRIPTS/AFP-SHOWMOUNT.NSE/USR/SHARE/NMAP/SCRIPTS/AJP-AUTH.NSE/USR/SHARE/NMAP/SCRIPTS/AJP-BRUTE.NSE/USR/SHARE/NMAP/SCRIPTS/AJP-HEADERS.NSE/USR/SHARE/NMAP/SCRIPTS/AJP-METHODS.NSE/USR/SHARE/NMAP/SCRIPTS/AJP-Request.NSE/USR/SHARE/NMAP/SCRIPTS/ALLSEEINGEYE-INFO.NSE/USR/SHARE/NMAP/SCRIPTS/AMQP-INFO.NSE/USR/SHARE/NMAP/SCRIPTS/ASN-QUERY.NSE .. 

Skrip NSE dimuatkan menggunakan --Skrip Bendera, yang juga membolehkan anda menjalankan skrip anda sendiri dengan menyediakan kategori, nama fail skrip, atau nama direktori di mana skrip anda berada.

Sintaks untuk membolehkan skrip adalah seperti berikut:

$ nmap -sc target #load skrip lalai atau $ nmap -script filename | kategori | direktori | ungkapan, ... sasaran 

Anda boleh melihat penerangan skrip dengan --Skrip-help pilihan. Di samping itu, anda boleh lulus hujah ke beberapa skrip melalui --skrip-args dan --skrip-arg-fail pilihan, yang kemudian digunakan untuk memberikan nama fail dan bukannya arg baris arahan.

Untuk melakukan imbasan dengan kebanyakan skrip lalai, gunakan -sc bendera atau digunakan secara alternatif --Skrip = lalai seperti yang ditunjukkan.

$ nmap -sc scanme.nmap.org atau $ nmap --cript = scanme lalai.nmap.org atau $ nmap -Scanme lalai skrip.nmap.org 
Output sampel
Memulakan NMAP 7.01 (https: // nmap.org) pada 2017-11-15 10:36 IST NMAP Scan Report for Scanme.nmap.org (45.33.32.156) Hos naik (0.Latensi 0027s). Tidak Ditunjukkan: 999 Port Disaring Perkhidmatan Negeri Port 80/TCP Terbuka Http | _http-Title: Teruskan dan imbasan! NMAP Selesai: 1 Alamat IP (1 Host Up) Diimbas dalam 11.74 saat 

Untuk menggunakan skrip untuk tujuan yang sesuai, anda boleh, pertama sekali, dapatkan penerangan ringkas tentang apa yang sebenarnya dilakukannya,, HTTP-HEADERS.

$ nmap --cript-help-http-headers scanme.nmap.org 
Output sampel
Memulakan NMAP 7.01 (https: // nmap.org) pada 2017-11-15 10:37 IST HTTP-Headers Kategori: Discovery SAFE https: // nmap.org/nsedoc/scripts/http-headers.HTML melakukan permintaan kepala untuk folder root ("/") pelayan web dan memaparkan tajuk HTTP kembali. 

Memuatkan skrip NSE untuk melakukan imbasan NMAP

Anda boleh memilih atau memuat skrip untuk melakukan imbasan dalam kaedah yang berbeza yang dijelaskan di bawah.

Menggunakan nama skrip

Sebaik sahaja anda tahu apa skrip, anda boleh melakukan imbasan menggunakannya. Anda boleh menggunakan satu skrip atau memasukkan senarai nama skrip yang dipisahkan koma. Perintah di bawah akan membolehkan anda melihat tajuk HTTP yang dikonfigurasikan pada webserver di host sasaran.

$ nmap-Scanme http-script scanme.nmap.org 
Imbas header HTTP
Memulakan NMAP 7.01 (https: // nmap.org) pada 2017-11-15 10:39 IST NMAP Scan Report for Scanme.nmap.org (45.33.32.156) Hos naik (0.Latihan 27s). Tidak ditunjukkan: 996 Port tertutup Port State Service 22/TCP Terbuka SSH 80/TCP Buka HTTP | http-headers: | Tarikh: Rabu, 15 Nov 2017 05:10:04 GMT | Pelayan: Apache/2.4.7 (Ubuntu) | Menerima-ranges: Bytes | Vary: menerima pengekodan | Sambungan: Tutup | Kandungan-Jenis: Teks/HTML | | _ (Jenis permintaan: kepala) 179/TCP ditapis BGP 31337/TCP NMAP Terbuka Elite Selesai: 1 alamat IP (1 host) diimbas dalam 20.96 saat 

Menggunakan kategori

Anda juga boleh memuat skrip dari satu kategori atau dari senarai kategori yang dipisahkan koma. Dalam contoh ini, kami menggunakan semua skrip dalam kategori lalai dan penyiaran untuk menjalankan imbasan pada tuan rumah 192.168.56.1.

$ nmap -Script Default, Siaran 192.168.56.1 
Mengimbas tuan rumah

Menggunakan * Wildcard

Ini berguna apabila anda ingin memilih skrip dengan corak nama yang diberikan. Contohnya untuk memuat semua skrip dengan nama bermula dengan SSH, Jalankan arahan di bawah di terminal:

$ nmap --cript "ssh-*" 192.168.56.1 
Muat skrip menggunakan kad liar-

Menggunakan ekspresi Boolean

Anda juga boleh memilih skrip menggunakan ekspresi boolean yang boleh anda bina menggunakan dan, atau, dan tidak pengendali. Dan nama dalam ungkapan boolean mungkin menjadi kategori, nama fail dari Skrip.db, atau semua.

Perintah berikut akan memuat skrip dari kategori lalai atau siaran.

$ nmap --cript "lalai atau siaran" 192.168.56.10 

Yang bersamaan dengan:

$ nmap -Script Default, Siaran 192.168.56.10 

Untuk memuatkan semua skrip yang menghilangkannya di vuln kategori, jalankan arahan ini di terminal.

$ nmap --cript "not vuln" 192.168.56.10 

Perintah seterusnya kelihatan sedikit rumit tetapi mudah difahami, ia memilih skrip dalam kategori lalai, atau penyiaran, meninggalkan mereka yang mempunyai nama bermula dengan SSH-:

$ nmap --cript "(lalai atau siaran) dan bukan ssh-*" 192.168.56.10 

Yang penting, adalah mungkin untuk menggabungkan kategori, nama skrip, direktori yang mengandungi skrip tersuai anda, atau ungkapan boolean untuk memuat skrip, seperti ini:

$ nmap-Siaran Skrip, Vuln, SSH-Auth-Methods,/Path/To/Custom/Scripts 192.168.56.10 

Lulus Argumen ke Skrip NSE

Berikut adalah contoh yang menunjukkan cara lulus argumen ke skrip dengan -skrip-args pilihan:

$ nmap --cript mysql-audit --cript-args "mysql-audit.nama pengguna = 'root', \ mysql-audit.kata laluan = 'password_here', mysql-audit.filename = 'nselib/data/mysql-cis.Audit '" 

Untuk lulus nombor port, gunakan -p Pilihan NMAP:

$ nmap -p 3306 --cript mysql-audit --cript-args "mysql-audit.nama pengguna = 'root', \ mysql-audit.kata laluan = 'password_here', mysql-audit.filename = 'nselib/data/mysql-cis.Audit '" 

Perintah di atas menjalankan audit konfigurasi keselamatan pelayan MySQL Database terhadap bahagian -bahagian Cis mysql v1.0.2 penanda aras. Anda juga boleh membuat fail audit tersuai berguna anda sendiri untuk audit MySQL yang lain.

Itu sahaja buat masa ini. Anda boleh mendapatkan lebih banyak maklumat di halaman NMAP Man atau lihat penggunaan NSE.

Untuk memulakan dengan menulis skrip NSE anda sendiri, lihat panduan ini: https: // nmap.org/buku/nse-tutorial.html

Kesimpulan

Nmap adalah alat yang sangat kuat dan berguna yang diperlukan setiap sistem atau pentadbir rangkaian dalam senjata keselamatannya - Nse hanya menambah lebih banyak kecekapan kepadanya.

Dalam artikel ini, kami memperkenalkan anda kepada Enjin Skrip NMAP dan melihat cara mencari dan menggunakan pelbagai skrip yang ada di bawah kategori yang berbeza. Sekiranya anda mempunyai sebarang pertanyaan, jangan ragu untuk menulis kembali kepada kami melalui borang komen di bawah.