سرقت ارتباط Telnet

تاریخ انتشار : 1399/05/15 | نویسنده : kernel-panic

سرقت ارتباط Telnet

در این پست قرار است ببینیم که چگونه یک مهاجم درون شبکه، با استفاده از حمله TCP Session Hijacking یک ارتباط Telnet را hijack می کند. سرقت به گونه ای اجرا خواهد شد که مهاجم نیازی به احراز هویت نمودن خود ندارد. به عبارت دیگر از user و password برای برقراری ارتباط Telnet استفاده نمی کند. همچنین قادر است که دستورات دلخواه خود را بر روی Telnet server اجرا نماید و یا حتی ارتباط طرفین را قطع نماید.

 

سناریو مورد نظر:

فرض کنید که کاربر A با آدرس IP: 192.168.2.20 به سرور B با آدرس IP: 192.168.2.10 از طریق Telnet متصل شده است.

 

در این زمان، مهاجم با استفاده از حمله مرد میانی، خود را در میان ارتباط A و B قرار می ­دهد. مطابق تصویر زیر تمامی ترافیک های ارسالی بین آن ها از سیستم مهاجم عبور می کند که مهاجم قادر است تمامی ترافیک را شنود نماید.

 

 

در ادامه خواهیم دید که چگونه مهاجم، با توجه به سناریو فوق، می تواند ارتباط Telnet موجود را hijack کند.

 

مراحل اجرا حمله:

مرحله اول اجرا حمله مرد میانی:

مهاجم می­ تواند از تکنیک ها و ابزارهای موجود برای پیاده سازی حمله مرد میانی استفاده کند تا ترافیک های شبکه را شنود کند. یکی از روش­های موجود، استفاده از تکنیک ARP Poisoning است که با کمک ابزار Ettercap قابل اجرا است.

 

 

 

مرحله دوم شنود ترافیک و استخراج داده های مورد نیاز:

پس از اجرای حمله مرد میانی مهاجم امکان شنود ترافیک های شبکه را دارد. برای شنود ترافیک از ابزارهای مختلفی از جمله Wireshark، TCPDump، WinDump و ... می توان استفاده کرد. سپس ترافیک مورد نظر خود را که مربوط به ترافیک Telnet می ­باشد، پیدا و بررسی می کند. مهاجم اطلاعاتی را برای به سرقت بردن ارتباط Telnet نیاز دارد. داده های مورد نیاز، شامل آدرس IP مبدا (Client)، شماره port مبدا (Client)، آدرس IP مقصد (Server) و شماره port مقصد (Server – به صورت پیش فرض شماره برای telnet شماره 23 می­ باشد) است. در تصویر زیر داده­های نام برده شده مشخص می­ باشد.

 

 

مرحله سوم اجرای  ابزار shijack:

یکی از ابزار های کاربردی در زمینه TCP Session hijacking، ابزار Shijack می­ باشد که از اینجا قابل دسترس می­ باشد. مهاجم با توجه به دستور زیر متناسب با داده های بدست آورده، ابزار نام برده را اجرا می کند:

./shijack-lnx <Interface> <Src. IP> <Src. Port> <Dst. IP> <Dst. Port>

به طور مثال مطابق سناریو تعریف شده مهاجم دستور زیر را اجرا می ­کند:

 

 نکته: بعد از اجرای دستور فوق، ابزار مذکور منتظر می­ شود تا یک بسته از سمت کاربر ارسال شود تا SEQ. Number و ACK. Number را بدست آورد و در آخر Session را به سرقت می­ برد.

حال، مهاجم Session مورد نظر را بدست آورده است و می­ تواند همانند تصویر زیر تمامی دستورات دلخواه خود را اجرا نماید. به طور مثال مهاجم یک پوشه با نام test-hijack می سازد و فایلی با نام hijack.txt ایجاد می­ نماید و در آن عبارت sample text را می ­نویسد.

 

تصویر زیر، نمایی از Server B می­ باشد که صحت اجرای دستورات را نمایش می­ دهد.

 

 

همچنین با استفاده از ابزار مذکور، مهاجم می­ تواند از r- در انتهای دستور خود استفاده نماید تا ارتباط موجود را قطع نماید. [r-] سبب تولید بسته RST می شود و زمانی که به مقصد ارسال شود، Session موجود بین دو طرف بسته می شود.

./shijack-lnx <Interface> <Src. IP> <Src. Port> <Dst. IP> <Dst. Port> -r