লিনাক্সে এনএম্যাপ স্ক্রিপ্ট ইঞ্জিন (এনএসই) স্ক্রিপ্টগুলি কীভাবে ব্যবহার করবেন


এই হোস্টগুলিতে চালু ওপেন পোর্ট এবং পরিষেবাগুলি স্ক্যান করুন এবং আরও অনেক কিছু।

এনএম্যাপের একটি আকর্ষণীয় বৈশিষ্ট্য হ'ল এনম্যাপ স্ক্রিপ্ট ইঞ্জিন (এনএসই), এটি এতে আরও নমনীয়তা এবং দক্ষতা এনেছে। এটি আপনাকে লুয়া প্রোগ্রামিং ভাষায় নিজের স্ক্রিপ্টগুলি লিখতে সক্ষম করে এবং এই স্ক্রিপ্টগুলি অন্য এনএম্যাপ ব্যবহারকারীদের সাথে ভাগ করে নিতে পারে।

চার ধরণের এনএসই স্ক্রিপ্ট রয়েছে, যথা:

  • প্রাক্রুল স্ক্রিপ্টস - স্ক্রিপ্টগুলি যা এনম্যাপের যেকোন স্ক্যান অপারেশনের আগে চলতে থাকে, যখন এনএমএপ এখনও কোনও লক্ষ্য সম্পর্কে কোনও তথ্য সংগ্রহ না করে তখন এগুলি কার্যকর করা হয়
  • হোস্ট স্ক্রিপ্টগুলি - স্ক্রিপ্টগুলি নিমপ হোস্টের বিরুদ্ধে হোস্ট আবিষ্কার, পোর্ট স্ক্যানিং, সংস্করণ সনাক্তকরণ এবং ওএস সনাক্তকরণের মতো সাধারণ ক্রিয়াকলাপ সম্পাদন করার পরে কার্যকর করা হয়
  • পরিষেবা স্ক্রিপ্টগুলি - কোনও নির্দিষ্ট হোস্টে শোনার নির্দিষ্ট পরিষেবার বিরুদ্ধে স্ক্রিপ্টগুলি চালানো হয়
  • পোস্টরুল স্ক্রিপ্টগুলি - এনএমএপ তার লক্ষ্যবস্তুগুলির সমস্ত হোস্ট স্ক্যান করার পরে স্ক্রিপ্টগুলি চালিত হয়

তারপরে এই স্ক্রিপ্টগুলি বিভিন্ন শ্রেণীর অধীনে শ্রেণিবদ্ধ করা হয়েছে যার মধ্যে প্রমাণীকরণ (প্রমাণীকরণ), হোস্টগুলি আবিষ্কার (সম্প্রচার), ব্রুট ফোর্স আক্রমণ দ্বারা প্রমাণীকরণের শংসাপত্রগুলির (ব্রুট) অনুমান করা, নেটওয়ার্ক সম্পর্কে আরও আবিষ্কার (আবিষ্কার), পরিষেবা অস্বীকারের কারণ (ডস) ), কিছু দুর্বলতা কাজে লাগানো (শোষণ) ইত্যাদি A

দ্রষ্টব্য: আমরা আরও কিছু সরানোর আগে আপনার এই মূল পয়েন্টগুলির একটি নোট নেওয়া উচিত:

  • তৃতীয় পক্ষের কাছ থেকে সমালোচনা না করে বা স্ক্রিপ্টগুলি সম্পাদন করবেন না কেবলমাত্র আপনি যদি লেখকদের বিশ্বাস করেন। কারণ এই স্ক্রিপ্টগুলি একটি স্যান্ডবক্সে চালিত হয় না এবং এইভাবে অপ্রত্যাশিতভাবে বা দূষিতভাবে আপনার সিস্টেমকে ক্ষতি করতে পারে বা আপনার গোপনীয়তা আক্রমণ করতে পারে
  • দ্বিতীয়ত, এই স্ক্রিপ্টগুলির অনেকগুলি সম্ভবত একটি প্র্রুলল বা পোস্ট্রুল স্ক্রিপ্ট হিসাবে চালিত হতে পারে। এটি বিবেচনা করে, ধারাবাহিকতার উদ্দেশ্যে একটি পূর্বরূপ ব্যবহার করার পরামর্শ দেওয়া হয়
  • উপলভ্য ডিফল্ট স্ক্রিপ্টগুলি এবং বিভাগগুলি নির্ধারণ করতে এনএম্যাপ স্ক্রিপ্ট/স্ক্রিপ্ট.ডিবি ডাটাবেস ব্যবহার করে uses

