در این مقاله می خواهیم به تعریف Session hijacking چیست بپیردازیم.
مهاجم با استفاده از این روش نشست یا session قربانی را سرقت می کند تا وارد سرور شده و به اطلاعات آن دسترسی پیدا کند . در واقع این حمله زمانی اتفاق می افتد که قربانی با موفقیت به سرور اهراز هویت می کند و مهاجم کنترل این نشست را بر عهده می گیرد . این حمله با استفاده از ابزارهایی که sequence number را حدس می زنند کار می کند . زمانی که مهاجم session را به سرقت برد دسترسی کاربر را به سرور اصلی قطع می کند و خود را به جای کاربر معرفی می کند .
مهاجم ابتدا session باز را شناسایی می کند و sequence number بعدی را پیش بینی می کند ، در مرحله بعد یک بسته FIN یا RST را برای سیستم قربانی می فرستد تا session آن بسته شود در مرحله سوم یک بسته TCP با sequence number پیش بینی شده به سرور ارسال می کند و سرور آن را به عنوان بسته قربانی در نظر می گیرد .
این حمله به دو صورت passive و active صورت می گیرد که تفاوت این دو حمله در درگیری مهاجم در سرقت session است . در حمله active مهاجم به دنبال session فعال می گردد و با استفاده از ابزارهای مخصوص sequence number را در TCP session پیش بینی می کند تا session بعدی را به دست بیاورد . در حمله passive مانند استراق سمع است که با استفاده از اطلاعات به دست آمده مانند password مهاجم می تواند یک session جداگانه را ایجاد کند .
Sequence number ها اعداد ۳۲ بیتی هستند که برای ایجاد یک ارتباط امن بسیار مهم هستند و ترتیب ارسال بسته ها را مشخص می کنند و مهاجم باید به طور صحیح sequence number را حدس بزند تا بتواند کنترل session را به دست گیرد . که این حمله در دو سطح network , application انجام می شود .
در سطح network مهاجم با استفاده از جریان داده که توسط همه پروتکل ها به اشتراک گذاشته می شود اطلاعات حیاتی را به دست می آورد اما در سطح application مهاجم session ID را می گیرد تا کنترل آن را به دست گیرد .
مراحل تست و نفوذ در این حمله به این صورت است که ابتدا باید session traffic بین قربانی و سرور را با استفاده از ابزارهایی نظیر wire shark , capsa network Analyzer, Windump و.. شنود کرد و بعد از آن با استفاده از proxy server Trojan تنظیمات proxy را در مرورگر قربانی تغییر داد و بعد از آن با استفاده از ابزارهایی نظیر Burp suite, J Hijack می توان session را به سرقت برد . در مرحله بعد باید session ID را crack کرد اگر URL, HTML, Unicode,… رمز گذاری شده باشند .
باید با استفاده از Brute force session ID بتوان session ID درست را حدس زد .
منبع:
Sean- Philip Orivano,”CEH V9,Certified Ethical Hacker Version 9”, SYBEX publisher, 2016