HOWTO detect a sniffer

السلام عليكم ورحمة الله وبركاته

بعدما كتبت بالسابق حول كيفية عمل Sniff من خلال إستعمال Ethernet TAP وذكرت أيضاً طرق أخرى في نفس الموضوع … أصبح السؤال الذي يدور في أذهاننا جميعاً: كيف أستطيع إكتشاف من يقوم بعمل Sniff ؟
بصراحة الجواب ليس بسيط أبداً … هناك عدة أمور وعدة عوامل ممكن تعملها لكي تستطيع أن “تشك” أو “تفترض” وجود شخص يقوم بعمل Sniff على الشبكة … أما يكون جواب جازم؟ الى الآن لم أجد سوى كم برنامج وحسب ما فهمت بإنها أصبحت Out of Date !!! منها AntiSniff …

طيب والحل؟ الحل أن نقوم بعمل عدة تجارب ممكن تعطينا تصور معيين عن الوضعية في الشبكة وممكن تجعلنا نخمن، نفترض، أو نشك بوجود شخص جالس يعمل Sniff على الشبكة … هذه التجارب سأقوم بذكرها وشرح آلية إستعمالها لعلها تكون ذات فائدة لكم إن شاء الله …

ملاحظة مهمة جداً: لكي تنجح معك هذه العمليات/التجارب التي سأقوم بذكرها عليك أن تقوم أنت بدورك بعمل Sniff أو لكي لا يزعل البعض عمل Packet Capturing على الحزم المارة بالشبكة مثلك مثل الـ Sniffer لكي ترى جميع ما يرسل بالشبكة … الرجاء لا تنسى ذلك وأكمل القراءة …

التجربة الأولى: من خلال DNS
بعض الـ Sniffers عند رؤيتها لحزم متجهة الى IP معيين، تقوم بعمل DNS Lookup وذلك لكي تستبدل الـ IP’s هذه بـ FQDN … فلو قمت أنت مثلاً بعمل طلب الى IP وليكن تابع لموقع Security Geeks، إذا كان هناك Sniffer وقام بعمل DNS Lookup ستستطيع أن ترى أنت هذه الحزم الخاصة بالـ Lookup ومنها تعرف بإن هناك ربما Sniffer على الجهاز الفلاني …

التجربة الثانية: من خلال Network Latency
في هذه الطريقة نقوم بمراقبة ضغط العمل على الأجهزة التي على الشبكة … فمن المعروف عملية فلترة الحزم وقراءتها تعني إستعمال كمية كبيرة من الـ CPU، أي عليه ضغط أو Load … وهذا ممكن يدل على إن هناك من يقوم بعمل Sniff … طبعاً لكي تستطيع الوصول الى هذه الحالة عليك بإغراق أو محاولة إغراق أو عمل Flood على الشبكة لكي تستطيع معرفة هذه الحالة … طبعاً هي ليست سهلة وبحاجة الى دقة عالية لكي لا تعمل DoS للشبكة بكاملها وبالتالي لم تستفد بشيء …

التجربة الثالثة: من خلال عمل Ping بإستعمال Fake MAC Address
نقوم بإرسال حزم تحتوي على IP شرعي (كأن يكون من الشبكة نفسها) ولكن الـ MAC Address يكون غير حقيقي. إذا قام أحد الأجهزة بالرد بـ MAC Address غير صحيح، فهذا يعني الجهاز مشغل Promiscuous Mode … وتشغيل هذا الـ Mode ممكن يكون أثر عمل Sniffer …

التجربة الرابعة: من خلال ARP
بعض الأنظمة خاصة الويندوز (98 و NT) منها، تقوم بفحص أول Octet من الـ MAC فقط، لمعرفة هل هو BroadCast أم لا … وبالتالي نستطيع أن نقوم بإرسال حزمة يكون الـ MAC Address فيها هو FF:00:00:00:00:00 و IP الـ Destination يكون صحيح … إن كان هناك جهاز عليه نظام بهذه المواصفات سيقوم بالرد على هذه الحزمة وهذا يعني الجهاز مشغل Promiscuous Mode وتشغيل هذا الـ Mode كما ذكرنا ممكن يكون أثر عمل Sniffer …

