পাঠ ১০ · ৬০-এর মধ্যে · মডিউল ৩
Home / Courses / Cybersecurity & Ethical Hacking / প্যাসিভ রিকনেসান্স ও OSINT

প্যাসিভ রিকনেসান্স ও OSINT

Passive reconnaissance & OSINT
৮ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • প্যাসিভ বনাম অ্যাক্টিভ রিকনেসান্সের পার্থক্য এবং কেন এটি গুরুত্বপূর্ণ
  • OSINT-এর প্রধান উৎসগুলো এবং প্রতিটি কী প্রকাশ করতে পারে
  • একটি পাবলিক WHOIS রেকর্ড থেকে ঠিক কী তথ্য বের করা যায়
  • কেন প্যাসিভ রিকনেসান্স হলেও পরিকল্পিত অ্যাকশনের জন্য অনুমতির প্রশ্ন থেকেই যায়

১ · প্যাসিভ রিকনেসান্স কী — এবং কেন এটি "নীরব"

প্যাসিভ রিকনেসান্সPassive Reconnaissanceটার্গেটের সিস্টেমের সাথে সরাসরি ইন্টারঅ্যাক্ট না করে, শুধুমাত্র পাবলিকলি উপলব্ধ তথ্য থেকে তথ্য সংগ্রহ করা — টার্গেটের কাছে কোনো ট্র্যাফিক পৌঁছায় না, তাই এটি ডিটেক্ট করা যায় না। মানে টার্গেট প্রতিষ্ঠান বা সিস্টেমের সাথে সরাসরি কোনো নেটওয়ার্ক ইন্টারঅ্যাকশন (কোনো request, কোনো ping) ছাড়াই তথ্য সংগ্রহ করা। যেহেতু টার্গেটের সিস্টেমে কোনো ট্র্যাফিক পৌঁছায়ই না, এই পর্যায়টি ডিটেক্ট করার কোনো উপায় নেই — এটি L02-এর পেশাদার পেনটেস্ট মেথডোলজির প্রথম ধাপ। এর বিপরীত, অ্যাক্টিভ রিকনেসান্স (L11-এ বিস্তারিত), যেখানে সরাসরি ইন্টারঅ্যাকশন ঘটে এবং তাই ডিটেক্ট হওয়া সম্ভব।

২ · OSINT — Open-Source Intelligence-এর প্রধান উৎস

OSINTOSINT (Open-Source Intelligence)পাবলিকলি উপলব্ধ উৎস থেকে সংগৃহীত তথ্য — কোনো গোপন বা অবৈধ অ্যাক্সেসের প্রয়োজন হয় না, শুধু বিদ্যমান তথ্যকে সংগঠিতভাবে বিশ্লেষণ করা। হলো এমন যেকোনো তথ্য যা ইতিমধ্যে পাবলিকলি উপলব্ধ — একজন পেশাদার শুধু সেটি সংগঠিতভাবে খুঁজে বের করেন ও বিশ্লেষণ করেন।

সার্চ ইঞ্জিন
কোম্পানির প্রকাশ্য তথ্য, ইনডেক্স হওয়া ডকুমেন্ট, ভুলবশত পাবলিক হয়ে যাওয়া পেজ।
WHOIS রেকর্ড
ডোমেইনের রেজিস্ট্রার, নিবন্ধনের তারিখ, কখনো কখনো যোগাযোগের তথ্য।
সোশ্যাল মিডিয়া
কর্মীদের পদবি, প্রযুক্তি সম্পর্কে মন্তব্য, অফিসের ছবি থেকে অবকাঠামোর ইঙ্গিত।
জব পোস্টিং
"অভিজ্ঞতা প্রয়োজন: AWS, Kubernetes, Jenkins" — এটি প্রকাশ করে কোম্পানি ঠিক কোন টেক স্ট্যাক ব্যবহার করে।
পাবলিক কোড রিপোজিটরি
ভুলবশত পাবলিক রিপোতে রাখা কনফিগারেশন ফাইল বা কমেন্ট থেকে অবকাঠামোর বিবরণ ফাঁস হতে পারে।
Shodan
ইন্টারনেট-সংযুক্ত ডিভাইসের জন্য একটি বিশেষায়িত সার্চ ইঞ্জিন (শুধু উল্লেখ — এখানে ব্যবহার করা হচ্ছে না)।
গুরুত্বপূর্ণ সতর্কতা

