প্রজেক্ট ডিসকভারি রিকন মাস্টারি
টুল ইন্সটলেশন ও কনফিগারেশন
গো এনভায়রনমেন্ট সেটআপ
কার্যকরভাবে অটোমেটেড সিকিউরিটি টেস্টিংয়ের জন্য সঠিক পরিবেশ তৈরি করা প্রথম ধাপ। Project Discovery-এর বেশিরভাগ টুলই Go (বা Golang) দিয়ে তৈরি। এটি একটি স্ট্যাটিক্যালি টাইপড, কম্পাইলড প্রোগ্রামিং ল্যাঙ্গুয়েজ যা গুগল তৈরি করেছে। এর কনকারেন্সি এবং পারফরম্যান্সের কারণে নেটওয়ার্কিং এবং কমান্ড-লাইন টুল তৈরির জন্য এটি বেশ জনপ্রিয়।
আপনার সিস্টেমে Go ইন্সটল করা না থাকলে, নিচের কমান্ডটি ব্যবহার করে ইন্সটল করে নিন (ডেবিয়ান-ভিত্তিক সিস্টেমের জন্য):
sudo apt update && sudo apt install -y golang
ইন্সটলেশনের পর, আপনাকে পাথ (path) ভেরিয়েবলগুলো সঠিকভাবে সেট করতে হবে। আপনার ~/.bashrc বা ~/.zshrc ফাইলের শেষে এই লাইনগুলো যুক্ত করুন:
# Go environment variables
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
ফাইলটি সেভ করার পর, পরিবর্তনগুলো সক্রিয় করতে source ~/.bashrc বা source ~/.zshrc কমান্ডটি চালান। go version কমান্ড দিয়ে ইন্সটলেশন সফল হয়েছে কিনা তা যাচাই করে নিন।
কোর টুল ইন্সটলেশন
পরিবেশ প্রস্তুত হয়ে গেলে, এবার আমাদের মূল টুলগুলো ইন্সটল করার পালা। আমরা তিনটি প্রধান টুল ইন্সটল করব:
| টুল | কাজ |
|---|---|
| subfinder | প্যাসিভভাবে সাবডোমেইন খুঁজে বের করে। |
| httpx | পাওয়া সাবডোমেইনগুলোর মধ্যে কোনগুলো লাইভ তা পরীক্ষা করে। |
| nuclei | পরিচিত দুর্বলতা খুঁজে বের করার জন্য টেমপ্লেট-ভিত্তিক স্ক্যান চালায়। |
এই টুলগুলো ইন্সটল করতে নিচের কমান্ডগুলো এক এক করে চালান। go install কমান্ডটি সোর্স কোড ডাউনলোড, কম্পাইল এবং আপনার $GOPATH/bin ডিরেক্টরিতে বাইনারি ফাইলটি স্থাপন করবে।
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
যদি কোনো এরর আসে, নিশ্চিত করুন আপনার Go এনভায়রনমেন্ট সঠিকভাবে সেট করা আছে এবং আপনার ইন্টারনেট সংযোগ স্থিতিশীল।
API কি ইন্টিগ্রেশন
Subfinder তার শক্তি দেখায় যখন এটি বিভিন্ন অনলাইন সোর্স থেকে ডেটা সংগ্রহ করে। ডিফল্টভাবে এটি কিছু সোর্স ব্যবহার করে, কিন্তু Shodan, SecurityTrails, বা Chaos-এর মতো সার্ভিসগুলোর API কি যোগ করলে এর কার্যকারিতা বহুগুণ বেড়ে যায়।
Subfinder-এর কনফিগারেশন ফাইলটি ~/.config/subfinder/provider-config.yaml এই লোকেশনে থাকে। ফাইলটি ওপেন করে আপনার API কি-গুলো নির্দিষ্ট জায়গায় যোগ করুন।
# provider-config.yaml example
shodan: ["YOUR_SHODAN_API_KEY"]
securitytrails: ["YOUR_SECURITYTRAILS_API_KEY"]
chaos: ["YOUR_CHAOS_API_KEY"]
virustotal: ["YOUR_VIRUSTOTAL_API_KEY"]
# Add other providers here...
এখানে YAML সিনট্যাক্স ব্যবহার করা হয়, যা ডেটা কনফিগারেশনের জন্য একটি জনপ্রিয় ফরম্যাট। এটি সহজপঠ্য এবং স্ট্রাকচারড ডেটা উপস্থাপনের জন্য ডিজাইন করা হয়েছে।
টুল ম্যানেজমেন্ট এবং আপডেট
সাইবার সিকিউরিটির টুলগুলো নিয়মিত আপডেট হয়। নতুন ফিচার যোগ হয় এবং বাগ ফিক্স করা হয়। তাই টুলগুলো আপ-টু-ডেট রাখা জরুরি।
যেকোনো টুল আপডেট করতে, আপনি go install কমান্ডটি পুনরায় চালাতে পারেন। যেমন, Nuclei আপডেট করতে:
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
Nuclei-এর ক্ষেত্রে, শুধু টুল আপডেট করাই যথেষ্ট নয়। এর মূল শক্তি হলো এর টেমপ্লেট লাইব্রেরি। নতুন দুর্বলতা বের হওয়ার সাথে সাথে কমিউনিটি নতুন টেমপ্লেট তৈরি করে। আপনার টেমপ্লেটগুলো আপডেট করতে এই কমান্ডটি ব্যবহার করুন:
nuclei -update-templates
এখন আপনার টুলচেইন প্রস্তুত। আপনি সাবডোমেইন ডিসকভারি থেকে শুরু করে ভালনারেবিলিটি স্ক্যানিং পর্যন্ত একটি স্বয়ংক্রিয় ওয়ার্কফ্লো তৈরি করতে পারবেন।