التجربة الخامسة: من خلال التلاعب بالمسار Source-Route
ربما هذه من انجح الطرق حسب رأيي وذلك لأن ما سنقوم به هو إضافة المسار المطلوب source-route بداخل الـ IP Header للحزمة نفسها، وبالتالي لو وصلت الحزمة الى الراوتر Router سيقوم بعمل تمرير الى الجهة المحددة بداخل الحزمة نفسها. لكي أوضح أكثر هذه الطريقة ركزوا وياي على المثال التالي:
لدينا شبكة عليها جهاز A و B و C … ونقوم مثلاً بعمل Disable لإمكانية التمرير Routing على الجهاز C … الآن يريد الجهاز A بإرسال حزمة الى الجهاز B ولكن يقوم بتثبيت المسار الذي تمر فيه الحزمة … هنا يقوم بتحديد طلب المرور من خلال الجهاز C … أي يجب على الحزمة ان تمر الى الجهاز C ومن هناك تصل الى الجهاز B … فعند إرسال A للرسالة ستصل الى الراوتر Router بالبداية ويقوم بقراءة الحزمة ويرى بإن المسار محدد فيقوم بإرسالها الى الجهاز C … لكن بسبب كون الجهاز C لا يعمل تمرير (قمنا بإيقافها فيه) فإن الحزمة يتم عمل DROP لها … الآن وبسبب كون الجهاز B على فرض مشغل الـ Promiscuous Mode فإنه قام بقراءة الحزمة مسبقاً وبسبب كون الحزمة موجهة له، قام بالرد عليها … هذه حالة للكشف …

الحالة الأخرى وهي الـ TTL للحزم معروف عندما تمر من مسار الى آخر تقوم بعمل تنقيص لرقم الـ TTL أي لو كان 30 سيصبح 29 وهكذا على كل المسارات التي تمر بها الحزمة … الآن بالنسبة الى مثالنا السابق، لو إن الجهاز C يقوم بالتمرير الصحيح فإن الحزمة هذه ستصل الى الجهاز B وقيمة TTL لها هي 29 وذلك لأنها مرت من خلال محطة تمرير واحدة … ولكن بسبب إن C لم يقم بعملية التمرير فإن الحزمة وصلت الى الجهاز B وقيمتها 30 (بسبب كونه قام بإلتقاط الحزمة بواسطة عملية Sniffing) وبالتالي حين يرد على A فإنه سيرد وقيمة الـ TTL للحزمة هي 30 !!! أي لم تتغيير وهذا يجعلك تعرف بإن الجهاز B عليه Sniffer …

التجربة السادسة: طريقة إستعمال Decoy أي الفخ
في هذه الطريقة كل ما نقوم به هو مثلاً بتشغيل VirtualMachine أو أي جهاز براحتك، وتضع عليه خدمات وهمية … مثل: FTP و Telnet … معروف بإن هذه الخدمات كلها يتم إرسال اسم المستخدم وكلمة المرور لها على شكل نصوص مقروءة وواضحة Plain Text وبالتالي لو هناك Sniffer على الشبكة بدون شك سيقوم بإلتقاطها … وبعد أن قام هذا الشخص الذي يعمل Sniff بإلتقاطها فإنه سيقوم بدون شك بمحاولة الدخول بواسطة هذه الأسماء للمستخدمين وكلماتهم السرية وبالتالي تكون كشفت أنت من الجهاز الذي يعمل Sniff عندك على الشبكة … من ميزات هذه الطريقة هي إنها تعمل على مدار واسع في الشبكة … أي ممكن أن تعمل وتصطاد الشخص وهو على Network Segment مختلفة … عكس طريقة Source-Route التي يجب أن تكون أنت وهو (Sniffer) على نفس الجزئية من الشبكة … طبعاً نقدر نقول عن هذه الطريقة هي بإستعمال Honeypot … يعني مو شرط نسميها Decoy …

التجربة السابعة: إستعمال طريقة TDR أي Time Domain Reflectometers
هذه الطريقة تعتمد على نظرية إمكانية حساب المسافة من خلال حساب الوقت المستغرق للطاقة المنعكسة Reflected Energy الى المصدر … وهي نفس الطرق المستعملة في السونار والرادارات (حسب ما فهمت) … كيف تعمل هنا … يقوم TDR بإرسال بإرسال نبظات كهربائية Electrical Pulses على الشبكة ويقوم بعمل مخطط مبني على الإنعكاسات المنبثقة … طبعاً وسيقوم بحساب المسافات بدون شك بناءاً على الطرق التي ذكرتها … من خلال هذه المخططات والمسافات يستطيع أن يقوم الخبراء في هذا المجال بدراستها ومعرفة الأجهزة الموجودة على الشبكة والتي يفترض أن لا تكون مربوطة على الشبكة … وبما إنه المسافات موجودة فإنه يستطيع أن يعرف إن كان هناك مثلاً Ethernet TAP ومكان وجوده … هذه الطريقة حسب ما فهمت هي من أعقد الطرق والتي من خلالها يستطيع الخبراء إكتشاف حتى الأجهزة Hardware التي تقوم بعمل Packet Capturing أو Sniffing على الشبكة والتي لا ترسل ولا تعطيك دلالة على وجودها وتعمل بشكل صامت للغاية …