শুধুমাত্র পাবলিক তথ্য সার্চ করাটা সাধারণত কোনো অনুমতির প্রশ্ন তোলে না — এটি যে কেউ করতে পারে (একটি সাংবাদিকও, একজন প্রতিযোগীও করতে পারে)। কিন্তু যখন এই তথ্য ব্যবহার করে একটি প্রকৃত নিরাপত্তা টেস্ট পরিকল্পনা ও পরিচালনা করা হয়, তখন L01-এর অনুমতি ও RoE-এর নীতি পুরোপুরি প্রযোজ্য থাকে — শুধু তথ্য সংগ্রহ "নিরীহ" মনে হলেও, সেই তথ্যের উপর ভিত্তি করে করা যেকোনো টেস্টিং কার্যক্রম অনুমতি ছাড়া অবৈধ।

৩ · সিমুলেশন — একটি WHOIS রেকর্ড থেকে কী বের করা যায়

নিচের কোড সেলে আমরা একটি সরলীকৃত WHOIS-স্টাইল ডেটাসেট সিমুলেট করছি — একটি বাস্তব WHOIS সার্ভারে কোয়েরি না করে, শুধু ধারণাটি দেখানোর জন্য একটি ইন-মেমরি dict ব্যবহার করছি।

Python
# সিমুলেটেড WHOIS ডেটাসেট — বাস্তব WHOIS সার্ভার কোয়েরি নয়, ইন-মেমরি উদাহরণ মাত্র
whois_records = {
    "example-corp.com": {
        "registrar": "Example Registrar Inc.",
        "creation_date": "2011-03-14",
        "expiry_date": "2027-03-14",
        "name_servers": ["ns1.example-corp.com", "ns2.example-corp.com"],
    },
    "shadow-startup.io": {
        "registrar": "Fast Domains LLC",
        "creation_date": "2025-11-02",
        "expiry_date": "2026-11-02",
        "name_servers": ["ns1.fastdomains.io", "ns2.fastdomains.io"],
    },
}

def extract_osint(domain, records):
    """একটি WHOIS-স্টাইল রেকর্ড থেকে মূল OSINT ফিল্ডগুলো বের করা।"""
    if domain not in records:
        return None
    record = records[domain]
    return {
        "registrar": record["registrar"],
        "creation_date": record["creation_date"],
        "age_signal": "নতুন/সম্ভবত অস্থায়ী" if record["creation_date"] >= "2025-01-01" else "প্রতিষ্ঠিত ডোমেইন",
    }

for domain in whois_records:
    info = extract_osint(domain, whois_records)
    print(f"ডোমেইন: {domain}")
    print(f"  রেজিস্ট্রার:        {info['registrar']}")
    print(f"  নিবন্ধনের তারিখ:   {info['creation_date']}")
    print(f"  সংকেত:             {info['age_signal']}")
    print()

    
লক্ষ্য করুন — শুধুমাত্র একটি নিবন্ধনের তারিখ থেকেও একটি দরকারী সংকেত বের করা যায়: সম্প্রতি নিবন্ধিত একটি ডোমেইন প্রায়ই একটি নতুন, কম-পরীক্ষিত (এবং তাই সম্ভবত কম-সুরক্ষিত) ইনফ্রাস্ট্রাকচারের ইঙ্গিত দেয় — বিপরীতে, বহু বছর ধরে চলা একটি ডোমেইন সম্ভবত একটি পরিণত, স্থিতিশীল সেটআপ নির্দেশ করে। এটিই OSINT-এর মূল শক্তি — একক ছোট তথ্যকণা একসাথে জড়ো করলে একটি অর্থবহ ছবি তৈরি হয়।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ প্যাসিভ রিকনেসান্স কেন কখনোই ডিটেক্ট করা যায় না — এই দাবিটির পেছনে প্রযুক্তিগত যুক্তি কী?

ডিটেকশনের জন্য টার্গেটের সিস্টেমে (একটি লগ ফাইল, একটি IDS, একটি ফায়ারওয়াল) কোনো ট্র্যাফিক বা ইভেন্ট রেকর্ড হতে হবে। প্যাসিভ রিকনেসান্সে যেহেতু টার্গেটের কোনো সিস্টেমেই সরাসরি কোনো request পৌঁছায় না (সব তথ্য তৃতীয়-পক্ষের পাবলিক উৎস থেকে সংগৃহীত), টার্গেটের নিজস্ব লগে কিছুই রেকর্ড হয় না — তাই টেকনিক্যালি ডিটেক্ট করার কোনো ডেটা পয়েন্টই তৈরি হয় না।

