Cara menggunakan skrip NMAP Script Engine (NSE) di Linux

Cara menggunakan skrip NMAP Script Engine (NSE) di Linux

NMAP adalah pemindai keamanan jaringan dan eksplorasi jalur perintah yang populer, kuat, dan lintas platform. Ini juga dapat membantu Anda mendapatkan ikhtisar sistem yang menghubungkan jaringan Anda; Anda dapat menggunakannya untuk mengetahui semua alamat IP host langsung, memindai port dan layanan terbuka yang berjalan pada host tersebut, dan banyak lagi.

Salah satu fitur menarik dari Nmap adalah Mesin skrip nmap (Nse), yang membawa lebih banyak fleksibilitas dan efisiensi untuk itu. Ini memungkinkan Anda untuk menulis skrip Anda sendiri dalam bahasa pemrograman LUA, dan mungkin berbagi skrip ini dengan pengguna NMAP lainnya di luar sana.

Baca juga: 29 Contoh Praktis Perintah NMAP untuk Linux

Ada empat jenis skrip NSE, yaitu:

  • Skrip prerule - adalah skrip yang berjalan sebelum operasi pemindaian NMAP, mereka dieksekusi ketika NMAP belum mengumpulkan informasi tentang target.
  • Skrip host - Apakah skrip dieksekusi setelah NMAP melakukan operasi normal seperti penemuan host, pemindaian port, deteksi versi, dan deteksi OS terhadap target host.
  • Skrip layanan - Apakah skrip dijalankan melawan layanan tertentu mendengarkan pada target host.
  • Skrip postrule - Apakah skrip dijalankan setelah NMAP memindai semua host targetnya.

Kemudian skrip -skrip ini dikelompokkan dalam berbagai kategori termasuk yang untuk otentikasi (auth), menemukan host (siaran), serangan brute force untuk menebak kredensial otentikasi (kasar), menemukan lebih banyak tentang jaringan (penemuan), menyebabkan penolakan layanan (dos), mengeksploitasi beberapa kerentanan (mengeksploitasi), dll. Sejumlah skrip termasuk dalam kategori default.

Catatan: Sebelum kita bergerak lebih jauh, Anda harus mencatat poin -poin penting ini:

  • Jangan menjalankan skrip dari pihak ketiga tanpa secara kritis memeriksanya atau hanya jika Anda mempercayai penulis. Ini karena skrip ini tidak dijalankan dalam kotak pasir dan karenanya dapat secara tidak terduga atau jahat merusak sistem Anda atau menyerang privasi Anda.
  • Kedua, banyak dari skrip ini dapat berjalan sebagai salah satu prerule atau Postrule naskah. Mempertimbangkan ini, disarankan untuk menggunakan prerule untuk tujuan konsistensi.
  • NMAP menggunakan skrip/skrip.db Database untuk mencari tahu skrip dan kategori default yang tersedia.

Untuk melihat lokasi semua skrip NSE yang tersedia, jalankan Lokasi Utilitas di Terminal, seperti ini:

$ temukan *.nse /usr/share/nmap/scripts/acarsd-info.nse/usr/share/nmap/skrip/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 dimuat menggunakan --naskah Bendera, yang juga memungkinkan Anda menjalankan skrip Anda sendiri dengan menyediakan kategori, nama file skrip, atau nama direktori tempat skrip Anda berada.

Sintaks untuk mengaktifkan skrip adalah sebagai berikut:

$ nmap -sc target #Load skrip default atau $ nmap --Script FileName | Kategori | Direktori | Ekspresi, ... Target 

Anda dapat melihat deskripsi skrip dengan --script-help pilihan. Selain itu, Anda dapat meneruskan argumen ke beberapa skrip melalui --Script-Args Dan --Film-args-file Opsi, nanti digunakan untuk memberikan nama file daripada arg baris perintah.

Untuk melakukan pemindaian dengan sebagian besar skrip default, gunakan -sc bendera atau penggunaan alternatif --skrip = default seperti yang ditunjukkan.