সমস্ত উপলভ্য এনএসই স্ক্রিপ্টগুলির অবস্থান দেখতে, টার্মিনালটিতে সনাক্তকরণ ইউটিলিটিটি চালান:

$ locate *.nse

/usr/share/nmap/scripts/acarsd-info.nse
/usr/share/nmap/scripts/address-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
...

এনএসই স্ক্রিপ্টগুলি --Script পতাকা ব্যবহার করে লোড করা হয়, যা আপনাকে বিভাগ, স্ক্রিপ্ট ফাইলের নাম বা ডিরেক্টরিতে যেখানে আপনার স্ক্রিপ্টগুলি রয়েছে সেগুলির নাম সরবরাহ করে আপনার নিজস্ব স্ক্রিপ্টগুলি চালানোর অনুমতি দেয়।

স্ক্রিপ্টগুলি সক্ষম করার জন্য সিনট্যাক্সটি নিম্নরূপ:

$ nmap -sC target     #load default scripts
OR
$ nmap --script filename|category|directory|expression,...   target    

আপনি --script-help বিকল্পের সাথে কোনও স্ক্রিপ্টের বিবরণ দেখতে পারেন। অতিরিক্ত হিসাবে, আপনি কিছু স্ক্রিপ্টগুলিতে --Script-args এবং --script-args-file বিকল্পের সাহায্যে আর্গুমেন্টগুলি পাস করতে পারেন, পরেরটি ফাইল-নাম দেওয়ার পরিবর্তে ব্যবহৃত হবে একটি কমান্ড-লাইন আর্গ

বেশিরভাগ ডিফল্ট স্ক্রিপ্টগুলির সাথে একটি স্ক্যান সঞ্চালনের জন্য, -sC পতাকাটি ব্যবহার করুন বা বিকল্প হিসাবে --script = default ব্যবহার করুন shown

$ nmap -sC scanme.nmap.org
OR
$ nmap --script=default scanme.nmap.org
OR
$ nmap --script default scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:36 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.0027s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
|_http-title: Go ahead and ScanMe!

Nmap done: 1 IP address (1 host up) scanned in 11.74 seconds

উপযুক্ত উদ্দেশ্যে কোনও স্ক্রিপ্ট ব্যবহার করতে, আপনি প্রথমে, এটি আসলে কী করে তার সংক্ষিপ্ত বিবরণ পেতে পারেন, উদাহরণস্বরূপ, এইচটিপি-শিরোনাম।

$ nmap --script-help http-headers scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:37 IST

http-headers
Categories: discovery safe
https://nmap.org/nsedoc/scripts/http-headers.html
  Performs a HEAD request for the root folder ("/") of a web server and displays the HTTP headers returned.

এনএম্যাপ স্ক্যানগুলি এনএম্যাপ স্ক্যানগুলি সম্পাদন করতে লোড হচ্ছে

আপনি নীচে বর্ণিত বিভিন্ন পদ্ধতিতে স্ক্যান করতে বা স্ক্রিপ্টগুলি লোড করতে পারেন।

স্ক্রিপ্ট কী করে তা আপনি একবার জানতে পারলে আপনি এটি ব্যবহার করে একটি স্ক্যান সম্পাদন করতে পারেন। আপনি একটি স্ক্রিপ্ট ব্যবহার করতে পারেন বা স্ক্রিপ্ট নামের একটি কমা-বিচ্ছিন্ন তালিকা প্রবেশ করতে পারেন। নীচের কমান্ডটি আপনাকে লক্ষ্য হোস্টে ওয়েবসভারে কনফিগার করা HTTP শিরোনামগুলি দেখতে সক্ষম করবে।

$ nmap --script http-headers scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:39 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.27s latency).
Not shown: 996 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http
| http-headers: 
|   Date: Wed, 15 Nov 2017 05:10:04 GMT
|   Server: Apache/2.4.7 (Ubuntu)
|   Accept-Ranges: bytes
|   Vary: Accept-Encoding
|   Connection: close
|   Content-Type: text/html
|   
|_  (Request type: HEAD)
179/tcp   filtered bgp
31337/tcp open     Elite

Nmap done: 1 IP address (1 host up) scanned in 20.96 seconds

আপনি এক বিভাগ থেকে বা কমা দ্বারা পৃথক করা বিভাগগুলির তালিকা থেকে স্ক্রিপ্টগুলি লোড করতে পারেন। এই উদাহরণস্বরূপ, আমরা হোস্টের স্ক্যান চালানোর জন্য ডিফল্ট এবং সম্প্রচার বিভাগে সমস্ত স্ক্রিপ্ট ব্যবহার করছি 192.168.56.1।

$ nmap --script default,broadcast 192.168.56.1

