مقدمه ای بر حمله با بدافزار

اخطارتمامی مطالب ذکر شده در این مقاله صرفا جنبه­ آموزشی داشته و نویسنده هیچ­گونه مسئولیتی در قبال استفاده نادرست از مطالب را ندارد!واژه «هکر» در گذشته در معنایی متفاوت با امروز به کار گرفته می‌شد و به کسی گفته می‌شد که با دستکاری خلاقانه در وسایل و تجهیزات، عملکرد آن‌ها را بهبود می‌بخشد. این واژه در دهه ۶۰ میلادی وارد حوزه برنامه‌نویسی و امنیت شد و به مرور معنایی متفاوت به خود گرفت: در تعریف امروز هکر کسی‌ست که سعی در ایجاد شکاف در عملکرد دفاعی یک برنامه و استفاده از نقاط ضعف سیستم‌ها یا شبکه‌های کامپیوتری دارد. هکر‌ها قدرت زیادی در کنترل شبکه‌های کامپیوتری دارند.تست نفوذ (Penetration test) به فرآیند شبیه‌سازی یک حمله سایبری بر روی یک سرور یا شبکه کامپیوتری گفته می‌شود. هدف این کار شناسایی نقاط ضعف (یا به عبارتی آسیب‌پذیری‌ها) و نقاط قوت سیستم است تا با رفع مشکلات، از حمله‌های آتی هکرها و بهره‌مندی غیرمجاز آن‌ها از سیستم، جلوگیری به عمل آید.ابزارهای تست نفوذ هم، نرم‌افزارها و اسکریپت‌هایی هستند که به هکرها و متخصصان امنیت کمک می‌کنند تا آسیب‌پذیری‌های مختلف را در سطح اپلیکیشن‌، نرم‌افزار، سرور و شبکه‌ پیدا کنند. تنوع خوبی از این ابزارها را می‌توان در دنیای وب پیدا کرد به خصوص که بسیاری از آن‌ها هم متن‌باز (Open Source) هستند.آزمون تست نفوذ با سیستم‌عامل‌های لینوکسی، همیشه بهترین گزینه برای کارشناسان امنیت و هکرها بوده است. اکثر ابزار‌های تست نفوذ برای نسخه‌های مختلف لینوکس طراحی شده‌اند و بعضی از این توزیع‌ها، خودشان ابزارهای امنیتی متعددی را از قبل برای شما فراهم کرده‌اند.کالی لینوکس یک توزیع مبتنی بر Debian است که در حوزه امنیت بسیار کاربردی است. ابزارهای بسیار زیادی در مخازن این سیستم عامل وجود دارد که می تواند در مراحل آزمون تست نفوذ مورد استفاده کارشناسان قرار گیرد.ما نیز در این مقاله برای تست نفوذ از کالی و برای تولید بدافزار مورد نظر خود از ابزار مهندسی اجتماعی موسوم به سِت Social Engineering Toolkit :: SET که بخشی از فریم ورک قدرتمند متاسپلویت Metasploit است استفاده کرده ایم. هدف این مقاله نفوذ به سیستم قربانی با استفاده از یک بدافزار است.نیازمندی ها:· کالی لینوکس (به عنوان سیستم عامل هکر)· ویندوز 7 (به عنوان سیستم عامل قربانی)· فلش مموری (به عنوان وسیله­ی انتقال بدافزار)· ارتباط تحت شبکه بین هکر و قربانیشماتیک کلی عملیات ماشین قربانی با IP: 192.168.1.7/24 و ماشین هکر با IP:192.168.1.85/24 کانفیگ شده است. ابتدا باید هکر از ماشین قربانی یا هدف Ping بگیرد تا از برقراری ارتباط تحت شبکه مطمئن شود. سپس ابزار SET را اجرا و مراحل را به ترتیب زیر پی می­گیریم.گزینه 1گزینه 4گزینه 2 آدرس IP ماشین هکر و شماره پورت دلخواه را وارد می­کنیم. ما از پورت 80 که برای HTTP است استفاده کرده­ایم.سپس SET شروع به تولید فایل Payload.exe (بدافزار) می­کند. این فایل در مسیر زیر قرار می­گیرد:/root/.set/payload.exe پوشه­ای با نام set. به صورت پیش­فرض در کالی مخفی است. برای مشاهده­ی آن باید در مسیر root از کلید های ترکیبی Ctrl + H استفاده کنید تا پوشه های مخفی قابل رویت شود. سپس این فایل payload را در فلش مموری کپی کرده و به ماشین قربانی منتقل می­کنیم. قبل از اینکه آن را در ماشین قربانی اجرا کنید باید به SET دستور دهید تا شروع به گوش دادن listening در شبکه کند. برای این کار y یا yes را می­نویسیمکمی باید صبر کنیم تا متاسپلویت شروع به کار کند. هر وقت به این مرحله رسیدیم می­توانیم فایل payload را در ماشین قربانی اجرا کنیم. به محض اجرا شدن payload در ماشین هدف، یک نشست session یا ارتباط بین ماشین هدف و هکر برقرار می­شود که در ماشین هکر قابل مشاهده و انتخاب است. بعد از انتخاب نشست session مورد نظر، هکر به ماشین قربانی دسترسی پیدا کرده و می­تواند آن را کنترل کند. در صورت ریستارت شدن ماشین قربانی، این نشست یا ارتباط قطع می­شود. لذا برای برقراری مجدد ارتباط باید قربانی دوباره فایل payload را اجرا کند. در طول یک نشست بین هکر و قربانی، بدافزار ما که همان فایل payload.exe است در سیستم قربانی در حال اجرا و ارسال/دریافت اطلاعات با سیستم هکر است. برای آنکه این نشست خاتمه یابد باید قربانی به صورت دستی و از طریق Task Manager آن را متوقف کند. ارتباط بین هکر و قربانی از نوع TCP بوده و اطلاعات ارسالی/دریافتی با نرم­افزار وایرشارک Wireshark قابل دستگیری و تحلیل است. می­توان از سیستم قربانی shell گرفت. با shell دایرکتوری های ماشین قربانی قابل دسترسی خواهد بود.