প্র ০২ একটি কোম্পানির জব পোস্টিং কীভাবে অজান্তেই একজন আক্রমণকারীকে সাহায্য করতে পারে?

"৩+ বছরের Jenkins ও legacy PHP 5 অভিজ্ঞতা প্রয়োজন" জাতীয় একটি জব পোস্টিং অজান্তেই প্রকাশ করে দেয় কোম্পানি এখনও পুরনো, সম্ভবত ভালনারেবল প্রযুক্তি ব্যবহার করছে (L24-এর ভালনারেবল কম্পোনেন্ট আলোচনার সাথে সরাসরি সম্পর্কিত)। এই তথ্য একজন আক্রমণকারীকে কোথায় ফোকাস করতে হবে তার একটি স্পষ্ট ইঙ্গিত দেয়, অথচ কোম্পানি এটিকে শুধু একটি সাধারণ চাকরির বিজ্ঞাপন হিসেবেই দেখেছিল।

প্র ০৩ "শুধু পাবলিক তথ্য দেখা তো কোনো অপরাধ নয়" — এই যুক্তি কখন সত্য, আর কখন এটি বিপজ্জনকভাবে অসম্পূর্ণ হয়ে যায়?

এটি সত্য যতক্ষণ কার্যক্রমটি শুধুই তথ্য দেখা/পড়া পর্যন্ত সীমাবদ্ধ থাকে — কেউ Google সার্চ করলে বা একটি পাবলিক WHOIS রেকর্ড দেখলে সেটি অপরাধ নয়। এটি অসম্পূর্ণ হয়ে যায় যখন সেই তথ্যের ভিত্তিতে টার্গেট সিস্টেমের বিরুদ্ধে প্রকৃত কোনো টেস্টিং কার্যক্রম (এমনকি একটি "নিরীহ" পোর্ট স্ক্যানও) শুরু করা হয় অনুমতি ছাড়া — সেই মুহূর্তে এটি প্যাসিভ থেকে অ্যাক্টিভে রূপান্তরিত হয় এবং L01-এর আইনি নীতি প্রযোজ্য হয়ে যায়।

অনুশীলন

  1. চিন্তা করুন: আপনি নিজে সোশ্যাল মিডিয়াতে কী কী তথ্য পাবলিকলি শেয়ার করেন যা একজন সম্ভাব্য আক্রমণকারীর জন্য OSINT হতে পারে?

    সাধারণ উদাহরণ: জন্মদিন (নিরাপত্তা প্রশ্নের উত্তর হতে পারে), বর্তমান কর্মস্থল ও পদবি (স্পিয়ার-ফিশিং টার্গেটিং সহজ করে, L45), ছুটিতে যাওয়ার পোস্ট (বাসা খালি থাকার ইঙ্গিত), প্রিয় পোষা প্রাণী বা স্কুলের নাম (প্রায়ই পাসওয়ার্ড রিকভারি প্রশ্নে ব্যবহৃত)। সচেতনতাই প্রথম প্রতিরক্ষা।

  2. পরীক্ষা করুন: উপরের কোড সেলে whois_records-এ নিজের একটি কাল্পনিক ডোমেইন যোগ করুন (একটি পুরনো নিবন্ধনের তারিখসহ) এবং extract_osint() চালিয়ে age_signal কী দেখায় তা যাচাই করুন।

    যদি নতুন এন্ট্রির creation_date "2025-01-01"-এর আগে হয়, ফাংশনটি "প্রতিষ্ঠিত ডোমেইন" ফেরত দেবে। এই সাধারণ তারিখ-তুলনা লজিক দেখায় কীভাবে একটি একক ফিল্ড (নিবন্ধনের তারিখ) থেকেও একটি স্বয়ংক্রিয় শ্রেণীবিভাগ তৈরি করা সম্ভব — বাস্তব OSINT টুলগুলো এই ধরনের অসংখ্য সিগন্যাল একত্রিত করে একটি সম্পূর্ণ প্রোফাইল তৈরি করে।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
নেটওয়ার্ক অ্যাটাক — MITM, ARP ও DNS স্পুফিং