هذه هي الطرق التي أستطعت أن أعرفها الى الآن حول كيفية معرفة وجود Sniffer على الشبكة … لو وجدت حاجات أخرى سأقوم بذكرها لكم بدون شك … إن شاء الله تفيدكم …

ودمتم بود …

12 thoughts on “HOWTO detect a sniffer

  1. ما شاء الله عليك
    وانتظر منك المرة القادمة how to prevent sniffer
    شكرا لك

  2. تسلم أخوى على موضوعك الرائع تب وشو الحل من السنفر والله متبهدل بقالى فترة وكل باسورداتى ومحادثاتى معروفه بالشبكة وانا ابى احمى نفسى من السنفر هذا

  3. حياكم الله يا شباب … وأشكركم على كلامكم الطيب …
    بإذن الله أحاول كتابة كيفية التصدي لهم قريباً …
    شكراً لمروركم أخواني الأعزاء …

  4. معلومات مو سهل ان نحصل عليها ,,
    اخوية باينري ,, انا من المتابعين لك ,,
    وهذا الموضوع مهتم فيه جدا اكتشاف ال Sniffer او اللي ديسوي Scanner Port بالشبكة للبحث عن خدمة معينة ,,
    بأنتظار كل دروسك ,,

    تحياتي الك ,,
    اخوك محمد الجنابي ,,

  5. محمد الجنابي @ حياك الله أخوي محمد وحيا الله الجنابات كلهم ::20
    الحمد لله المدونة ومواضيعها نالت إعجابك وأصبحت من زوارها وهذا فخر بالنسبة لي …
    إن شاء الله تشوف ما تشوف بالزون إلا كل الي يفيدك بإذن الله …
    أشكرك مرة أخرى أخوي محمد وخليك متواصل …
    دمت بود …

  6. ياريت تساعدنا بايجاد حل للسنفر ويكون حل نهائى لأنى والله متبهدل وكل حساباتى معروفه حتى باسورد الراوتر تبعى بيشوفوه وبيعروفه الرجاء المساعدة وانا عارف انك مشغول اخوى بس والله عشمنا فيك كبير

  7. عبدالمجيد @ هلا أخوي العزيز …
    أشكرك يا خوي على هذه الثقة الطيبة … بإذن الله أكتب لكم بعض النقاط المفيدة رغم إنه يا خوي كتبت حول بعض منها خاصة ما يخص تشفير الخط …

    على كل حال إبشر بإذن الله أضع النقاط اللازمة لمنع حصول ذلك … حياك الله وشكراً مرة أخرى لمرورك الطيب …

  8. السلام عليكم ورحمة الله

    أخوى الرجاء ساعدنى لأنو صار لى أكثر من أسبوعين وأنا ما أتصل على شبكتنا وشغال ديل أب أو بالمقهى
    لأنو الجهاز لو شغلت على الشبكه بينصاد كل كل شىء حتى اميلاتى وخاصه انى مراقب ببعض المنتديات يعنى حساباتى مهمة جداً أرجوك أخوك ساعدنى بأى شىء أو حط أفكارك المقترحة وانا ابحث عن الحل لانى محتاج الحل من السنفر اللعين هذا لانى مضطر اوصل من هالشبكة لن مافى شبكات فى المنطقه تبعنا غيرها

    سلام

  9. السلام عليكم ورحمة الله

    أسعفنا أخوى أنا موقف الشبكة تبعى داخل الحين فى أسبوعين وأبى حل أرجوك لأنى هاذى مصدر رزقى اللى أعتمد عليه وياريت تساعدنى أخوى ولو انت مشغول اعطنى اى حلول وانا ابحث عنها بجوجل

    منتظرين ردك أخوى بينرى

  10. عبدالمجيد @ وعليكم السلام ورحمة الله وبركاته
    هلا أخوي عبد المجيد … يارجل طووول بالك وليش خايف لهل درجة … أخوي أبسط حل هو ان تشفر إتصالك … السؤال راح تقول لي كيف؟ أقول لك أقرأ الكتييب الي عملته عن SSH وتجده بالمجتمع هنا:
    http://www.linuxac.org/forum/showthread.php?t=15968

    أو حمله من صفحة مستندات وكتب، تحت عنوان: الكتاب الثالث: دليل إحتراف خدمة SSH وطرق حمايتها

    فيه طريقة إستعمال SSH لتشفير إتصالك وعندها ودع السنفر ::20
    إن شاء الله اكون أفدتك واعتذر بشدة لعدم كتابتي الموضوع الذي طلبته وذلك لضيق وقتي وإنشغالي بدراستي … دمت بود …

  11. تسلم أخوى بينرى وجعله الله بميزان حسناتك وأدخلك جنات تجرى من تحتها الأنهار
    وألف شكر أخوى على صنيهك هذا

Comments are closed.