আপনি যখন কোনও প্রদত্ত নামের প্যাটার্ন সহ স্ক্রিপ্টগুলি নির্বাচন করতে চান এটি দরকারী। উদাহরণস্বরূপ ssh দিয়ে শুরু হওয়া সমস্ত স্ক্রিপ্ট লোড করতে, টার্মিনালে নীচের কমান্ডটি চালান:

$ nmap --script "ssh-*" 192.168.56.1

আপনি বুলিয়ান এক্সপ্রেশন ব্যবহার করে স্ক্রিপ্টগুলিও নির্বাচন করতে পারেন যা আপনি এবং বা, এবং অপারেটরগুলি ব্যবহার করে তৈরি করতে পারেন। এবং বুলিয়ান এক্সপ্রেশন-এর নামগুলি কোনও বিভাগ, স্ক্রিপ্ট.ডিবি থেকে কোনও ফাইলের নাম বা সমস্ত হতে পারে।

নিম্নলিখিত কমান্ডটি ডিফল্ট বা সম্প্রচার বিভাগ থেকে স্ক্রিপ্টগুলি লোড করবে।

$ nmap --script "default or broadcast" 192.168.56.10

যা সমান:

$ nmap --script default,broadcast 192.168.56.10

অশ্লীল বিভাগে বাদ দেওয়া সমস্ত স্ক্রিপ্ট লোড করতে, টার্মিনালে এই কমান্ডটি চালান।

$ nmap --script "not vuln" 192.168.56.10

পরবর্তী কমান্ডটি কিছুটা জটিল দেখায় তবে এটি বোঝা সহজ,

$ nmap --script "(default or broadcast) and not ssh-*" 192.168.56.10

গুরুত্বপূর্ণভাবে, বিভাগগুলি, স্ক্রিপ্টের নামগুলি, আপনার কাস্টম স্ক্রিপ্টগুলি সম্বলিত ডিরেক্টরি বা স্ক্রিপ্টগুলি লোড করার জন্য বুলিয়ান এক্সপ্রেশনকে একত্রিত করা সম্ভব:

$ nmap --script broadcast,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

নীচে criptscript-args বিকল্পের সাহায্যে স্ক্রিপ্টগুলিতে কীভাবে যুক্তিগুলি পাস করবেন তা দেখানো একটি উদাহরণ রয়েছে:

$ nmap --script mysql-audit --script-args "mysql-audit.username='root', \
mysql-audit.password='password_here', mysql-audit.filename='nselib/data/mysql-cis.audit'"

একটি পোর্ট নম্বর পাস করার জন্য, -p nmap বিকল্পটি ব্যবহার করুন:

$ nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username='root', \ 
mysql-audit.password='password_here' , mysql-audit.filename='nselib/data/mysql-cis.audit'"

উপরের কমান্ডটি সিআইএস মাইএসকিউএল v1.0.2 বেঞ্চমার্কের অংশগুলির বিরুদ্ধে মাইএসকিউএল ডাটাবেস সার্ভার সুরক্ষা কনফিগারেশনের একটি নিরীক্ষা চালায়। অন্যান্য মাইএসকিউএল অডিটের জন্য আপনি নিজের নিজস্ব কাস্টম অডিট ফাইলও তৈরি করতে পারেন।

আপাতত এই পর্যন্ত. আপনি এনএম্যাপ ম্যান পৃষ্ঠাতে আরও তথ্য পেতে পারেন বা এনএসই ব্যবহার পরীক্ষা করে দেখতে পারেন।

আপনার নিজস্ব এনএসই স্ক্রিপ্ট লিখতে শুরু করতে এই গাইডটি দেখুন: https://nmap.org/book/nse-tutorial.html

এনএমএপ একটি সত্যই শক্তিশালী এবং দরকারী সরঞ্জাম যা প্রতিটি সিস্টেম বা নেটওয়ার্ক প্রশাসকের নিজের সুরক্ষার অস্ত্রাগারে প্রয়োজন হয় - এনএসই কেবল এতে আরও দক্ষতা যুক্ত করে।

এই নিবন্ধে, আমরা আপনাকে এনএম্যাপ স্ক্রিপ্ট ইঞ্জিনের সাথে পরিচয় করিয়ে দিয়েছি এবং বিভিন্ন বিভাগের অধীনে উপলব্ধ বিভিন্ন স্ক্রিপ্টগুলি কীভাবে সন্ধান করতে এবং ব্যবহার করতে হয় সেদিকে নজর রেখেছি। আপনার যদি কোনও প্রশ্ন থাকে তবে নীচে মন্তব্য ফর্মের মাধ্যমে আমাদের কাছে আবার লিখতে দ্বিধা করবেন না।