$ nmap -sc scanme.nmap.org atau $ nmap --cript = Scanme default.nmap.org atau $ nmap -Script Default Scanme.nmap.org 
Output sampel
Memulai nmap 7.01 (https: // nmap.org) pada 2017-11-15 10:36 Laporan pemindaian NMAP untuk Scanme.nmap.org (45.33.32.156) tuan rumah naik (0.0027S latensi). Tidak Ditampilkan: 999 Layanan Port Port yang Disaring 80/TCP Buka http | _http-title: silakan dan scanme! Nmap selesai: 1 alamat ip (1 host up) dipindai dalam 11.74 detik 

Untuk menggunakan skrip untuk tujuan yang sesuai, Anda dapat, pertama -tama, mendapatkan deskripsi singkat tentang apa yang sebenarnya dilakukannya, misalnya, http-headers.

$ nmap--script-help http-headers scanme.nmap.org 
Output sampel
Memulai nmap 7.01 (https: // nmap.org) di 2017-11-15 10:37 IST HTTP-Headers Kategori: Discovery Safe https: // nmap.org/nsedoc/skrip/http-headers.HTML melakukan permintaan kepala untuk folder root ("/") dari server web dan menampilkan header http yang dikembalikan. 

Memuat skrip NSE untuk melakukan pemindaian nmap

Anda dapat memilih atau memuat skrip untuk melakukan pemindaian dalam berbagai metode yang dijelaskan di bawah ini.

Menggunakan nama skrip

Setelah Anda tahu apa yang dilakukan skrip, Anda dapat melakukan pemindaian menggunakannya. Anda dapat menggunakan satu skrip atau memasukkan daftar nama skrip yang dipisahkan koma. Perintah di bawah ini akan memungkinkan Anda untuk melihat header HTTP yang dikonfigurasi pada server web di host target.

$ nmap --cript http-headers scanme.nmap.org 
Pindai header HTTP
Memulai nmap 7.01 (https: // nmap.org) pada 2017-11-15 10:39 Laporan pemindaian NMAP untuk Scanme.nmap.org (45.33.32.156) tuan rumah naik (0.Latensi 27S). Tidak Ditampilkan: 996 Port Tertutup Port State Service 22/TCP Open SSH 80/TCP Open http | http-headers: | Tanggal: Rabu, 15 Nov 2017 05:10:04 GMT | Server: Apache/2.4.7 (Ubuntu) | Receques-Rate: Bytes | Vary: Accept-Encoding | Koneksi: Tutup | Tipe Konten: Teks/HTML | | _ (Jenis Permintaan: Kepala) 179/TCP Difilter BGP 31337/TCP Open Elite NMAP Dilakukan: 1 Alamat IP (1 Host Up) dipindai dalam 20.96 detik 

Menggunakan kategori

Anda juga dapat memuat skrip dari satu kategori atau dari daftar kategori yang dipisahkan secara koma. Dalam contoh ini, kami menggunakan semua skrip dalam kategori default dan siaran untuk melakukan pemindaian pada host 192.168.56.1.

$ nmap --cript default, disiarkan 192.168.56.1 
Pindai tuan rumah

Menggunakan * wildcard

Ini berguna saat Anda ingin memilih skrip dengan pola nama yang diberikan. Misalnya memuat semua skrip dengan nama yang dimulai dengan ssh, Jalankan perintah di bawah ini di terminal:

$ nmap --cript "ssh-*" 192.168.56.1 
Muat skrip menggunakan wildcards-

Menggunakan ekspresi boolean

Anda juga dapat memilih skrip menggunakan ekspresi boolean yang dapat Anda bangun menggunakan Dan, atau, Dan bukan operator. Dan nama dalam ekspresi boolean mungkin kategori, nama file dari naskah.db, atau semua.

Perintah berikut akan memuat skrip dari kategori default atau siaran.

$ nmap --cript "default atau siaran" 192.168.56.10 

Yang setara dengan:

$ nmap --cript default, disiarkan 192.168.56.10 

Untuk memuat semua skrip menghilangkannya di Vuln kategori, jalankan perintah ini di terminal.

$ nmap --Script "not vuln" 192.168.56.10 

Perintah berikutnya terlihat sedikit rumit tetapi mudah dimengerti, ia memilih skrip dalam kategori default, atau siaran, meninggalkan nama-nama dengan nama yang dimulai dengan ssh-:

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

Yang penting, dimungkinkan untuk menggabungkan kategori, nama skrip, direktori yang berisi skrip khusus Anda, atau ekspresi boolean untuk memuat skrip, seperti ini:

$ nmap --Script Broadcast, Vuln, SSH-Auth-Methods,/Path/to/Custom/Scripts 192.168.56.10 

Melewati argumen ke skrip NSE

Di bawah ini adalah contoh yang menunjukkan cara meneruskan argumen ke skrip dengan -Script-Args pilihan:

$ nmap --Script mysql-audit --cript-args "mysql-audit.username = 'root', \ mysql-audit.kata sandi = 'password_here', mysql-audit.FileName = 'nselib/data/mysql-cis.audit '" 

Untuk melewati nomor port, gunakan -P Opsi nmap:

$ nmap -p 3306 --Script mysql-audit --cript-args "mysql-audit.username = 'root', \ mysql-audit.kata sandi = 'password_here', mysql-audit.FileName = 'nselib/data/mysql-cis.audit '" 

Perintah di atas menjalankan audit konfigurasi keamanan server database mySQL terhadap bagian -bagian dari Cis mysql v1.0.2 Benchmark. Anda juga dapat membuat file audit khusus yang berguna untuk audit MySQL lainnya.

Itu saja untuk saat ini. Anda dapat menemukan informasi lebih lanjut di halaman NMAP Man atau memeriksa penggunaan NSE.

Untuk memulai dengan menulis skrip NSE Anda sendiri, lihat panduan ini: https: // nmap.org/book/nse-tutorial.html

Kesimpulan

Nmap adalah alat yang sangat kuat dan bermanfaat yang dibutuhkan setiap sistem atau administrator jaringan dalam gudang keamanannya - Nse cukup menambahkan lebih banyak efisiensi untuk itu.

Dalam artikel ini, kami memperkenalkan Anda ke Mesin skrip nmap dan melihat bagaimana menemukan dan menggunakan berbagai skrip yang tersedia di bawah kategori yang berbeda. Jika Anda memiliki pertanyaan, jangan ragu untuk menulis kembali kepada kami melalui formulir komentar di bawah ini.